Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
ims
Commits
5bf01696
提交
5bf01696
authored
7月 15, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop'
上级
abae01dd
e2acfcdc
全部展开
显示空白字符变更
内嵌
并排
正在显示
56 个修改的文件
包含
1860 行增加
和
83 行删除
+1860
-83
develop.yml
.github/workflows/develop.yml
+1
-1
master.yml
.github/workflows/master.yml
+1
-1
UserAccountSimpleDTO.java
...java/com/mmc/csf/infomation/dto/UserAccountSimpleDTO.java
+2
-0
LicenceGradeDTO.java
...rc/main/java/com/mmc/csf/licence/dto/LicenceGradeDTO.java
+27
-0
LicenceModelsDTO.java
...c/main/java/com/mmc/csf/licence/dto/LicenceModelsDTO.java
+26
-0
LicenceScaleDTO.java
...rc/main/java/com/mmc/csf/licence/dto/LicenceScaleDTO.java
+25
-0
LicenceTypeDTO.java
...src/main/java/com/mmc/csf/licence/dto/LicenceTypeDTO.java
+26
-0
LicenseOrganizationsDTO.java
...java/com/mmc/csf/licence/dto/LicenseOrganizationsDTO.java
+81
-0
LicenseTrainingProgramsDTO.java
...a/com/mmc/csf/licence/dto/LicenseTrainingProgramsDTO.java
+70
-0
LicenseOrganizationsQO.java
...n/java/com/mmc/csf/licence/qo/LicenseOrganizationsQO.java
+63
-0
LicenseOrganizationsVO.java
...n/java/com/mmc/csf/licence/vo/LicenseOrganizationsVO.java
+75
-0
LicenseTrainingProgramsVO.java
...ava/com/mmc/csf/licence/vo/LicenseTrainingProgramsVO.java
+69
-0
DynamicInfoDTO.java
...in/java/com/mmc/csf/release/forum/dto/DynamicInfoDTO.java
+7
-1
Create.java
...src/main/java/com/mmc/csf/release/model/group/Create.java
+8
-5
Update.java
...src/main/java/com/mmc/csf/release/model/group/Update.java
+8
-5
ResultEnum.java
...src/main/java/com/mmc/csf/common/util/web/ResultEnum.java
+11
-6
WXMsgPushUtils.java
.../main/java/com/mmc/csf/common/util/wx/WXMsgPushUtils.java
+48
-0
deployment.yaml
kustomization/base/deployment.yaml
+30
-0
service.yaml
kustomization/base/service.yaml
+0
-2
kustomization.yaml
kustomization/overlays/dev/kustomization.yaml
+5
-5
kustomization.yaml
kustomization/overlays/prod/kustomization.yaml
+7
-7
UserSystemConstant.java
...java/com/mmc/csf/release/constant/UserSystemConstant.java
+40
-0
WxConstant.java
...rc/main/java/com/mmc/csf/release/constant/WxConstant.java
+26
-0
BackstageForumController.java
.../mmc/csf/release/controller/BackstageForumController.java
+9
-2
DynamicController.java
...ava/com/mmc/csf/release/controller/DynamicController.java
+4
-4
LicenceBackgroundController.java
...lease/controller/licence/LicenceBackgroundController.java
+82
-0
LicenceCommonController.java
...f/release/controller/licence/LicenceCommonController.java
+61
-0
DynamicDAO.java
...ice/src/main/java/com/mmc/csf/release/dao/DynamicDAO.java
+5
-1
LicenceBackgroundDao.java
...com/mmc/csf/release/dao/licence/LicenceBackgroundDao.java
+52
-0
LicenceCommonDao.java
...ava/com/mmc/csf/release/dao/licence/LicenceCommonDao.java
+25
-0
ForumDynamicDO.java
...java/com/mmc/csf/release/entity/forum/ForumDynamicDO.java
+31
-9
LicenceGradeDO.java
...va/com/mmc/csf/release/entity/licence/LicenceGradeDO.java
+31
-0
LicenceModelsDO.java
...a/com/mmc/csf/release/entity/licence/LicenceModelsDO.java
+31
-0
LicenceScaleDO.java
...va/com/mmc/csf/release/entity/licence/LicenceScaleDO.java
+30
-0
LicenceTypeDO.java
...ava/com/mmc/csf/release/entity/licence/LicenceTypeDO.java
+30
-0
LicenseOrganizationsDO.java
...mc/csf/release/entity/licence/LicenseOrganizationsDO.java
+122
-0
LicenseProgramsDO.java
...com/mmc/csf/release/entity/licence/LicenseProgramsDO.java
+92
-0
LicenseTrainingProgramsDO.java
...csf/release/entity/licence/LicenseTrainingProgramsDO.java
+68
-0
BackstageForumService.java
...va/com/mmc/csf/release/service/BackstageForumService.java
+3
-1
DynamicService.java
...main/java/com/mmc/csf/release/service/DynamicService.java
+3
-4
WxApiService.java
...c/main/java/com/mmc/csf/release/service/WxApiService.java
+19
-0
BackstageForumServiceImpl.java
...c/csf/release/service/impl/BackstageForumServiceImpl.java
+19
-5
DynamicServiceImpl.java
.../com/mmc/csf/release/service/impl/DynamicServiceImpl.java
+63
-10
WxApiServiceImpl.java
...va/com/mmc/csf/release/service/impl/WxApiServiceImpl.java
+92
-0
LicenceBackgroundService.java
...csf/release/service/licence/LicenceBackgroundService.java
+23
-0
LicenceCommonService.java
...mmc/csf/release/service/licence/LicenceCommonService.java
+18
-0
LicenceBackgroundServiceImpl.java
...se/service/licence/impl/LicenceBackgroundServiceImpl.java
+145
-0
LicenceCommonServiceImpl.java
...elease/service/licence/impl/LicenceCommonServiceImpl.java
+67
-0
application-dev.yml
release-service/src/main/resources/application-dev.yml
+15
-4
application-local.yml
release-service/src/main/resources/application-local.yml
+3
-3
application-prod.yml
release-service/src/main/resources/application-prod.yml
+4
-4
BackstageForumDao.xml
...ice/src/main/resources/mapper/forum/BackstageForumDao.xml
+1
-1
DynamicMapper.xml
...service/src/main/resources/mapper/forum/DynamicMapper.xml
+27
-2
LicenceBackgroundDao.xml
...rc/main/resources/mapper/licence/LicenceBackgroundDao.xml
+0
-0
LicenceCommonDao.xml
...ce/src/main/resources/mapper/licence/LicenceCommonDao.xml
+27
-0
not-check.yml
release-service/src/main/resources/not-check.yml
+2
-0
没有找到文件。
.github/workflows/develop.yml
浏览文件 @
5bf01696
...
...
@@ -88,7 +88,7 @@ jobs:
{
"msgtype": "markdown",
"markdown": {
"content": "###
GitHub构建并推送镜像失败
\n
"content": "###
`GitHub构建并推送镜像失败`
\n
> - 提交人: ${{github.actor}} \n
> - 提交信息: ${{github.event.head_commit.message}} \n
> - 提交到仓库: ${{github.repository}} \n
...
...
.github/workflows/master.yml
浏览文件 @
5bf01696
...
...
@@ -88,7 +88,7 @@ jobs:
{
"msgtype": "markdown",
"markdown": {
"content": "###
GitHub构建并推送镜像失败
\n
"content": "###
`GitHub构建并推送镜像失败`
\n
> - 提交人: ${{github.actor}} \n
> - 提交信息: ${{github.event.head_commit.message}} \n
> - 提交到仓库: ${{github.repository}} \n
...
...
csf-common/csf-common-model/src/main/java/com/mmc/csf/infomation/dto/UserAccountSimpleDTO.java
浏览文件 @
5bf01696
...
...
@@ -34,6 +34,8 @@ public class UserAccountSimpleDTO implements Serializable {
private
String
nickName
;
@ApiModelProperty
(
value
=
"用户头像"
)
private
String
userImg
;
@ApiModelProperty
(
value
=
"openid"
)
private
String
openid
;
@ApiModelProperty
(
value
=
"用户性别:0未知、1男、2女"
)
private
Integer
userSex
;
@ApiModelProperty
(
value
=
"用户邮箱"
)
...
...
csf-common/csf-common-model/src/main/java/com/mmc/csf/licence/dto/LicenceGradeDTO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
licence
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author small
* @Date 2023/7/13 14:42
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenceGradeDTO
{
private
static
final
long
serialVersionUID
=
-
4791023169682602298L
;
@ApiModelProperty
(
value
=
"执照等级id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"执照等级名称"
)
private
String
name
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/licence/dto/LicenceModelsDTO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
licence
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author small
* @Date 2023/7/13 14:45
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenceModelsDTO
{
private
static
final
long
serialVersionUID
=
-
4791023169682602298L
;
@ApiModelProperty
(
value
=
"执照机型id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"执照机型名称"
)
private
String
name
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/licence/dto/LicenceScaleDTO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
licence
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author small
* @Date 2023/7/13 14:46
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenceScaleDTO
{
private
static
final
long
serialVersionUID
=
-
4791023169682602298L
;
@ApiModelProperty
(
value
=
"执照机构规模id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"执照机构规模名称"
)
private
String
name
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/licence/dto/LicenceTypeDTO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
licence
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author small
* @Date 2023/7/13 14:46
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenceTypeDTO
{
private
static
final
long
serialVersionUID
=
-
4791023169682602298L
;
@ApiModelProperty
(
value
=
"执照类型id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"执照类型名称"
)
private
String
name
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/licence/dto/LicenseOrganizationsDTO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
licence
.
dto
;
import
com.mmc.csf.release.model.group.Create
;
import
com.mmc.csf.release.model.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
java.util.List
;
/**
* @Author small
* @Date 2023/7/14 16:51
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenseOrganizationsDTO
{
private
static
final
long
serialVersionUID
=
-
5814724843819090363L
;
@ApiModelProperty
(
value
=
"机构id"
,
example
=
"1"
)
@NotNull
(
message
=
"机构id"
,
groups
=
Update
.
class
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"机构主图不能为空"
,
example
=
"http://"
,
required
=
true
)
@NotBlank
(
message
=
"机构主图不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
mainImage
;
@ApiModelProperty
(
value
=
"机构副图不能为空"
,
example
=
"http://"
,
required
=
true
)
@NotBlank
(
message
=
"机构副图不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
auxiliaryPicture
;
@ApiModelProperty
(
value
=
"机构视频"
,
example
=
"http://"
)
private
String
video
;
@ApiModelProperty
(
value
=
"机构名称不能为空"
,
example
=
"科比特智能教育"
,
required
=
true
)
@NotBlank
(
message
=
"机构名称不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
@Size
(
max
=
25
,
message
=
"机构名称不能超过25个字符"
)
private
String
name
;
@ApiModelProperty
(
name
=
"机构地区"
,
example
=
"110000,110100"
)
@NotBlank
(
message
=
"机构地区不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
region
;
@ApiModelProperty
(
name
=
"机构地区名称"
,
example
=
"河北省,石家庄市"
,
required
=
true
)
@NotBlank
(
message
=
"机构地区名称"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
regionName
;
@ApiModelProperty
(
name
=
"机构详细地址"
,
example
=
"南山区"
)
@NotBlank
(
message
=
"机构详细地址不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
detailedAddress
;
@ApiModelProperty
(
name
=
"是否是考点机构 0否 1是"
,
example
=
"0"
,
required
=
true
)
@NotNull
(
message
=
"考点机构不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
testCenter
;
@ApiModelProperty
(
name
=
"机构规模id不能为空 "
,
example
=
"1"
)
//@NotNull(message = "机构规模id不能为空", groups = {Create.class, Update.class})
private
Integer
scaleId
;
@ApiModelProperty
(
name
=
"机构规模名称"
,
example
=
"1"
)
private
String
scaleName
;
@ApiModelProperty
(
name
=
"机构描述"
,
example
=
"机构描述0001"
)
//@NotNull(message = "机构描述", groups = {Create.class, Update.class})
private
String
description
;
@ApiModelProperty
(
name
=
"机构详情"
,
example
=
"机构详情0001"
)
//@NotNull(message = "机构描述", groups = {Create.class, Update.class})
private
String
detail
;
@ApiModelProperty
(
name
=
"培训项目"
,
required
=
false
)
private
List
<
LicenseTrainingProgramsDTO
>
programsDOList
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/licence/dto/LicenseTrainingProgramsDTO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
licence
.
dto
;
import
com.mmc.csf.release.model.group.Create
;
import
com.mmc.csf.release.model.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
/**
* @Author small
* @Date 2023/7/14 13:30
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenseTrainingProgramsDTO
{
private
static
final
long
serialVersionUID
=
-
5814724843819090363L
;
@ApiModelProperty
(
value
=
"培训id"
,
example
=
"1"
)
@NotNull
(
message
=
"培训id不能为空"
,
groups
=
Update
.
class
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"培训等级id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训等级id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
gradeId
;
@ApiModelProperty
(
value
=
"培训等级名称"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训等级名称不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
gradeName
;
@ApiModelProperty
(
value
=
"培训机型id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训机型id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
modelsId
;
@ApiModelProperty
(
value
=
"培训机型名称"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训机型名称不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
modelsName
;
@ApiModelProperty
(
value
=
"培训类型id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训类型id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
typeId
;
@ApiModelProperty
(
value
=
"培训类型名称"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训类型名称"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
typeName
;
@ApiModelProperty
(
value
=
"培训价格"
,
example
=
"1000"
,
required
=
true
)
@NotNull
(
message
=
"培训价格不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
@Size
(
min
=
0
,
max
=
100000
,
message
=
"价格不能超过100000"
)
private
Integer
price
;
@ApiModelProperty
(
value
=
"培训地点不能为空"
,
example
=
"广东省深圳市南山区XXX001"
,
required
=
true
)
@NotBlank
(
message
=
"培训地点不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
place
;
@ApiModelProperty
(
value
=
"培训主图不能为空"
,
example
=
"http://"
,
required
=
true
)
@NotBlank
(
message
=
"培训主图不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
mainImage
;
@ApiModelProperty
(
value
=
"机构id"
,
example
=
"http://"
,
required
=
true
)
@NotBlank
(
message
=
"机构id"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
orgId
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/licence/qo/LicenseOrganizationsQO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
licence
.
qo
;
import
com.mmc.csf.release.model.group.Freeze
;
import
com.mmc.csf.release.model.group.Page
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
/**
* @Author small
* @Date 2023/7/14 16:58
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenseOrganizationsQO
{
@ApiModelProperty
(
value
=
"机构名称不能为空"
,
example
=
"科比特智能教育"
,
required
=
false
)
private
String
name
;
@ApiModelProperty
(
value
=
"培训等级id"
,
example
=
"1"
,
required
=
false
)
private
Integer
gradeId
;
@ApiModelProperty
(
value
=
"培训机型id"
,
example
=
"1"
,
required
=
false
)
private
Integer
modelsId
;
@ApiModelProperty
(
value
=
"培训类型id"
,
example
=
"1"
,
required
=
false
)
private
Integer
typeId
;
@ApiModelProperty
(
value
=
"开始时间,如果只有一个日期,就开始时间与结束时间一致"
,
example
=
"2023-07-14"
,
required
=
false
)
private
String
statTime
;
@ApiModelProperty
(
value
=
"结束时间"
,
example
=
"2023-07-14"
,
required
=
false
)
private
String
endTime
;
@ApiModelProperty
(
value
=
"机构id"
,
example
=
"1"
,
required
=
false
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"地域region"
,
example
=
"110000"
,
required
=
false
)
private
String
region
;
@ApiModelProperty
(
value
=
"当前页"
,
required
=
true
,
example
=
"1"
)
@NotNull
(
message
=
"当前页不能为空"
,
groups
=
{
Page
.
class
,
Freeze
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageNo
;
@ApiModelProperty
(
value
=
"页大小"
,
required
=
true
,
example
=
"10"
)
@NotNull
(
message
=
"页大小不能为空"
,
groups
=
{
Page
.
class
,
Freeze
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageSize
;
public
void
buildCurrentPage
()
{
this
.
pageNo
=
(
pageNo
-
1
)
*
pageSize
;
}
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/licence/vo/LicenseOrganizationsVO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
licence
.
vo
;
import
com.mmc.csf.release.model.group.Create
;
import
com.mmc.csf.release.model.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
java.util.List
;
/**
* @Author small
* @Date 2023/7/13 16:07
* @Version 1.0
*/
@Data
public
class
LicenseOrganizationsVO
{
private
static
final
long
serialVersionUID
=
-
5814724843819090363L
;
@ApiModelProperty
(
value
=
"机构id"
,
example
=
"1"
)
@NotNull
(
message
=
"机构id"
,
groups
=
Update
.
class
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"机构主图不能为空"
,
example
=
"http://"
,
required
=
true
)
@NotBlank
(
message
=
"机构主图不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
mainImage
;
@ApiModelProperty
(
value
=
"机构副图不能为空"
,
example
=
"http://"
,
required
=
true
)
@NotBlank
(
message
=
"机构副图不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
auxiliaryPicture
;
@ApiModelProperty
(
value
=
"机构视频"
,
example
=
"http://"
)
private
String
video
;
@ApiModelProperty
(
value
=
"机构名称不能为空"
,
example
=
"科比特智能教育"
,
required
=
true
)
@NotBlank
(
message
=
"机构名称不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
@Size
(
max
=
25
,
message
=
"机构名称不能超过25个字符"
)
private
String
name
;
@ApiModelProperty
(
name
=
"机构地区编号"
,
example
=
"110000,130100"
,
required
=
true
)
@NotBlank
(
message
=
"机构地区不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
region
;
@ApiModelProperty
(
name
=
"机构地区名称"
,
example
=
"河北省,石家庄市"
,
required
=
true
)
@NotBlank
(
message
=
"机构地区名称"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
regionName
;
@ApiModelProperty
(
name
=
"机构详细地址"
,
example
=
"南山区"
,
required
=
true
)
@NotBlank
(
message
=
"机构详细地址不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
detailedAddress
;
@ApiModelProperty
(
name
=
"是否是考点机构 0否 1是"
,
example
=
"0"
,
required
=
true
)
@NotNull
(
message
=
"考点机构不能为空 0否 1是"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
testCenter
;
@ApiModelProperty
(
name
=
"机构规模id不能为空"
,
example
=
"1"
)
//@NotNull(message = "机构规模id不能为空", groups = {Create.class, Update.class})
private
Integer
scaleId
;
@ApiModelProperty
(
name
=
"机构描述"
,
example
=
"机构描述0001"
)
//@NotNull(message = "机构描述", groups = {Create.class, Update.class})
private
String
description
;
@ApiModelProperty
(
name
=
"机构详情"
,
example
=
"机构详情0001"
,
required
=
true
)
@NotNull
(
message
=
"机构详情"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
detail
;
@ApiModelProperty
(
name
=
"培训项目"
,
required
=
true
)
@NotNull
(
message
=
"培训项目"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
List
<
LicenseTrainingProgramsVO
>
trainingProgramsVOS
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/licence/vo/LicenseTrainingProgramsVO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
licence
.
vo
;
import
com.mmc.csf.release.model.group.Create
;
import
com.mmc.csf.release.model.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Range
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.util.Objects
;
/**
* @Author small
* @Date 2023/7/14 11:12
* @Version 1.0
*/
@Data
public
class
LicenseTrainingProgramsVO
{
private
static
final
long
serialVersionUID
=
-
5814724843819090363L
;
@ApiModelProperty
(
value
=
"培训id"
,
example
=
"1"
)
@NotNull
(
message
=
"培训id不能为空"
,
groups
=
Update
.
class
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"培训等级id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训等级id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
gradeId
;
@ApiModelProperty
(
value
=
"培训机型id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训机型id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
modelsId
;
@ApiModelProperty
(
value
=
"培训类型id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训类型id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
typeId
;
@ApiModelProperty
(
value
=
"培训价格"
,
example
=
"1000"
,
required
=
true
)
@NotNull
(
message
=
"培训价格不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
@Range
(
min
=
0
,
max
=
100000
,
message
=
"价格不能超过100000"
)
private
Integer
price
;
@ApiModelProperty
(
value
=
"培训地点不能为空"
,
example
=
"广东省深圳市南山区XXX001"
,
required
=
true
)
@NotBlank
(
message
=
"培训地点不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
place
;
@ApiModelProperty
(
value
=
"培训主图不能为空"
,
example
=
"http://"
,
required
=
true
)
@NotBlank
(
message
=
"培训主图不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
mainImage
;
@ApiModelProperty
(
value
=
"机构id"
,
hidden
=
true
)
private
Integer
orgId
;
@Override
public
boolean
equals
(
Object
train
)
{
LicenseTrainingProgramsVO
programsVO
=
(
LicenseTrainingProgramsVO
)
train
;
if
(
this
.
gradeId
.
equals
(
programsVO
.
getGradeId
())
&&
this
.
modelsId
.
equals
(
programsVO
.
getModelsId
())
&&
this
.
typeId
.
equals
(
programsVO
.
getTypeId
()))
{
return
true
;
}
else
{
return
false
;
}
}
@Override
public
int
hashCode
()
{
return
Objects
.
hash
(
gradeId
,
modelsId
,
typeId
);
}
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/forum/dto/DynamicInfoDTO.java
浏览文件 @
5bf01696
...
...
@@ -11,9 +11,9 @@ import lombok.Builder;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
/**
* @Author LW
*
* @date 2023/6/19 14:25 概要:
*/
@Data
...
...
@@ -38,4 +38,10 @@ public class DynamicInfoDTO {
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"动态发布时间"
)
private
Date
dynamicPublishTime
;
@ApiModelProperty
(
value
=
"审核状态:0审核中 1通过 2未通过"
)
private
Integer
checkStatus
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/model/group/Create.java
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
model
.
group
;
import
javax.validation.groups.Default
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月28日 下午5:37:44
* @explain 类说明
*/
public
@interface
Create
{
* @author 作者 geDuo
* @version 创建时间:2021年8月28日 下午5:37:44
* @explain 类说明
*/
public
interface
Create
extends
Default
{
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/model/group/Update.java
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
model
.
group
;
import
javax.validation.groups.Default
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月28日 下午5:37:52
* @explain 类说明
*/
public
@interface
Update
{
* @author 作者 geDuo
* @version 创建时间:2021年8月28日 下午5:37:52
* @explain 类说明
*/
public
interface
Update
extends
Default
{
}
csf-common/csf-common-util/src/main/java/com/mmc/csf/common/util/web/ResultEnum.java
浏览文件 @
5bf01696
...
...
@@ -382,14 +382,14 @@ public enum ResultEnum implements BaseErrorInfoInterface {
SCORE_ERROR
(
"40177"
,
"您输入的积分数量有误,请重新输入!"
),
PLEASE_FILL_IN_THE_CONTRACT_TEMPLATE_FIRST
(
"40178"
,
"请先填充合同模板!"
),
SCORE_NOT_GIVE_MYSELF
(
"40179"
,
"积分不能转赠给本人,请重新操作"
),
SCORE_NOT_GIVE_MYSELF
(
"40179"
,
"积分不能转赠给本人,请重新操作"
),
ALREADY_FINISH_ENT_AUTH_ERROR
(
"2000"
,
"助力已完成!"
),
SYSTEM_ERROR
(
"2001"
,
"系统错误,请稍后重试"
)
,
RULE_ERROR
(
"2002"
,
"当前兑换比例已失效,请刷新后重试"
),
SYSTEM_ERROR
(
"2001"
,
"系统错误,请稍后重试"
)
,
RULE_ERROR
(
"2002"
,
"当前兑换比例已失效,请刷新后重试"
),
COUNT_LIMIT_ERROR
(
"2003"
,
"参与次数已达上线"
),
ALREADY_ENT_AUTH_ERROR
(
"2004"
,
"助力失败,您已完成企业认证!"
),
ALREADY_REAL_NAME_AUTH_ERROR
(
"2005"
,
"助力失败,您已完成实名认证!"
),
ALREADY_ENT_AUTH_ERROR
(
"2004"
,
"助力失败,您已完成企业认证!"
),
ALREADY_REAL_NAME_AUTH_ERROR
(
"2005"
,
"助力失败,您已完成实名认证!"
),
PARTICIPATE_BUT_NOT_AUTH_ERROR
(
"2006"
,
"待完成授权或认证"
),
ALREADY_HELP_ERROR
(
"2007"
,
"已助力"
),
ALREADY_STOP_ERROR
(
"2008"
,
"活动已下线"
),
...
...
@@ -399,7 +399,12 @@ public enum ResultEnum implements BaseErrorInfoInterface {
DIVIDE_OBJ_NOT_EXIST
(
"2012"
,
"先点击确认添加分成对象"
),
// 新闻行业
INDUSTRY_NEWS_TITLE_EXISTS
(
"40200"
,
"文章标题存在"
);
INDUSTRY_NEWS_TITLE_EXISTS
(
"40200"
,
"文章标题存在"
),
// 论坛
DYNAMIC_SENSITIVE_INFO
(
"50100"
,
"发布信息涉及敏感信息!"
),
THE_ORGANIZATION_NAME_ALREADY_EXISTS
(
"60001"
,
"机构名称已存在"
),
THREE_FIELDS_CAN_BE_REPEATED
(
"60002"
,
"机型、等级、价格存在重复"
);
/**
* 错误码
*
...
...
csf-common/csf-common-util/src/main/java/com/mmc/csf/common/util/wx/WXMsgPushUtils.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
common
.
util
.
wx
;
import
java.security.MessageDigest
;
import
java.util.Arrays
;
public
class
WXMsgPushUtils
{
/**
* 用SHA1算法生成安全签名
*/
public
static
String
getSHA1
(
String
...
values
)
throws
Exception
{
try
{
String
[]
array
=
new
String
[
values
.
length
];
for
(
int
i
=
0
;
i
<
values
.
length
;
i
++)
{
array
[
i
]
=
values
[
i
];
}
StringBuffer
sb
=
new
StringBuffer
();
// 字符串排序
Arrays
.
sort
(
array
);
for
(
int
i
=
0
;
i
<
values
.
length
;
i
++)
{
sb
.
append
(
array
[
i
]);
}
String
str
=
sb
.
toString
();
// SHA1签名生成
MessageDigest
md
=
MessageDigest
.
getInstance
(
"SHA-1"
);
md
.
update
(
str
.
getBytes
());
byte
[]
digest
=
md
.
digest
();
StringBuffer
hexstr
=
new
StringBuffer
();
String
shaHex
=
""
;
for
(
int
i
=
0
;
i
<
digest
.
length
;
i
++)
{
shaHex
=
Integer
.
toHexString
(
digest
[
i
]
&
0xFF
);
if
(
shaHex
.
length
()
<
2
)
{
hexstr
.
append
(
0
);
}
hexstr
.
append
(
shaHex
);
}
return
hexstr
.
toString
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
Exception
(
"SHA1加密失败"
);
}
}
}
\ No newline at end of file
kustomization/base/deployment.yaml
浏览文件 @
5bf01696
...
...
@@ -53,6 +53,36 @@ spec:
configMapKeyRef
:
name
:
ims-map
key
:
SW_AGENT_NAME
-
name
:
MYSQL_PASSWORD
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
MYSQL_PASSWORD
-
name
:
REDIS_PASSWORD
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
REDIS_PASSWORD
-
name
:
OSS_ACCESS_KEY_SECRET
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
OSS_ACCESS_KEY_SECRET
-
name
:
WECHAT_SUB_SECRET
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
WECHAT_SUB_SECRET
-
name
:
WECHAT_APPLET_SECRET
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
WECHAT_APPLET_SECRET
-
name
:
RABBITMQ_PASSWORD
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
RABBITMQ_PASSWORD
volumes
:
-
name
:
log-of-app
hostPath
:
...
...
kustomization/base/service.yaml
浏览文件 @
5bf01696
...
...
@@ -6,7 +6,6 @@ metadata:
spec
:
selector
:
app
:
ims
type
:
NodePort
ports
:
-
protocol
:
TCP
port
:
10001
\ No newline at end of file
kustomization/overlays/dev/kustomization.yaml
浏览文件 @
5bf01696
...
...
@@ -11,11 +11,11 @@ commonAnnotations:
patches
:
-
path
:
./increase_replicas.yaml
-
path
:
./configMap.yaml
-
path
:
./service-patch.yaml
target
:
kind
:
Service
name
:
ims-svc
#
- path: ./service-patch.yaml
#
target:
#
kind: Service
#
name: ims-svc
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/ims
newTag
:
afd137bc09338fd83c1f801db939452625f234d5
newTag
:
533f6e1055f6df81c13c487255ce13cff5add01d
kustomization/overlays/prod/kustomization.yaml
浏览文件 @
5bf01696
apiVersion
:
kustomize.config.k8s.io/v1beta1
kind
:
Kustomization
resources
:
-
../../base
-
../../base
namespace
:
prod
#namePrefix: prod-
commonLabels
:
...
...
@@ -9,12 +9,12 @@ commonLabels:
commonAnnotations
:
note
:
This is prod!
patches
:
-
path
:
increase_replicas.yaml
-
path
:
configMap.yaml
-
path
:
service-patch.yaml
target
:
kind
:
Service
name
:
ims-svc
-
path
:
increase_replicas.yaml
-
path
:
configMap.yaml
#
- path: service-patch.yaml
#
target:
#
kind: Service
#
name: ims-svc
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly/ims
...
...
release-service/src/main/java/com/mmc/csf/release/constant/UserSystemConstant.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
constant
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
/**
* @author: zj
* @Date: 2023/5/16 13:34
*/
@Data
@Component
public
class
UserSystemConstant
{
@Value
(
"${wx.app.id}"
)
private
String
wxAppId
;
@Value
(
"${wx.app.secret}"
)
private
String
wxAppSecret
;
@Value
(
"${wx.app.miniprogram-state}"
)
private
String
miniProgramState
;
@Value
(
"${wx.app.env-version}"
)
private
String
envVersion
;
@Value
(
"${wx.sub.appid}"
)
private
String
wxSubAppId
;
@Value
(
"${wx.sub.secret}"
)
private
String
wxSubSecret
;
// @Value("${third-party.ali.app-code}")
// private String aliAppCode;
//
// @Value("${third-party.qcc.app-key}")
// private String qccAppKey;
//
// @Value("${third-party.qcc.secret-key}")
// private String qccSecretKey;
}
release-service/src/main/java/com/mmc/csf/release/constant/WxConstant.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
constant
;
/**
* @author: zj
* @Date: 2023/5/16 16:02
*/
public
class
WxConstant
{
public
static
final
Integer
APP
=
0
;
public
static
final
Integer
WEB
=
1
;
public
static
final
Integer
LABEL_DATA
=
100
;
public
static
final
String
CODE2_SESSION_URL
=
"https://api.weixin.qq.com/sns/jscode2session"
;
public
static
final
String
GRANT_TYPE
=
"authorization_code"
;
public
static
final
String
ACCESS_TOKEN_URL
=
"https://api.weixin.qq.com/sns/oauth2/access_token"
;
public
static
final
String
OPEN_ID
=
"openid"
;
public
static
final
String
UNION_ID
=
"unionid"
;
public
static
final
String
SESSION_KEY
=
"session_key"
;
public
final
static
String
subscribe
=
"subscribe"
;
public
final
static
String
unsubscribe
=
"unsubscribe"
;
public
static
final
String
IUAV_MINI_PROGRAM_ACCESS_TOKEN
=
"IUAV_MINI_PROGRAM_ACCESS_TOKEN"
;
public
static
final
String
SHARE_FLY_SUB_ACCESS_TOKEN
=
"SHARE_FLY_SUB_ACCESS_TOKEN"
;
public
static
final
String
IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN
=
"IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN"
;
public
static
final
String
RESULT
=
"result"
;
public
static
final
String
LABEL
=
"label"
;
}
release-service/src/main/java/com/mmc/csf/release/controller/BackstageForumController.java
浏览文件 @
5bf01696
...
...
@@ -18,7 +18,6 @@ import io.swagger.annotations.ApiResponses;
/**
* @Author LW
*
* @date 2023/6/19 10:44 概要:
*/
@Api
(
tags
=
{
"后台-论坛管理-模块"
})
...
...
@@ -26,7 +25,8 @@ import io.swagger.annotations.ApiResponses;
@RequestMapping
(
"/backstage/forum"
)
public
class
BackstageForumController
{
@Autowired
BackstageForumService
backstageForumService
;
@Autowired
BackstageForumService
backstageForumService
;
@ApiOperation
(
value
=
"后台-动态列表"
)
@PostMapping
(
"/listDynamic"
)
...
...
@@ -56,4 +56,11 @@ public class BackstageForumController {
public
ResultBody
likeUserInfo
(
@RequestParam
Integer
dynamicId
,
HttpServletRequest
request
)
{
return
backstageForumService
.
likeUserInfo
(
dynamicId
,
request
);
}
@ApiOperation
(
value
=
"审核动态"
)
@GetMapping
(
"/checkDynamic"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
public
ResultBody
checkDynamic
(
@RequestParam
Integer
dynamicId
,
@RequestParam
Boolean
status
)
{
return
backstageForumService
.
checkDynamic
(
dynamicId
,
status
);
}
}
release-service/src/main/java/com/mmc/csf/release/controller/DynamicController.java
浏览文件 @
5bf01696
...
...
@@ -14,7 +14,6 @@ import io.swagger.annotations.*;
/**
* @Author LW
*
* @date 2023/5/15 10:29 概要:动态信息控制层
*/
@Api
(
tags
=
{
"web-小程序-论坛社区-模块"
})
...
...
@@ -22,14 +21,15 @@ import io.swagger.annotations.*;
@RequestMapping
(
"/dynamic"
)
public
class
DynamicController
extends
BaseController
{
@Resource
private
DynamicService
dynamicService
;
@Resource
private
DynamicService
dynamicService
;
@ApiOperation
(
value
=
"动态发布"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/publish"
)
public
ResultBody
publishDynamic
(
@RequestBody
DynamicVO
dynamicVO
,
HttpServletRequest
request
)
{
return
dynamicService
.
insertDynamic
(
dynamicVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
()
);
dynamicVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
request
);
}
@ApiOperation
(
value
=
"点赞或取消点赞"
)
...
...
@@ -46,7 +46,7 @@ public class DynamicController extends BaseController {
@PostMapping
(
"/comment"
)
public
ResultBody
commentDynamic
(
@RequestBody
CommentVO
commentVO
,
HttpServletRequest
request
)
{
return
dynamicService
.
commentDynamic
(
commentVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
()
);
commentVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
request
);
}
@ApiOperation
(
value
=
"删除评论"
)
...
...
release-service/src/main/java/com/mmc/csf/release/controller/licence/LicenceBackgroundController.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
controller
.
licence
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.licence.dto.LicenseOrganizationsDTO
;
import
com.mmc.csf.licence.qo.LicenseOrganizationsQO
;
import
com.mmc.csf.licence.vo.LicenseOrganizationsVO
;
import
com.mmc.csf.release.controller.BaseController
;
import
com.mmc.csf.release.model.group.Create
;
import
com.mmc.csf.release.model.group.Page
;
import
com.mmc.csf.release.model.group.Update
;
import
com.mmc.csf.release.service.licence.LicenceBackgroundService
;
import
io.swagger.annotations.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @Author small
* @Date 2023/7/13 16:00
* @Version 1.0
*/
@Api
(
tags
=
{
"执照——后台管理"
})
@RestController
@RequestMapping
(
"/licence/background"
)
public
class
LicenceBackgroundController
extends
BaseController
{
@Autowired
private
LicenceBackgroundService
licenceBackgroundService
;
@ApiOperation
(
value
=
"机构-上传"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/insertOrg"
)
public
ResultBody
insertOrganizations
(
HttpServletRequest
request
,
@RequestBody
@Validated
(
value
=
{
Create
.
class
})
LicenseOrganizationsVO
organizations
)
{
return
licenceBackgroundService
.
insertOrganizations
(
organizations
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"机构-修改"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/updateOrg"
)
public
ResultBody
updateOrganizations
(
HttpServletRequest
request
,
@RequestBody
@Validated
(
value
=
{
Update
.
class
})
LicenseOrganizationsVO
organizations
)
{
return
licenceBackgroundService
.
updateOrganizations
(
organizations
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"机构-删除"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/removeOrg"
)
public
ResultBody
removeOrganizations
(
@ApiParam
(
value
=
"机构id"
,
required
=
true
)
@RequestParam
Integer
id
)
{
return
licenceBackgroundService
.
removeOrganizations
(
id
);
}
@ApiOperation
(
value
=
"机构列表-分页"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LicenseOrganizationsDTO
.
class
)})
@PostMapping
(
"/listOrgPage"
)
public
ResultBody
<
LicenseOrganizationsDTO
>
listOrgPage
(
HttpServletRequest
request
,
@Validated
(
value
=
{
Page
.
class
})
@ApiParam
(
value
=
"角色查询QO"
,
required
=
true
)
@RequestBody
LicenseOrganizationsQO
organizationsQO
)
{
return
ResultBody
.
success
(
licenceBackgroundService
.
listOrgPage
(
organizationsQO
,
this
.
getUserLoginInfoFromRedis
(
request
)));
}
@ApiOperation
(
value
=
"app机构列表-分页"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LicenseOrganizationsDTO
.
class
)})
@PostMapping
(
"/appListOrgPage"
)
public
ResultBody
<
LicenseOrganizationsDTO
>
appListOrgPage
(
HttpServletRequest
request
,
@Validated
(
value
=
{
Page
.
class
})
@ApiParam
(
value
=
"角色查询QO"
,
required
=
true
)
@RequestBody
LicenseOrganizationsQO
organizationsQO
)
{
return
ResultBody
.
success
(
licenceBackgroundService
.
listOrgPage
(
organizationsQO
,
this
.
getUserLoginInfoFromRedis
(
request
)));
}
@ApiOperation
(
value
=
"web机构列表-分页"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LicenseOrganizationsDTO
.
class
)})
@PostMapping
(
"/webListOrgPage"
)
public
ResultBody
<
LicenseOrganizationsDTO
>
webListOrgPage
(
HttpServletRequest
request
,
@Validated
(
value
=
{
Page
.
class
})
@ApiParam
(
value
=
"角色查询QO"
,
required
=
true
)
@RequestBody
LicenseOrganizationsQO
organizationsQO
)
{
return
ResultBody
.
success
(
licenceBackgroundService
.
listOrgPage
(
organizationsQO
,
this
.
getUserLoginInfoFromRedis
(
request
)));
}
}
release-service/src/main/java/com/mmc/csf/release/controller/licence/LicenceCommonController.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
controller
.
licence
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.licence.dto.LicenceGradeDTO
;
import
com.mmc.csf.licence.dto.LicenceModelsDTO
;
import
com.mmc.csf.licence.dto.LicenceScaleDTO
;
import
com.mmc.csf.licence.dto.LicenceTypeDTO
;
import
com.mmc.csf.release.service.licence.LicenceCommonService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @Author small
* @Date 2023/7/13 14:32
* @Version 1.0
*/
@Api
(
tags
=
{
"执照——公共下拉列表"
})
@RestController
@RequestMapping
(
"/licence/pullDown"
)
public
class
LicenceCommonController
{
@Autowired
private
LicenceCommonService
licenceCommonService
;
@ApiOperation
(
value
=
"公共——执照等级"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LicenceGradeDTO
.
class
)})
@GetMapping
(
"/licenceGradeList"
)
public
ResultBody
<
LicenceGradeDTO
>
licenceGradeList
()
{
return
licenceCommonService
.
licenceGradeList
();
}
@ApiOperation
(
value
=
"公共——执照机型"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LicenceModelsDTO
.
class
)})
@GetMapping
(
"/licenceModelsList"
)
public
ResultBody
<
LicenceModelsDTO
>
licenceModelsList
()
{
return
licenceCommonService
.
licenceModelsList
();
}
@ApiOperation
(
value
=
"公共——执照类型"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LicenceModelsDTO
.
class
)})
@GetMapping
(
"/licenceTypeList"
)
public
ResultBody
<
LicenceTypeDTO
>
licenceTypeList
()
{
return
licenceCommonService
.
licenceTypeList
();
}
@ApiOperation
(
value
=
"不是公共——新增执照机构规模id"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LicenceScaleDTO
.
class
)})
@GetMapping
(
"/licenceScaleList"
)
public
ResultBody
<
LicenceScaleDTO
>
licenceScaleList
()
{
return
licenceCommonService
.
licenceScaleList
();
}
}
release-service/src/main/java/com/mmc/csf/release/dao/DynamicDAO.java
浏览文件 @
5bf01696
...
...
@@ -11,7 +11,6 @@ import com.mmc.csf.release.entity.forum.ForumVideoDO;
/**
* @Author LW
*
* @date 2023/5/15 10:29 概要:动态信息数据访问层
*/
@Mapper
...
...
@@ -139,8 +138,13 @@ public interface DynamicDAO {
/**
* 查询动态详情
*
* @param dynamicId
* @return
*/
ForumDynamicDO
getDynamicInfoById
(
Integer
dynamicId
);
List
<
ForumDynamicDO
>
firstTwoItemsComment
(
List
<
Integer
>
ids
);
void
updateCheckDynamic
(
Integer
dynamicId
,
Integer
status
);
}
release-service/src/main/java/com/mmc/csf/release/dao/licence/LicenceBackgroundDao.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
dao
.
licence
;
import
com.mmc.csf.licence.qo.LicenseOrganizationsQO
;
import
com.mmc.csf.release.entity.licence.LicenseOrganizationsDO
;
import
com.mmc.csf.release.entity.licence.LicenseProgramsDO
;
import
com.mmc.csf.release.entity.licence.LicenseTrainingProgramsDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @Author small
* @Date 2023/7/13 16:02
* @Version 1.0
*/
@Mapper
public
interface
LicenceBackgroundDao
{
int
countOrg
(
String
name
);
void
insertOrganizations
(
LicenseOrganizationsDO
organizationsDO
);
void
insertLicenseOrgTraining
(
List
<
Integer
>
orgTrainingIds
,
Integer
orgId
);
int
countId
(
LicenseOrganizationsDO
organizationsDO
);
void
removeOrgAndTraining
(
Integer
id
);
void
updateOrganizations
(
LicenseOrganizationsDO
organizationsDO
);
void
removeOrganizations
(
Integer
id
);
void
removeOrgTraining
(
Integer
id
);
int
countPro
(
Integer
modelsId
,
Integer
gradeId
,
Integer
typeId
,
Integer
id
);
void
insertProject
(
LicenseTrainingProgramsDO
programsDO
);
void
updateProject
(
LicenseTrainingProgramsDO
programsDO
);
void
removeProject
(
Integer
id
);
List
<
LicenseProgramsDO
>
LicenseTrainingProgramsDTO
(
Integer
id
);
int
countListOrgPage
(
LicenseOrganizationsQO
organizationsQO
);
List
<
LicenseOrganizationsDO
>
listOrgPage
(
LicenseOrganizationsQO
organizationsQO
);
List
<
LicenseProgramsDO
>
trainingProgram
(
LicenseOrganizationsQO
organizationsQO
);
int
removeOrg
(
Integer
id
);
}
release-service/src/main/java/com/mmc/csf/release/dao/licence/LicenceCommonDao.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
dao
.
licence
;
import
com.mmc.csf.release.entity.licence.LicenceGradeDO
;
import
com.mmc.csf.release.entity.licence.LicenceModelsDO
;
import
com.mmc.csf.release.entity.licence.LicenceScaleDO
;
import
com.mmc.csf.release.entity.licence.LicenceTypeDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @Author small
* @Date 2023/7/13 14:35
* @Version 1.0
*/
@Mapper
public
interface
LicenceCommonDao
{
List
<
LicenceGradeDO
>
licenceGradeList
();
List
<
LicenceModelsDO
>
licenceModelsList
();
List
<
LicenceTypeDO
>
licenceTypeList
();
List
<
LicenceScaleDO
>
licenceScaleList
();
}
release-service/src/main/java/com/mmc/csf/release/entity/forum/ForumDynamicDO.java
浏览文件 @
5bf01696
...
...
@@ -24,25 +24,45 @@ import lombok.experimental.Accessors;
@Accessors
(
chain
=
true
)
public
class
ForumDynamicDO
extends
BaseDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
570379773690905364L
;
/** 版本字段 */
/**
* 版本字段
*/
private
Integer
version
;
/** 发布用户ID */
/**
* 发布用户ID
*/
private
Integer
userAccountId
;
/** 动态描述 */
/**
* 动态描述
*/
private
String
description
;
/** 发布动态具体位置 */
/**
* 发布动态具体位置
*/
private
String
location
;
/** 发布动态纬度 */
/**
* 发布动态纬度
*/
private
BigDecimal
lat
;
/** 发布动态经度 */
/**
* 发布动态经度
*/
private
BigDecimal
lon
;
/** 点赞数 */
/**
* 点赞数
*/
private
Integer
likesCount
;
/** 评论数 */
/**
* 评论数
*/
private
Integer
commentsCount
;
/** 记录父节点id */
/**
* 记录父节点id
*/
private
String
rootPath
;
private
Integer
checkStatus
;
public
ForumDynamicDO
(
DynamicVO
dynamicVO
)
{
this
.
description
=
dynamicVO
.
getDescription
();
this
.
location
=
dynamicVO
.
getLocation
();
...
...
@@ -69,7 +89,9 @@ public class ForumDynamicDO extends BaseDO implements Serializable {
.
id
(
this
.
getId
())
.
userAccountId
(
userAccountId
)
.
description
(
description
)
.
dynamicPublishTime
(
this
.
getCreateTime
())
.
show
(
this
.
getDeleted
())
.
checkStatus
(
checkStatus
)
.
build
();
}
...
...
release-service/src/main/java/com/mmc/csf/release/entity/licence/LicenceGradeDO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
entity
.
licence
;
import
com.mmc.csf.licence.dto.LicenceGradeDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author small
* @Date 2023/7/13 14:48
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenceGradeDO
{
private
static
final
long
serialVersionUID
=
-
4791023169682602298L
;
@ApiModelProperty
(
value
=
"执照等级id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"执照等级名称"
)
private
String
name
;
public
LicenceGradeDTO
licenceGradeDTO
()
{
return
LicenceGradeDTO
.
builder
().
id
(
this
.
id
)
.
name
(
this
.
name
).
build
();
}
}
release-service/src/main/java/com/mmc/csf/release/entity/licence/LicenceModelsDO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
entity
.
licence
;
import
com.mmc.csf.licence.dto.LicenceModelsDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author small
* @Date 2023/7/13 14:48
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenceModelsDO
{
private
static
final
long
serialVersionUID
=
-
4791023169682602298L
;
@ApiModelProperty
(
value
=
"执照机型id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"执照机型名称"
)
private
String
name
;
public
LicenceModelsDTO
licenceModelsDTO
()
{
return
LicenceModelsDTO
.
builder
().
id
(
this
.
id
)
.
name
(
this
.
name
).
build
();
}
}
release-service/src/main/java/com/mmc/csf/release/entity/licence/LicenceScaleDO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
entity
.
licence
;
import
com.mmc.csf.licence.dto.LicenceScaleDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author small
* @Date 2023/7/13 14:49
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenceScaleDO
{
private
static
final
long
serialVersionUID
=
-
4791023169682602298L
;
@ApiModelProperty
(
value
=
"执照机构规模id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"执照机构规模名称"
)
private
String
name
;
public
LicenceScaleDTO
licenceScaleDTO
()
{
return
LicenceScaleDTO
.
builder
().
id
(
this
.
id
)
.
name
(
this
.
name
).
build
();
}
}
release-service/src/main/java/com/mmc/csf/release/entity/licence/LicenceTypeDO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
entity
.
licence
;
import
com.mmc.csf.licence.dto.LicenceTypeDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author small
* @Date 2023/7/13 14:49
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenceTypeDO
{
private
static
final
long
serialVersionUID
=
-
4791023169682602298L
;
@ApiModelProperty
(
value
=
"执照类型id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"执照类型名称"
)
private
String
name
;
public
LicenceTypeDTO
licenceTypeDTO
()
{
return
LicenceTypeDTO
.
builder
().
id
(
this
.
id
)
.
name
(
this
.
name
).
build
();
}
}
release-service/src/main/java/com/mmc/csf/release/entity/licence/LicenseOrganizationsDO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
entity
.
licence
;
import
com.mmc.csf.licence.dto.LicenseOrganizationsDTO
;
import
com.mmc.csf.licence.dto.LicenseTrainingProgramsDTO
;
import
com.mmc.csf.licence.vo.LicenseOrganizationsVO
;
import
com.mmc.csf.release.model.group.Create
;
import
com.mmc.csf.release.model.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* @Author small
* @Date 2023/7/13 16:42
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenseOrganizationsDO
{
@ApiModelProperty
(
value
=
"机构id"
,
example
=
"1"
)
@NotNull
(
message
=
"机构id"
,
groups
=
Update
.
class
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"机构主图不能为空"
,
example
=
"http://"
,
required
=
true
)
//@Size(max = 10, message = "机构主图")
@NotBlank
(
message
=
"机构主图不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
mainImage
;
@ApiModelProperty
(
value
=
"机构副图不能为空"
,
example
=
"http://"
,
required
=
true
)
@NotBlank
(
message
=
"机构副图不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
auxiliaryPicture
;
@ApiModelProperty
(
value
=
"机构视频"
,
example
=
"http://"
)
private
String
video
;
@ApiModelProperty
(
value
=
"机构名称不能为空"
,
example
=
"科比特智能教育"
,
required
=
true
)
@NotBlank
(
message
=
"机构名称不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
name
;
@ApiModelProperty
(
name
=
"机构地区"
,
example
=
"110000,110100"
)
@NotBlank
(
message
=
"机构地区不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
region
;
@ApiModelProperty
(
name
=
"机构地区名称"
,
example
=
"河北省,石家庄市"
,
required
=
true
)
@NotBlank
(
message
=
"机构地区名称"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
regionName
;
@ApiModelProperty
(
name
=
"机构详细地址"
,
example
=
"南山区"
)
@NotBlank
(
message
=
"机构详细地址不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
detailedAddress
;
@ApiModelProperty
(
name
=
"是否是考点机构"
,
example
=
"0"
,
required
=
true
)
@NotNull
(
message
=
"考点机构不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
testCenter
;
@ApiModelProperty
(
name
=
"机构规模id不能为空"
,
example
=
"1"
)
private
Integer
scaleId
;
@ApiModelProperty
(
name
=
"机构规模名称"
,
example
=
"1"
)
private
String
scaleName
;
@ApiModelProperty
(
name
=
"机构描述"
,
example
=
"机构描述0001"
)
private
String
description
;
@ApiModelProperty
(
name
=
"机构详情"
,
example
=
"机构详情0001"
)
private
String
detail
;
@ApiModelProperty
(
name
=
"机构培训项目id"
,
example
=
"1,2"
)
private
List
<
Integer
>
orgTrainingIds
;
@ApiModelProperty
(
name
=
"培训项目"
,
required
=
false
)
private
List
<
LicenseTrainingProgramsDTO
>
programsDOList
;
/**
* VO类转换
*/
public
LicenseOrganizationsDO
(
LicenseOrganizationsVO
organizationsVO
)
{
this
.
id
=
organizationsVO
.
getId
();
this
.
mainImage
=
organizationsVO
.
getMainImage
();
this
.
auxiliaryPicture
=
organizationsVO
.
getAuxiliaryPicture
();
this
.
video
=
organizationsVO
.
getVideo
();
this
.
name
=
organizationsVO
.
getName
();
this
.
region
=
organizationsVO
.
getRegion
();
this
.
testCenter
=
organizationsVO
.
getTestCenter
();
this
.
scaleId
=
organizationsVO
.
getScaleId
();
this
.
description
=
organizationsVO
.
getDescription
();
this
.
detail
=
organizationsVO
.
getDetail
();
this
.
detailedAddress
=
organizationsVO
.
getDetailedAddress
();
this
.
regionName
=
organizationsVO
.
getRegionName
();
}
/**
* DTO转换
*
* @return
*/
public
LicenseOrganizationsDTO
organizationsDTO
()
{
return
LicenseOrganizationsDTO
.
builder
()
.
id
(
this
.
id
)
.
mainImage
(
this
.
mainImage
)
.
auxiliaryPicture
(
this
.
auxiliaryPicture
)
.
video
(
this
.
video
)
.
name
(
this
.
name
)
.
region
(
this
.
region
)
.
detailedAddress
(
this
.
detailedAddress
)
.
scaleId
(
this
.
scaleId
)
.
testCenter
(
this
.
testCenter
)
.
scaleName
(
this
.
scaleName
)
.
description
(
this
.
description
)
.
detail
(
this
.
detail
)
.
programsDOList
(
this
.
programsDOList
)
.
regionName
(
this
.
regionName
)
.
build
();
}
}
release-service/src/main/java/com/mmc/csf/release/entity/licence/LicenseProgramsDO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
entity
.
licence
;
import
com.mmc.csf.licence.dto.LicenseTrainingProgramsDTO
;
import
com.mmc.csf.release.model.group.Create
;
import
com.mmc.csf.release.model.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
/**
* @Author small
* @Date 2023/7/14 13:37
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
LicenseProgramsDO
{
private
static
final
long
serialVersionUID
=
-
5814724843819090363L
;
@ApiModelProperty
(
value
=
"培训id"
,
example
=
"1"
)
@NotNull
(
message
=
"培训id不能为空"
,
groups
=
Update
.
class
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"培训等级id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训等级id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
gradeId
;
@ApiModelProperty
(
value
=
"培训等级名称"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训等级名称不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
gradeName
;
@ApiModelProperty
(
value
=
"培训机型id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训机型id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
modelsId
;
@ApiModelProperty
(
value
=
"培训机型名称"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训机型名称不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
modelsName
;
@ApiModelProperty
(
value
=
"培训类型id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训类型id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
typeId
;
@ApiModelProperty
(
value
=
"培训类型名称"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训类型名称"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
typeName
;
@ApiModelProperty
(
value
=
"培训价格"
,
example
=
"1000"
,
required
=
true
)
@NotNull
(
message
=
"培训价格不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
@Size
(
min
=
0
,
max
=
100000
,
message
=
"价格不能超过100000"
)
private
Integer
price
;
@ApiModelProperty
(
value
=
"培训地点不能为空"
,
example
=
"广东省深圳市南山区XXX001"
,
required
=
true
)
@NotBlank
(
message
=
"培训地点不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
place
;
@ApiModelProperty
(
value
=
"培训主图不能为空"
,
example
=
"http://"
,
required
=
true
)
@NotBlank
(
message
=
"培训主图不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
mainImage
;
@ApiModelProperty
(
value
=
"机构id"
,
example
=
"http://"
,
required
=
true
)
@NotBlank
(
message
=
"机构id"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
orgId
;
/**
* DTO转换
*
* @return
*/
public
LicenseTrainingProgramsDTO
buildTrainingProgramsDTO
()
{
return
LicenseTrainingProgramsDTO
.
builder
().
id
(
this
.
id
)
.
gradeId
(
this
.
gradeId
)
.
gradeName
(
this
.
gradeName
)
.
modelsId
(
this
.
modelsId
)
.
modelsName
(
this
.
modelsName
)
.
typeId
(
this
.
typeId
)
.
typeName
(
this
.
typeName
)
.
price
(
this
.
price
)
.
place
(
this
.
place
)
.
mainImage
(
this
.
mainImage
)
.
orgId
(
this
.
orgId
)
.
build
();
}
}
release-service/src/main/java/com/mmc/csf/release/entity/licence/LicenseTrainingProgramsDO.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
entity
.
licence
;
import
com.mmc.csf.licence.vo.LicenseTrainingProgramsVO
;
import
com.mmc.csf.release.model.group.Create
;
import
com.mmc.csf.release.model.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
/**
* @Author small
* @Date 2023/7/14 11:20
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LicenseTrainingProgramsDO
{
@ApiModelProperty
(
value
=
"培训id"
,
example
=
"1"
)
@NotNull
(
message
=
"培训id不能为空"
,
groups
=
Update
.
class
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"培训等级id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训等级id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
gradeId
;
@ApiModelProperty
(
value
=
"培训机型id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训机型id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
modelsId
;
@ApiModelProperty
(
value
=
"培训类型id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"培训类型id不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
typeId
;
@ApiModelProperty
(
value
=
"培训价格"
,
example
=
"1000"
,
required
=
true
)
@NotNull
(
message
=
"培训价格不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
Integer
price
;
@ApiModelProperty
(
value
=
"培训地点不能为空"
,
example
=
"1"
,
required
=
true
)
@NotBlank
(
message
=
"培训地点不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
place
;
@ApiModelProperty
(
value
=
"培训主图不能为空"
,
example
=
"1"
,
required
=
true
)
@NotBlank
(
message
=
"培训主图不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
mainImage
;
/**
* VO类转换
*/
public
LicenseTrainingProgramsDO
(
LicenseTrainingProgramsVO
programsVO
)
{
this
.
id
=
programsVO
.
getId
();
this
.
mainImage
=
programsVO
.
getMainImage
();
this
.
gradeId
=
programsVO
.
getGradeId
();
this
.
modelsId
=
programsVO
.
getModelsId
();
this
.
typeId
=
programsVO
.
getTypeId
();
this
.
price
=
programsVO
.
getPrice
();
this
.
place
=
programsVO
.
getPlace
();
}
}
release-service/src/main/java/com/mmc/csf/release/service/BackstageForumService.java
浏览文件 @
5bf01696
...
...
@@ -8,7 +8,6 @@ import com.mmc.csf.release.forum.qo.DynamicQO;
/**
* @Author LW
*
* @date 2023/6/19 10:47 概要:
*/
public
interface
BackstageForumService
{
...
...
@@ -19,4 +18,7 @@ public interface BackstageForumService {
ResultBody
hiddenDynamic
(
Integer
dynamicId
);
ResultBody
likeUserInfo
(
Integer
dynamicId
,
HttpServletRequest
request
);
ResultBody
checkDynamic
(
Integer
dynamicId
,
Boolean
status
);
}
release-service/src/main/java/com/mmc/csf/release/service/DynamicService.java
浏览文件 @
5bf01696
...
...
@@ -8,8 +8,7 @@ import com.mmc.csf.release.forum.vo.CommentVO;
import
com.mmc.csf.release.forum.vo.DynamicVO
;
/**
* @Author LW
*
* @Author LW 测试合并
* @date 2023/5/15 10:29 概要:动态信息service层
*/
public
interface
DynamicService
{
...
...
@@ -19,7 +18,7 @@ public interface DynamicService {
* @param dynamicVO 动态
* @return {@link ResultBody}
*/
ResultBody
insertDynamic
(
DynamicVO
dynamicVO
,
Integer
userAccountId
);
ResultBody
insertDynamic
(
DynamicVO
dynamicVO
,
Integer
userAccountId
,
HttpServletRequest
request
);
/**
* 点赞动态
...
...
@@ -36,7 +35,7 @@ public interface DynamicService {
* @param commentVO 评论信息
* @return {@link ResultBody}
*/
ResultBody
commentDynamic
(
CommentVO
commentVO
,
Integer
userAccountId
);
ResultBody
commentDynamic
(
CommentVO
commentVO
,
Integer
userAccountId
,
HttpServletRequest
request
);
/**
* 删除评论
...
...
release-service/src/main/java/com/mmc/csf/release/service/WxApiService.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
service
;
import
com.mmc.csf.common.util.web.ResultBody
;
/**
* @Author LW
* @date 2023/7/12 13:44
* 概要:
*/
public
interface
WxApiService
{
ResultBody
msgSecCheck
(
String
openid
,
String
content
);
/**
* 获取稳定AccessToken
*
* @return
*/
String
getStableAccessToken
()
throws
Exception
;
}
release-service/src/main/java/com/mmc/csf/release/service/impl/BackstageForumServiceImpl.java
浏览文件 @
5bf01696
...
...
@@ -32,15 +32,18 @@ import com.mmc.csf.release.service.BackstageForumService;
/**
* @Author LW
*
* @date 2023/6/19 10:47 概要:
*/
@Service
public
class
BackstageForumServiceImpl
implements
BackstageForumService
{
@Autowired
BackstageForumDao
backstageForumDao
;
@Autowired
DynamicDAO
dynamicDAO
;
@Autowired
UserAppApi
userAppApi
;
@Autowired
LikeDAO
likeDAO
;
@Autowired
BackstageForumDao
backstageForumDao
;
@Autowired
DynamicDAO
dynamicDAO
;
@Autowired
UserAppApi
userAppApi
;
@Autowired
LikeDAO
likeDAO
;
@Override
public
PageResult
listDynamic
(
DynamicQO
dynamic
,
HttpServletRequest
request
)
{
...
...
@@ -154,4 +157,15 @@ public class BackstageForumServiceImpl implements BackstageForumService {
}
return
ResultBody
.
success
();
}
@Override
public
ResultBody
checkDynamic
(
Integer
dynamicId
,
Boolean
status
)
{
if
(
status
)
{
dynamicDAO
.
updateCheckDynamic
(
dynamicId
,
1
);
}
else
{
dynamicDAO
.
updateCheckDynamic
(
dynamicId
,
2
);
}
return
ResultBody
.
success
();
}
}
release-service/src/main/java/com/mmc/csf/release/service/impl/DynamicServiceImpl.java
浏览文件 @
5bf01696
...
...
@@ -31,35 +31,54 @@ import com.mmc.csf.release.forum.vo.DynamicVO;
import
com.mmc.csf.release.forum.vo.MediaVO
;
import
com.mmc.csf.release.forum.vo.UserBaseInfoVO
;
import
com.mmc.csf.release.service.DynamicService
;
import
com.mmc.csf.release.service.WxApiService
;
/**
* @Author LW
*
* @date 2023/5/15 10:29 概要:动态信息实现层
*/
@Service
public
class
DynamicServiceImpl
implements
DynamicService
{
@Resource
private
DynamicDAO
dynamicDAO
;
@Resource
private
LikeDAO
likeDAO
;
@Resource
private
CommentDAO
commentDAO
;
@Autowired
private
UserAppApi
userAppApi
;
@Resource
private
DynamicDAO
dynamicDAO
;
@Resource
private
LikeDAO
likeDAO
;
@Resource
private
CommentDAO
commentDAO
;
@Autowired
private
UserAppApi
userAppApi
;
@Resource
private
WxApiService
wxApiService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResultBody
insertDynamic
(
DynamicVO
dynamicVO
,
Integer
userAccountId
)
{
public
ResultBody
insertDynamic
(
DynamicVO
dynamicVO
,
Integer
userAccountId
,
HttpServletRequest
request
)
{
// 获取用户openid
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAppApi
.
feignGetUserSimpleInfo
(
userAccountId
,
request
.
getHeader
(
TokenConstant
.
TOKEN
));
// 插入动态基本信息
ForumDynamicDO
forumDynamicDO
=
new
ForumDynamicDO
(
dynamicVO
);
forumDynamicDO
.
setRootPath
(
null
);
forumDynamicDO
.
setUserAccountId
(
userAccountId
);
dynamicDAO
.
insertDynamic
(
forumDynamicDO
);
// 插入动态资源
if
(
CollectionUtils
.
isNotEmpty
(
dynamicVO
.
getMediaVO
()))
{
forumDynamicDO
.
setCheckStatus
(
0
);
dynamicDAO
.
insertDynamic
(
forumDynamicDO
);
for
(
MediaVO
mediaVO
:
dynamicVO
.
getMediaVO
())
{
dynamicDAO
.
insertResource
(
forumDynamicDO
.
getId
(),
mediaVO
.
getType
(),
mediaVO
.
getUrl
());
}
return
ResultBody
.
success
(
"您的信息通过审核后,即可向其他人展示"
);
}
else
{
ResultBody
resultBody
=
wxApiService
.
msgSecCheck
(
userAccountSimpleDTO
.
getOpenid
(),
dynamicVO
.
getDescription
());
if
(
resultBody
.
getCode
().
equals
(
"200"
))
{
forumDynamicDO
.
setCheckStatus
(
1
);
dynamicDAO
.
insertDynamic
(
forumDynamicDO
);
}
else
{
forumDynamicDO
.
setCheckStatus
(
2
);
dynamicDAO
.
insertDynamic
(
forumDynamicDO
);
}
return
resultBody
;
}
return
ResultBody
.
success
(
"动态发布成功"
);
}
@Override
...
...
@@ -78,11 +97,15 @@ public class DynamicServiceImpl implements DynamicService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResultBody
commentDynamic
(
CommentVO
commentVO
,
Integer
userAccountId
)
{
public
ResultBody
commentDynamic
(
CommentVO
commentVO
,
Integer
userAccountId
,
HttpServletRequest
request
)
{
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAppApi
.
feignGetUserSimpleInfo
(
userAccountId
,
request
.
getHeader
(
TokenConstant
.
TOKEN
));
ForumDynamicDO
forumDynamicDO
=
dynamicDAO
.
getDynamicInfo
(
commentVO
.
getDynamicId
());
if
(
forumDynamicDO
==
null
)
{
return
ResultBody
.
error
(
"动态不存在或已删除"
);
}
// todo openid 需要获取
ResultBody
resultBody
=
wxApiService
.
msgSecCheck
(
userAccountSimpleDTO
.
getOpenid
(),
commentVO
.
getContent
());
if
(
resultBody
.
getCode
().
equals
(
"200"
))
{
// 新增评论
ForumDynamicDO
comment
=
new
ForumDynamicDO
();
comment
.
setUserAccountId
(
userAccountId
);
...
...
@@ -93,6 +116,9 @@ public class DynamicServiceImpl implements DynamicService {
// 修改评论数量
dynamicDAO
.
updateDynamicCommentCount
(
commentVO
.
getDynamicId
(),
forumDynamicDO
.
getVersion
());
return
ResultBody
.
success
();
}
else
{
return
resultBody
;
}
}
@Override
...
...
@@ -104,7 +130,6 @@ public class DynamicServiceImpl implements DynamicService {
@Override
public
ResultBody
dynamicDetails
(
Integer
dynamicId
,
Integer
userId
,
HttpServletRequest
request
)
{
// 判断此动态是否还存在
//ForumDynamicDO dynamicInfo = dynamicDAO.getDynamicInfo(dynamicId);
ForumDynamicDO
dynamicInfo
=
dynamicDAO
.
getDynamicInfoById
(
dynamicId
);
if
(
dynamicInfo
==
null
)
{
return
ResultBody
.
error
(
"动态不存在!"
);
...
...
@@ -180,6 +205,9 @@ public class DynamicServiceImpl implements DynamicService {
// 动态id集合
List
<
Integer
>
ids
=
forumDynamicList
.
stream
().
map
(
ForumDynamicDO:
:
getId
).
collect
(
Collectors
.
toList
());
// 根据id集合查询评论
List
<
ForumDynamicDO
>
commentList
=
dynamicDAO
.
firstTwoItemsComment
(
ids
);
Map
<
String
,
List
<
ForumDynamicDO
>>
commentMap
=
commentList
.
stream
().
collect
(
Collectors
.
groupingBy
(
ForumDynamicDO:
:
getRootPath
));
// 根据id集合查询图片
List
<
ForumResourceDO
>
forumImageList
=
dynamicDAO
.
listDynamicPicture
(
ids
);
Map
<
Integer
,
List
<
ForumResourceDO
>>
ImageMap
=
...
...
@@ -202,6 +230,7 @@ public class DynamicServiceImpl implements DynamicService {
.
map
(
d
->
{
DynamicVO
dynamicVO
=
d
.
buildDynamicVO
();
if
(
ImageMap
!=
null
)
{
List
<
ForumResourceDO
>
forumResourceDOList
=
ImageMap
.
get
(
d
.
getId
());
if
(
CollectionUtils
.
isNotEmpty
(
forumResourceDOList
))
{
dynamicVO
.
setMediaVO
(
...
...
@@ -209,6 +238,30 @@ public class DynamicServiceImpl implements DynamicService {
.
map
(
ForumResourceDO:
:
buildMedia
)
.
collect
(
Collectors
.
toList
()));
}
}
if
(
commentMap
!=
null
)
{
List
<
ForumDynamicDO
>
comment
=
commentMap
.
get
(
d
.
getId
().
toString
());
if
(
CollectionUtils
.
isNotEmpty
(
comment
))
{
List
<
Integer
>
commentUserIds
=
comment
.
stream
().
map
(
ForumDynamicDO:
:
getUserAccountId
).
collect
(
Collectors
.
toList
());
bUserAccountQO
.
setUserIds
(
commentUserIds
);
List
<
UserAccountSimpleDTO
>
commentUserAccountSimple
=
userAppApi
.
feignListAppUserAccount
(
bUserAccountQO
,
request
.
getHeader
(
TokenConstant
.
TOKEN
));
List
<
DynamicVO
>
commentAndReply
=
comment
.
stream
().
limit
(
2
).
map
(
ForumDynamicDO:
:
buildDynamicVO
).
collect
(
Collectors
.
toList
());
for
(
DynamicVO
vo
:
commentAndReply
)
{
for
(
UserAccountSimpleDTO
userAccountSimpleDTO
:
commentUserAccountSimple
)
{
if
(
vo
.
getUserAccountId
().
equals
(
userAccountSimpleDTO
.
getId
()))
{
UserBaseInfoVO
userBaseInfoVO
=
new
UserBaseInfoVO
();
userBaseInfoVO
.
setUserImg
(
userAccountSimpleDTO
.
getUserImg
());
userBaseInfoVO
.
setUserName
(
userAccountSimpleDTO
.
getUserName
());
userBaseInfoVO
.
setNickName
(
userAccountSimpleDTO
.
getNickName
());
vo
.
setUserBaseInfo
(
userBaseInfoVO
);
break
;
}
}
}
dynamicVO
.
setCommentAndReplyVO
(
commentAndReply
);
}
}
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAccountInfoMap
.
get
(
d
.
getUserAccountId
());
if
(
userAccountSimpleDTO
!=
null
)
{
...
...
release-service/src/main/java/com/mmc/csf/release/service/impl/WxApiServiceImpl.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
service
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mmc.csf.common.util.web.HttpHelper
;
import
com.mmc.csf.common.util.web.HttpsRequestUtil
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.common.util.web.ResultEnum
;
import
com.mmc.csf.release.constant.UserSystemConstant
;
import
com.mmc.csf.release.constant.WxConstant
;
import
com.mmc.csf.release.service.WxApiService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
/**
* @Author LW
* @date 2023/7/12 14:05
* 概要:
*/
@Service
@Slf4j
public
class
WxApiServiceImpl
implements
WxApiService
{
@Autowired
private
UserSystemConstant
userSystemConstant
;
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
/**
* 文本识别
*
* @param openid
* @param content
* @return
*/
@Override
public
ResultBody
msgSecCheck
(
String
openid
,
String
content
)
{
try
{
String
accessToken
=
this
.
getStableAccessToken
();
JSONObject
param
=
new
JSONObject
();
param
.
put
(
"content"
,
content
);
param
.
put
(
"version"
,
2
);
param
.
put
(
"scene"
,
3
);
param
.
put
(
"openid"
,
openid
);
String
url
=
"https://api.weixin.qq.com/wxa/msg_sec_check?access_token="
+
accessToken
;
String
res
=
HttpHelper
.
httpPost
(
url
,
param
.
toString
());
JSONObject
result
=
JSONObject
.
parseObject
(
res
);
JSONObject
resultData
=
result
.
getJSONObject
(
WxConstant
.
RESULT
);
if
(!
resultData
.
get
(
WxConstant
.
LABEL
).
equals
(
100
))
{
return
ResultBody
.
error
(
ResultEnum
.
DYNAMIC_SENSITIVE_INFO
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
ResultBody
.
success
();
}
@Override
public
String
getStableAccessToken
()
{
//token有效期为7200s,需要保存起来,先从redis中获取accessToken,没有则请求获取
String
accessToken
=
stringRedisTemplate
.
opsForValue
().
get
(
WxConstant
.
IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN
);
if
(
StringUtils
.
isBlank
(
accessToken
))
{
Map
<
String
,
String
>
params
=
new
HashMap
<
String
,
String
>();
params
.
put
(
"grant_type"
,
"client_credential"
);
params
.
put
(
"appid"
,
userSystemConstant
.
getWxAppId
());
params
.
put
(
"secret"
,
userSystemConstant
.
getWxAppSecret
());
String
stableAccessTokenUrl
=
"https://api.weixin.qq.com/cgi-bin/stable_token"
;
String
res
=
null
;
try
{
res
=
HttpsRequestUtil
.
httpsRequest
(
stableAccessTokenUrl
,
"POST"
,
null
,
JSONObject
.
toJSONString
(
params
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
JSONObject
tokenResult
=
JSONObject
.
parseObject
(
res
);
if
(
res
.
indexOf
(
"access_token"
)
==
-
1
)
{
return
null
;
}
accessToken
=
tokenResult
.
getString
(
"access_token"
);
long
expiresIn
=
tokenResult
.
getLong
(
"expires_in"
);
//保存进redis
stringRedisTemplate
.
opsForValue
().
set
(
WxConstant
.
IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN
,
accessToken
,
expiresIn
,
TimeUnit
.
SECONDS
);
return
accessToken
;
}
return
accessToken
;
}
}
release-service/src/main/java/com/mmc/csf/release/service/licence/LicenceBackgroundService.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
service
.
licence
;
import
com.mmc.csf.common.util.page.PageResult
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.licence.qo.LicenseOrganizationsQO
;
import
com.mmc.csf.licence.vo.LicenseOrganizationsVO
;
import
com.mmc.csf.release.auth.dto.LoginSuccessDTO
;
/**
* @Author small
* @Date 2023/7/13 16:01
* @Version 1.0
*/
public
interface
LicenceBackgroundService
{
ResultBody
insertOrganizations
(
LicenseOrganizationsVO
organizations
,
LoginSuccessDTO
userLoginInfoFromRedis
);
ResultBody
updateOrganizations
(
LicenseOrganizationsVO
organizations
,
LoginSuccessDTO
userLoginInfoFromRedis
);
ResultBody
removeOrganizations
(
Integer
id
);
PageResult
listOrgPage
(
LicenseOrganizationsQO
organizationsQO
,
LoginSuccessDTO
userLoginInfoFromRedis
);
}
release-service/src/main/java/com/mmc/csf/release/service/licence/LicenceCommonService.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
service
.
licence
;
import
com.mmc.csf.common.util.web.ResultBody
;
/**
* @Author small
* @Date 2023/7/13 14:34
* @Version 1.0
*/
public
interface
LicenceCommonService
{
ResultBody
licenceGradeList
();
ResultBody
licenceModelsList
();
ResultBody
licenceTypeList
();
ResultBody
licenceScaleList
();
}
release-service/src/main/java/com/mmc/csf/release/service/licence/impl/LicenceBackgroundServiceImpl.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
service
.
licence
.
impl
;
import
com.mmc.csf.common.util.page.PageResult
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.common.util.web.ResultEnum
;
import
com.mmc.csf.licence.dto.LicenseOrganizationsDTO
;
import
com.mmc.csf.licence.dto.LicenseTrainingProgramsDTO
;
import
com.mmc.csf.licence.qo.LicenseOrganizationsQO
;
import
com.mmc.csf.licence.vo.LicenseOrganizationsVO
;
import
com.mmc.csf.licence.vo.LicenseTrainingProgramsVO
;
import
com.mmc.csf.release.auth.dto.LoginSuccessDTO
;
import
com.mmc.csf.release.dao.licence.LicenceBackgroundDao
;
import
com.mmc.csf.release.entity.licence.LicenseOrganizationsDO
;
import
com.mmc.csf.release.entity.licence.LicenseProgramsDO
;
import
com.mmc.csf.release.entity.licence.LicenseTrainingProgramsDO
;
import
com.mmc.csf.release.service.licence.LicenceBackgroundService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @Author small
* @Date 2023/7/13 16:01
* @Version 1.0
*/
@Service
@Slf4j
public
class
LicenceBackgroundServiceImpl
implements
LicenceBackgroundService
{
@Autowired
private
LicenceBackgroundDao
licenceBackgroundDao
;
@Override
public
ResultBody
insertOrganizations
(
LicenseOrganizationsVO
organizations
,
LoginSuccessDTO
userLoginInfoFromRedis
)
{
int
count
=
licenceBackgroundDao
.
countOrg
(
organizations
.
getName
());
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
THE_ORGANIZATION_NAME_ALREADY_EXISTS
);
}
LicenseOrganizationsDO
organizationsDO
=
new
LicenseOrganizationsDO
(
organizations
);
List
<
Integer
>
list
=
new
ArrayList
<>();
LicenseTrainingProgramsDO
programsDO
=
null
;
if
(
organizations
.
getTrainingProgramsVOS
()
!=
null
&&
organizations
.
getTrainingProgramsVOS
().
size
()
!=
0
)
{
HashMap
<
LicenseTrainingProgramsVO
,
Integer
>
hashMap
=
new
HashMap
<>();
for
(
LicenseTrainingProgramsVO
trainingProgramsVO
:
organizations
.
getTrainingProgramsVOS
())
{
Integer
pro
=
hashMap
.
get
(
trainingProgramsVO
);
if
(
pro
==
null
)
{
hashMap
.
put
(
trainingProgramsVO
,
1
);
programsDO
=
new
LicenseTrainingProgramsDO
(
trainingProgramsVO
);
licenceBackgroundDao
.
insertProject
(
programsDO
);
list
.
add
(
programsDO
.
getId
());
organizationsDO
.
setOrgTrainingIds
(
list
);
}
else
{
licenceBackgroundDao
.
removeProject
(
programsDO
.
getId
());
hashMap
.
put
(
trainingProgramsVO
,
pro
++);
return
ResultBody
.
error
(
ResultEnum
.
THREE_FIELDS_CAN_BE_REPEATED
);
}
}
licenceBackgroundDao
.
insertOrganizations
(
organizationsDO
);
licenceBackgroundDao
.
insertLicenseOrgTraining
(
organizationsDO
.
getOrgTrainingIds
(),
organizationsDO
.
getId
());
}
return
ResultBody
.
success
();
}
@Override
public
ResultBody
updateOrganizations
(
LicenseOrganizationsVO
organizations
,
LoginSuccessDTO
userLoginInfoFromRedis
)
{
LicenseOrganizationsDO
organizationsDO
=
new
LicenseOrganizationsDO
(
organizations
);
int
count
=
licenceBackgroundDao
.
countId
(
organizationsDO
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
THE_ORGANIZATION_NAME_ALREADY_EXISTS
);
}
licenceBackgroundDao
.
removeOrgAndTraining
(
organizations
.
getId
());
LicenseTrainingProgramsDO
programsDO
=
null
;
List
<
Integer
>
list
=
new
ArrayList
<>();
if
(
organizations
.
getTrainingProgramsVOS
()
!=
null
&&
organizations
.
getTrainingProgramsVOS
().
size
()
!=
0
)
{
HashMap
<
LicenseTrainingProgramsVO
,
Integer
>
hashMap
=
new
HashMap
<>();
for
(
LicenseTrainingProgramsVO
trainingProgramsVO
:
organizations
.
getTrainingProgramsVOS
())
{
Integer
pro
=
hashMap
.
get
(
trainingProgramsVO
);
if
(
pro
==
null
)
{
hashMap
.
put
(
trainingProgramsVO
,
1
);
}
else
{
hashMap
.
put
(
trainingProgramsVO
,
pro
++);
return
ResultBody
.
error
(
ResultEnum
.
THREE_FIELDS_CAN_BE_REPEATED
);
}
licenceBackgroundDao
.
removeOrganizations
(
organizations
.
getId
());
programsDO
=
new
LicenseTrainingProgramsDO
(
trainingProgramsVO
);
licenceBackgroundDao
.
insertProject
(
programsDO
);
list
.
add
(
programsDO
.
getId
());
organizationsDO
.
setOrgTrainingIds
(
list
);
}
licenceBackgroundDao
.
updateOrganizations
(
organizationsDO
);
licenceBackgroundDao
.
insertLicenseOrgTraining
(
organizationsDO
.
getOrgTrainingIds
(),
organizationsDO
.
getId
());
}
return
ResultBody
.
success
();
}
@Override
public
ResultBody
removeOrganizations
(
Integer
id
)
{
licenceBackgroundDao
.
removeOrg
(
id
);
licenceBackgroundDao
.
removeOrganizations
(
id
);
return
ResultBody
.
success
();
}
@Override
public
PageResult
listOrgPage
(
LicenseOrganizationsQO
organizationsQO
,
LoginSuccessDTO
userLoginInfoFromRedis
)
{
int
count
=
licenceBackgroundDao
.
countListOrgPage
(
organizationsQO
);
if
(
count
==
0
)
{
return
PageResult
.
buildPage
(
organizationsQO
.
getPageNo
(),
organizationsQO
.
getPageSize
(),
count
);
}
Integer
pageNo
=
organizationsQO
.
getPageNo
();
organizationsQO
.
buildCurrentPage
();
List
<
LicenseOrganizationsDO
>
licenseOrganizationsDOS
=
licenceBackgroundDao
.
listOrgPage
(
organizationsQO
);
List
<
LicenseOrganizationsDTO
>
orgList
=
licenseOrganizationsDOS
.
stream
().
map
(
t
->
t
.
organizationsDTO
()).
collect
(
Collectors
.
toList
());
//培训项目数据
List
<
LicenseProgramsDO
>
licenseProgramsDOS
=
licenceBackgroundDao
.
trainingProgram
(
organizationsQO
);
List
<
LicenseTrainingProgramsDTO
>
programsList
=
licenseProgramsDOS
.
stream
().
map
(
t
->
t
.
buildTrainingProgramsDTO
()).
collect
(
Collectors
.
toList
());
for
(
LicenseOrganizationsDTO
org
:
orgList
)
{
ArrayList
<
LicenseTrainingProgramsDTO
>
list
=
new
ArrayList
<>();
for
(
LicenseTrainingProgramsDTO
pro
:
programsList
)
{
if
(
org
.
getId
().
equals
(
pro
.
getOrgId
()))
{
list
.
add
(
pro
);
org
.
setProgramsDOList
(
list
);
}
}
}
List
<
LicenseOrganizationsDTO
>
collect
=
orgList
.
stream
().
filter
(
o
->
{
if
(
o
.
getProgramsDOList
()
==
null
)
{
return
false
;
}
return
true
;
}).
collect
(
Collectors
.
toList
());
if
(
collect
.
size
()
==
0
)
{
count
=
0
;
}
return
PageResult
.
buildPage
(
pageNo
,
organizationsQO
.
getPageSize
(),
count
,
collect
);
}
}
release-service/src/main/java/com/mmc/csf/release/service/licence/impl/LicenceCommonServiceImpl.java
0 → 100644
浏览文件 @
5bf01696
package
com
.
mmc
.
csf
.
release
.
service
.
licence
.
impl
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.licence.dto.LicenceGradeDTO
;
import
com.mmc.csf.licence.dto.LicenceModelsDTO
;
import
com.mmc.csf.licence.dto.LicenceScaleDTO
;
import
com.mmc.csf.licence.dto.LicenceTypeDTO
;
import
com.mmc.csf.release.dao.licence.LicenceCommonDao
;
import
com.mmc.csf.release.entity.licence.LicenceGradeDO
;
import
com.mmc.csf.release.entity.licence.LicenceModelsDO
;
import
com.mmc.csf.release.entity.licence.LicenceScaleDO
;
import
com.mmc.csf.release.entity.licence.LicenceTypeDO
;
import
com.mmc.csf.release.service.licence.LicenceCommonService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @Author small
* @Date 2023/7/13 14:34
* @Version 1.0
*/
@Service
public
class
LicenceCommonServiceImpl
implements
LicenceCommonService
{
@Autowired
private
LicenceCommonDao
licenceCommonDao
;
@Override
public
ResultBody
licenceGradeList
()
{
List
<
LicenceGradeDO
>
licenceGradeList
=
licenceCommonDao
.
licenceGradeList
();
List
<
LicenceGradeDTO
>
collect
=
licenceGradeList
.
stream
().
map
(
l
->
{
return
l
.
licenceGradeDTO
();
}).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
ResultBody
licenceModelsList
()
{
List
<
LicenceModelsDO
>
licenceGradeList
=
licenceCommonDao
.
licenceModelsList
();
List
<
LicenceModelsDTO
>
collect
=
licenceGradeList
.
stream
().
map
(
l
->
{
return
l
.
licenceModelsDTO
();
}).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
ResultBody
licenceTypeList
()
{
List
<
LicenceTypeDO
>
licenceGradeList
=
licenceCommonDao
.
licenceTypeList
();
List
<
LicenceTypeDTO
>
collect
=
licenceGradeList
.
stream
().
map
(
l
->
{
return
l
.
licenceTypeDTO
();
}).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
@Override
public
ResultBody
licenceScaleList
()
{
List
<
LicenceScaleDO
>
licenceGradeList
=
licenceCommonDao
.
licenceScaleList
();
List
<
LicenceScaleDTO
>
collect
=
licenceGradeList
.
stream
().
map
(
l
->
{
return
l
.
licenceScaleDTO
();
}).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
collect
);
}
}
release-service/src/main/resources/application-dev.yml
浏览文件 @
5bf01696
...
...
@@ -11,8 +11,8 @@ spring:
datasource
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://mysql.default:3306/iuav_ims_dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username
:
tmj
password
:
MMC@2022&MYSQL
username
:
iuav_dev
password
:
${MYSQL_PASSWORD}
# Druid数据源配置
type
:
com.alibaba.druid.pool.DruidDataSource
# druid:
...
...
@@ -53,7 +53,7 @@ spring:
redis
:
database
:
1
host
:
redis.default
password
:
MMC@2022&REDIS
password
:
${REDIS_PASSWORD}
port
:
6379
#连接池
lettuce
:
...
...
@@ -73,9 +73,20 @@ spring:
host
:
amqp-cn-zvp2ozhnj001.cn-shenzhen.amqp-0.net.mq.amqp.aliyuncs.com
port
:
5672
username
:
MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password
:
RTg3OUMxQzk4NzU0NDQ4RkQ1RDg4MkEzQjY4M0M3MkQxOTM2QkEyNDoxNjUyNDA4NDk0NDg4
password
:
${RABBITMQ_PASSWORD}
virtual-host
:
dev
wx
:
sub
:
appid
:
wx5c6a105a0ddca4c5
secret
:
96c75255dd26f82f8d55e15b59e101c7
app
:
id
:
wx18b7883acd204278
secret
:
28afe74ba373830237a8133a7431ee82
miniprogram-state
:
trial
env-version
:
trial
port
:
user
#eureka eureka.client.register-with-eureka=true
eureka
:
instance
:
...
...
release-service/src/main/resources/application-local.yml
浏览文件 @
5bf01696
...
...
@@ -11,8 +11,8 @@ spring:
datasource
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://rm-wz9dd796t4j1giz6t2o.mysql.rds.aliyuncs.com:3306/iuav_ims_dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username
:
tmj
password
:
MMC@2022
&MYSQL
username
:
iuav_dev
password
:
IUAV_DEV@2023
&MYSQL
# Druid数据源配置
type
:
com.alibaba.druid.pool.DruidDataSource
druid
:
...
...
@@ -73,7 +73,7 @@ spring:
host
:
amqp-cn-zvp2ozhnj001.cn-shenzhen.amqp-0.net.mq.amqp.aliyuncs.com
port
:
5672
username
:
MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password
:
RTg3OUMxQzk4NzU0NDQ4RkQ1RDg4MkEzQjY4M0M3MkQxOTM2QkEyNDoxNjUyNDA4NDk0NDg4
password
:
${RABBITMQ_PASSWORD}
virtual-host
:
/
#eureka eureka.client.register-with-eureka=true
...
...
release-service/src/main/resources/application-prod.yml
浏览文件 @
5bf01696
...
...
@@ -11,8 +11,8 @@ spring:
datasource
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://mysql.default:3306/iuav_ims?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username
:
tmj
password
:
MMC@2022&MYSQL
username
:
iuav
password
:
${MYSQL_PASSWORD}
# Druid数据源配置
type
:
com.alibaba.druid.pool.DruidDataSource
# druid:
...
...
@@ -53,7 +53,7 @@ spring:
redis
:
database
:
5
host
:
redis.default
password
:
MMC@2022&REDIS
password
:
${REDIS_PASSWORD}
port
:
6379
#连接池
lettuce
:
...
...
@@ -72,7 +72,7 @@ spring:
host
:
amqp-cn-zvp2ozhnj001.cn-shenzhen.amqp-0.net.mq.amqp.aliyuncs.com
port
:
5672
username
:
MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password
:
RTg3OUMxQzk4NzU0NDQ4RkQ1RDg4MkEzQjY4M0M3MkQxOTM2QkEyNDoxNjUyNDA4NDk0NDg4
password
:
${RABBITMQ_PASSWORD}
virtual-host
:
prod
#eureka eureka.client.register-with-eureka=true
...
...
release-service/src/main/resources/mapper/forum/BackstageForumDao.xml
浏览文件 @
5bf01696
...
...
@@ -17,7 +17,7 @@
</where>
</select>
<select
id=
"listDynamicInfo"
resultType=
"com.mmc.csf.release.entity.forum.ForumDynamicDO"
>
select id,user_account_id,description,is_deleted as deleted from forum_dynamic
select id,user_account_id,description,is_deleted as deleted
,create_time,check_status
from forum_dynamic
<where>
root_path is null
<if
test=
"ids != null"
>
...
...
release-service/src/main/resources/mapper/forum/DynamicMapper.xml
浏览文件 @
5bf01696
...
...
@@ -14,8 +14,8 @@
</insert>
<insert
id=
"insertDynamic"
keyProperty=
"id"
useGeneratedKeys=
"true"
parameterType=
"com.mmc.csf.release.entity.forum.ForumDynamicDO"
>
INSERT INTO forum_dynamic(user_account_id, description, location, lat, lon, root_path)
VALUES (#{userAccountId}, #{description}, #{location}, #{lat}, #{lon}, #{rootPath})
INSERT INTO forum_dynamic(user_account_id, description, location, lat, lon, root_path
, check_status
)
VALUES (#{userAccountId}, #{description}, #{location}, #{lat}, #{lon}, #{rootPath}
, #{checkStatus}
)
</insert>
<insert
id=
"insertResource"
>
insert into forum_resource(dynamic_id, resource_url, `type`)
...
...
@@ -51,6 +51,11 @@
end
where id = #{dynamicId}
</update>
<update
id=
"updateCheckDynamic"
>
update forum_dynamic
set check_status = #{status}
where id = #{dynamicId}
</update>
<delete
id=
"deleteDynamic"
>
delete
from forum_dynamic
...
...
@@ -99,6 +104,7 @@
from forum_dynamic
where is_deleted = 0
and root_path is null
and check_status = 1
order by create_time desc
LIMIT #{itemIndex}, #{pageSize}
</select>
...
...
@@ -161,6 +167,7 @@
from forum_dynamic
where root_path = #{dynamicId}
and is_deleted = 0
order by create_time desc
</select>
<select
id=
"listDynamicByUserId"
resultType=
"com.mmc.csf.release.entity.forum.ForumDynamicDO"
>
select id,
...
...
@@ -193,4 +200,21 @@
from forum_dynamic
where id = #{dynamicId}
</select>
<select
id=
"firstTwoItemsComment"
resultType=
"com.mmc.csf.release.entity.forum.ForumDynamicDO"
>
SELECT
id,
user_account_id,
description,
create_time,
root_path
FROM
forum_dynamic
<where>
<foreach
collection=
"list"
item=
"item"
separator=
","
open=
"root_path IN ("
close=
")"
>
#{item}
</foreach>
</where>
ORDER BY
create_time DESC
</select>
</mapper>
\ No newline at end of file
release-service/src/main/resources/mapper/licence/LicenceBackgroundDao.xml
0 → 100644
浏览文件 @
5bf01696
差异被折叠。
点击展开。
release-service/src/main/resources/mapper/licence/LicenceCommonDao.xml
0 → 100644
浏览文件 @
5bf01696
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mmc.csf.release.dao.licence.LicenceCommonDao"
>
<select
id=
"licenceGradeList"
resultType=
"com.mmc.csf.release.entity.licence.LicenceGradeDO"
>
select id, `name`
from licence_grade
</select>
<select
id=
"licenceModelsList"
resultType=
"com.mmc.csf.release.entity.licence.LicenceModelsDO"
>
select id, `name`
from licence_models
</select>
<select
id=
"licenceTypeList"
resultType=
"com.mmc.csf.release.entity.licence.LicenceTypeDO"
>
select id, `name`
from licence_type
</select>
<select
id=
"licenceScaleList"
resultType=
"com.mmc.csf.release.entity.licence.LicenceScaleDO"
>
select id, `name`
from licence_scale
</select>
</mapper>
release-service/src/main/resources/not-check.yml
浏览文件 @
5bf01696
...
...
@@ -33,3 +33,5 @@ data-filter:
-
/release/tender/info
-
/release/actuator/health/readiness
-
/release/tender/infoById
-
/release/wechat/checkSignature
-
/release/wechat/mediaCheckAsync
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论