Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
ims
Commits
469d87ac
提交
469d87ac
authored
12月 12, 2023
作者:
刘明祎-运维用途
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop'
上级
2957daa4
816e8a80
流水线
#7523
已通过 于阶段
in 2 分 53 秒
变更
24
流水线
1
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
24 个修改的文件
包含
1128 行增加
和
107 行删除
+1128
-107
ServiceOrderFormDTO.java
.../java/com/mmc/csf/infomation/dto/ServiceOrderFormDTO.java
+6
-0
UserBaseInfoDTO.java
...main/java/com/mmc/csf/infomation/dto/UserBaseInfoDTO.java
+6
-1
CurriculumQo.java
.../main/java/com/mmc/csf/release/flyer/qo/CurriculumQo.java
+8
-8
CurriculumClassifyVO.java
...va/com/mmc/csf/release/flyer/vo/CurriculumClassifyVO.java
+57
-0
CurriculumInfoVO.java
...n/java/com/mmc/csf/release/flyer/vo/CurriculumInfoVO.java
+31
-22
CurriculumOrderLogVO.java
...va/com/mmc/csf/release/flyer/vo/CurriculumOrderLogVO.java
+24
-0
CurriculumPayVO.java
...in/java/com/mmc/csf/release/flyer/vo/CurriculumPayVO.java
+36
-0
kustomization.yaml
kustomization/overlays/dev/kustomization.yaml
+1
-1
FlyerTrainingController.java
...m/mmc/csf/release/controller/FlyerTrainingController.java
+93
-6
CurriculumOrderDao.java
...main/java/com/mmc/csf/release/dao/CurriculumOrderDao.java
+35
-0
FlyerTrainingDao.java
...c/main/java/com/mmc/csf/release/dao/FlyerTrainingDao.java
+55
-7
CurriculumClassifyDO.java
...c/csf/release/entity/curriculum/CurriculumClassifyDO.java
+78
-0
CurriculumInfoDO.java
...m/mmc/csf/release/entity/curriculum/CurriculumInfoDO.java
+49
-22
CurriculumOrder.java
...om/mmc/csf/release/entity/curriculum/CurriculumOrder.java
+77
-0
CurriculumOrderDO.java
.../mmc/csf/release/entity/curriculum/CurriculumOrderDO.java
+105
-0
CurriculumOrderQO.java
.../mmc/csf/release/entity/curriculum/CurriculumOrderQO.java
+47
-0
UserAppApi.java
...e/src/main/java/com/mmc/csf/release/feign/UserAppApi.java
+8
-0
UserAppApiHystrix.java
.../com/mmc/csf/release/feign/hystrix/UserAppApiHystrix.java
+14
-0
BackstageForumService.java
...va/com/mmc/csf/release/service/BackstageForumService.java
+1
-1
FlyerTrainingService.java
...ava/com/mmc/csf/release/service/FlyerTrainingService.java
+71
-1
BackRequirementsServiceImpl.java
...csf/release/service/impl/BackRequirementsServiceImpl.java
+33
-1
FlyerTrainingServiceImpl.java
...mc/csf/release/service/impl/FlyerTrainingServiceImpl.java
+0
-0
CurriculumOrderDao.xml
...ce/src/main/resources/mapper/flyer/CurriculumOrderDao.xml
+162
-0
FlyerTrainingDao.xml
...vice/src/main/resources/mapper/flyer/FlyerTrainingDao.xml
+131
-37
没有找到文件。
csf-common/csf-common-model/src/main/java/com/mmc/csf/infomation/dto/ServiceOrderFormDTO.java
浏览文件 @
469d87ac
...
...
@@ -72,4 +72,10 @@ public class ServiceOrderFormDTO {
@ApiModelProperty
(
value
=
"子订单详情"
)
private
List
<
ServiceOrderFormDTO
>
childrenRequire
;
@ApiModelProperty
(
value
=
"发布者基本信息"
)
private
UserBaseInfoDTO
orderRelease
;
@ApiModelProperty
(
value
=
"接单人基本信息"
)
private
UserBaseInfoDTO
orderReceive
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/infomation/dto/UserBaseInfoDTO.java
浏览文件 @
469d87ac
...
...
@@ -4,10 +4,15 @@ import lombok.AllArgsConstructor;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author Admin
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
UserBaseInfoDTO
{
public
class
UserBaseInfoDTO
implements
Serializable
{
private
Integer
userAccountId
;
private
String
userName
;
...
...
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/flyer/qo/CurriculumQo.java
浏览文件 @
469d87ac
...
...
@@ -23,14 +23,14 @@ public class CurriculumQo implements Serializable {
private
static
final
long
serialVersionUID
=
3124398495152234751L
;
@ApiModelProperty
(
value
=
"课程名称"
)
private
String
curriculumName
;
@ApiModelProperty
(
value
=
"
省份编码
"
)
private
Integer
provinceCode
;
@ApiModelProperty
(
value
=
"
执照id
"
)
private
Integer
licen
seId
;
@ApiModelProperty
(
value
=
"
技能id
"
)
private
Integer
flightSkillsId
;
@ApiModelProperty
(
value
=
"
课程类型id
"
)
private
Integer
categoriesId
;
@ApiModelProperty
(
value
=
"
1级课程分类
"
)
private
Integer
oneCourseId
;
@ApiModelProperty
(
value
=
"
2级课程分类
"
)
private
Integer
twoCour
seId
;
@ApiModelProperty
(
value
=
"
课程属性: 0:免费 1:积分兑换 2:付费
"
)
private
Integer
courseAttribute
;
@ApiModelProperty
(
value
=
"
是否热门: 0:否 1:是
"
)
private
Integer
isHot
;
@ApiModelProperty
(
value
=
"页码"
,
required
=
true
)
@NotNull
(
message
=
"页码不能为空"
,
groups
=
{
Page
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
...
...
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/flyer/vo/CurriculumClassifyVO.java
0 → 100644
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
flyer
.
vo
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.mmc.csf.release.model.group.Insert
;
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
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @Author han
* 概要:课程分类
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
CurriculumClassifyVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7343885960160805850L
;
@ApiModelProperty
(
value
=
"课程分类id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"分类名字"
)
@NotNull
(
message
=
"分类名字不能为空"
,
groups
=
{
Update
.
class
})
private
String
name
;
@ApiModelProperty
(
value
=
"1级课程分类"
)
@NotNull
(
message
=
"1级课程分类不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
oneCourseId
;
@ApiModelProperty
(
value
=
"2级课程分类"
)
private
Integer
twoCourseId
;
@ApiModelProperty
(
value
=
"分类图标"
)
private
String
classifyUrl
;
@ApiModelProperty
(
value
=
"分类描述"
)
private
String
classifyDesc
;
@ApiModelProperty
(
value
=
"创建时间"
)
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"更新时间"
)
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
updateTime
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/flyer/vo/CurriculumInfoVO.java
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
flyer
.
vo
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.mmc.csf.release.model.group.Insert
;
import
com.mmc.csf.release.model.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
...
...
@@ -12,6 +12,7 @@ import org.hibernate.validator.constraints.Length;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @Author LW
...
...
@@ -25,35 +26,19 @@ import java.math.BigDecimal;
public
class
CurriculumInfoVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7343885960160805850L
;
@ApiModelProperty
(
value
=
"课程id"
)
@NotNull
(
message
=
"课程id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
@ApiModelProperty
(
value
=
"价格"
)
private
BigDecimal
price
;
@ApiModelProperty
(
value
=
"1级课程分类ID"
)
@NotNull
(
message
=
"1级课程分类ID不能为空"
,
groups
=
{
Insert
.
class
})
private
Integer
oneCourseId
;
@ApiModelProperty
(
value
=
"
供应商名称
"
)
private
String
supplierName
;
@ApiModelProperty
(
value
=
"
2级课程分类ID
"
)
private
Integer
twoCourseId
;
@ApiModelProperty
(
value
=
"课程名称,长度30"
)
@Length
(
max
=
30
)
private
String
curriculumName
;
@ApiModelProperty
(
value
=
"课程是否免费 0:免费 1:付费"
)
private
Integer
free
;
@ApiModelProperty
(
value
=
"课程类型,二级id"
)
@NotNull
(
message
=
"课程类型id不能为空"
,
groups
=
{
Insert
.
class
})
private
Integer
categoriesId
;
@ApiModelProperty
(
value
=
"目录名称"
,
example
=
"技能"
)
private
String
directoryName
;
@ApiModelProperty
(
value
=
"课程类型名称"
,
example
=
"通用巡检"
)
private
String
categoriesName
;
@ApiModelProperty
(
value
=
"课程技能类型,二级id"
)
private
Integer
flightSkills
;
@ApiModelProperty
(
value
=
"课程介绍(简介), 长度255"
)
@Length
(
max
=
255
)
private
String
curriculumDesc
;
...
...
@@ -64,6 +49,30 @@ public class CurriculumInfoVO implements Serializable {
@ApiModelProperty
(
value
=
"课程视频"
)
private
String
videoUrl
;
@ApiModelProperty
(
value
=
"课程属性: 0:免费 1:积分兑换 2:付费 "
)
private
Integer
courseAttribute
;
@ApiModelProperty
(
value
=
"价格"
)
private
BigDecimal
requireAmout
;
@ApiModelProperty
(
value
=
"积分"
)
private
Integer
requireIntegral
;
@ApiModelProperty
(
value
=
"课程是否热门 0:否 1:是"
)
private
Integer
isHot
;
@ApiModelProperty
(
value
=
"课程详情"
)
private
String
detailContent
;
@ApiModelProperty
(
value
=
"创建时间"
)
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"更新时间"
)
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
updateTime
;
@ApiModelProperty
(
value
=
"用户是否购买过"
)
private
boolean
buy
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/flyer/vo/CurriculumOrderLogVO.java
0 → 100644
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
flyer
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
/**
* @author Admin
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
CurriculumOrderLogVO
{
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"云享金消耗金额"
)
private
BigDecimal
cashAmtPaid
;
@ApiModelProperty
(
value
=
"佣金消耗金额"
)
private
BigDecimal
salaryAmtPaid
;
@ApiModelProperty
(
value
=
"订单编号"
)
private
String
orderNo
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/flyer/vo/CurriculumPayVO.java
0 → 100644
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
flyer
.
vo
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.mmc.csf.release.model.group.Insert
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @Author LW
* @date 2023/5/17 14:28
* 概要:课程信息
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
CurriculumPayVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7343885960160805850L
;
@ApiModelProperty
(
value
=
"课程ID"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"支付类型"
)
private
String
paymentType
;
@ApiModelProperty
(
value
=
"微信支付订单编号"
)
private
String
paymentOrderNumber
;
}
kustomization/overlays/dev/kustomization.yaml
浏览文件 @
469d87ac
...
...
@@ -18,4 +18,4 @@ patches:
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/ims
newTag
:
a7297ddb53d52d7ceac0649335401ef9831ae33
7
newTag
:
be3a62a563f7f863a03f934bdae13531d5c16e4
7
release-service/src/main/java/com/mmc/csf/release/controller/FlyerTrainingController.java
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
controller
;
import
com.mmc.csf.common.util.date.TDateUtil
;
import
com.mmc.csf.common.util.math.CodeUtil
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.release.entity.curriculum.CurriculumInfoDO
;
import
com.mmc.csf.release.entity.curriculum.CurriculumOrderDO
;
import
com.mmc.csf.release.entity.curriculum.CurriculumOrderQO
;
import
com.mmc.csf.release.feign.PmsAppApi
;
import
com.mmc.csf.release.feign.UserAppApi
;
import
com.mmc.csf.release.flyer.qo.CurriculumQo
;
import
com.mmc.csf.release.flyer.vo.CurriculumInfoVO
;
import
com.mmc.csf.release.flyer.vo.DronePilotLicenseVO
;
import
com.mmc.csf.release.flyer.vo.FlightSkillsVO
;
import
com.mmc.csf.release.flyer.vo.RegistrationVO
;
import
com.mmc.csf.release.flyer.vo.*
;
import
com.mmc.csf.release.model.group.Insert
;
import
com.mmc.csf.release.model.group.Page
;
import
com.mmc.csf.release.model.group.Update
;
import
com.mmc.csf.release.service.FlyerTrainingService
;
import
io.swagger.annotations.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
springfox.documentation.annotations.ApiIgnore
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -34,6 +40,10 @@ public class FlyerTrainingController extends BaseController {
@Resource
private
FlyerTrainingService
flyerTrainingService
;
@Qualifier
(
"com.mmc.csf.release.feign.UserAppApi"
)
@Autowired
private
UserAppApi
userAppApi
;
@ApiOperation
(
value
=
"飞手报名"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/pilotRegistration"
)
...
...
@@ -94,8 +104,8 @@ public class FlyerTrainingController extends BaseController {
@ApiOperation
(
value
=
"V1.0.1课程视频详情"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CurriculumInfoVO
.
class
)})
@GetMapping
(
"/curriculumDetails"
)
public
ResultBody
curriculumDetails
(
@ApiParam
(
value
=
"课程id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
flyerTrainingService
.
curriculumDetails
(
id
);
public
ResultBody
curriculumDetails
(
HttpServletRequest
request
,
@ApiParam
(
value
=
"课程id"
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
flyerTrainingService
.
curriculumDetails
(
id
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
()
);
}
@ApiOperation
(
value
=
"V1.0.1新增课程"
)
...
...
@@ -136,4 +146,81 @@ public class FlyerTrainingController extends BaseController {
public
Integer
getCurriculumCount
()
{
return
flyerTrainingService
.
getCurriculumCount
();
}
@ApiOperation
(
value
=
"后台——获取课程订单列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CurriculumOrderDO
.
class
)})
@PostMapping
(
"getCurriculumOrderList"
)
public
ResultBody
<
List
<
CurriculumOrderDO
>>
getCurriculumOrderList
(
@ApiParam
(
value
=
"订单查询QO"
,
required
=
true
)
@Validated
(
Page
.
class
)
@RequestBody
CurriculumOrderQO
param
)
{
return
flyerTrainingService
.
getCurriculumOrderList
(
param
);
}
@ApiOperation
(
value
=
"小程序——获取我的课程列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CurriculumOrderDO
.
class
)})
@PostMapping
(
"getCurriculumOrderListByMini"
)
public
ResultBody
<
List
<
CurriculumOrderDO
>>
selectCurriculumOrderList
(
HttpServletRequest
request
,
@ApiParam
(
value
=
"订单查询QO"
,
required
=
true
)
@Validated
(
Page
.
class
)
@RequestBody
CurriculumOrderQO
param
)
{
param
.
setUserAccountId
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
return
flyerTrainingService
.
getCurriculumOrderList
(
param
);
}
@ApiOperation
(
value
=
"后台——删除课程订单详情"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CurriculumOrderDO
.
class
)})
@GetMapping
(
"deleteCurriculumOrderInfo"
)
public
ResultBody
<
CurriculumOrderDO
>
deleteCurriculumOrderInfo
(
@ApiParam
(
value
=
"删除订单id"
,
required
=
true
)
@Validated
(
Page
.
class
)
@RequestParam
(
value
=
"id"
)
Integer
id
)
{
return
flyerTrainingService
.
deleteCurriculumOrderInfo
(
id
);
}
@ApiOperation
(
value
=
"新增课程分类"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CurriculumClassifyVO
.
class
)})
@PostMapping
(
"addCurriculumClassify"
)
public
ResultBody
addCurriculumClassify
(
@Validated
(
Insert
.
class
)
@RequestBody
CurriculumClassifyVO
curriculumClassifyVO
)
{
return
ResultBody
.
success
(
flyerTrainingService
.
addCurriculumClassify
(
curriculumClassifyVO
));
}
@ApiOperation
(
value
=
"修改课程分类"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CurriculumClassifyVO
.
class
)})
@PostMapping
(
"updateCurriculumClassify"
)
public
ResultBody
updateCurriculumClassify
(
@Validated
(
Update
.
class
)
@RequestBody
CurriculumClassifyVO
curriculumClassifyVO
)
{
return
ResultBody
.
success
(
flyerTrainingService
.
updateCurriculumClassify
(
curriculumClassifyVO
));
}
@ApiOperation
(
value
=
"删除课程分类"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CurriculumClassifyVO
.
class
)})
@GetMapping
(
"removeCurriculumClassify"
)
public
ResultBody
removeCurriculumClassify
(
@RequestParam
Integer
id
)
{
return
flyerTrainingService
.
removeCurriculumClassify
(
id
);
}
@ApiOperation
(
value
=
"所有课程分类列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CurriculumClassifyVO
.
class
)})
@GetMapping
(
"/selectCurriculumClassify"
)
public
ResultBody
selectCurriculumClassify
()
{
return
flyerTrainingService
.
selectCurriculumClassify
();
}
@ApiOperation
(
value
=
"购买课程-使用积分-去支付"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/curriculumPayByIntegral"
)
public
ResultBody
curriculumPayByIntegral
(
HttpServletRequest
request
,
@RequestParam
Integer
id
)
{
CurriculumInfoDO
curriculumInfo
=
flyerTrainingService
.
selectCurriculumInfoById
(
id
);
ResultBody
resultBody
=
userAppApi
.
feignChangeUserPoints
(
request
.
getHeader
(
"token"
),
request
,
-
curriculumInfo
.
getRequireIntegral
(),
"购买课程"
);
if
(
"200"
.
equals
(
resultBody
.
getCode
())){
CurriculumOrderDO
curriculumOrderDO
=
new
CurriculumOrderDO
();
curriculumOrderDO
.
setUserAccountId
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
curriculumOrderDO
.
setCurriculumInfoId
(
id
);
curriculumOrderDO
.
setJifenConsume
(
curriculumInfo
.
getRequireIntegral
());
// 生成支付流水号(规则"CO" + 时间戳 + 用户id + 随机数4位)
curriculumOrderDO
.
setOrderNo
(
"CO"
+
TDateUtil
.
getDateStr
(
new
Date
(),
"yyyyMMddHHmmss"
)
+
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
()
+
CodeUtil
.
getRandomNum
(
4
));
return
ResultBody
.
success
(
flyerTrainingService
.
curriculumPayByIntegral
(
curriculumOrderDO
));
}
else
{
return
ResultBody
.
error
(
"积分不足,购买失败"
);
}
}
@ApiOperation
(
value
=
"购买课程-使用金额-去支付"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/curriculumPayByMoney"
)
public
ResultBody
curriculumPayByMoney
(
HttpServletRequest
request
,
@RequestBody
CurriculumPayVO
curriculumPayVO
)
{
return
flyerTrainingService
.
curriculumPayByMoney
(
request
,
curriculumPayVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
}
}
release-service/src/main/java/com/mmc/csf/release/dao/CurriculumOrderDao.java
0 → 100644
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
dao
;
import
com.mmc.csf.release.entity.curriculum.CurriculumOrder
;
import
com.mmc.csf.release.entity.curriculum.CurriculumOrderDO
;
import
com.mmc.csf.release.entity.curriculum.CurriculumOrderQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @author Admin
* @description 针对表【curriculum_order】的数据库操作Mapper
* @createDate 2023-12-11 10:36:21
* @Entity com.mmc.csf.release.entity.curriculum.CurriculumOrder
*/
@Mapper
public
interface
CurriculumOrderDao
{
int
deleteByPrimaryKey
(
Integer
id
);
int
insert
(
CurriculumOrder
record
);
int
insertSelective
(
CurriculumOrder
record
);
CurriculumOrderDO
selectByPrimaryKey
(
Integer
id
);
int
updateByPrimaryKeySelective
(
CurriculumOrder
record
);
int
updateByPrimaryKey
(
CurriculumOrder
record
);
int
getCountCurriculumOrder
(
CurriculumOrderQO
param
);
List
<
CurriculumOrderDO
>
selectOrderList
(
CurriculumOrderQO
param
);
}
release-service/src/main/java/com/mmc/csf/release/dao/FlyerTrainingDao.java
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
dao
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Mapper
;
import
com.mmc.csf.release.entity.curriculum.CurriculumInfoDO
;
import
com.mmc.csf.release.entity.curriculum.FlightSkillsDO
;
import
com.mmc.csf.release.entity.curriculum.PilotRegistrationDO
;
import
com.mmc.csf.release.entity.curriculum.*
;
import
com.mmc.csf.release.flyer.qo.CurriculumQo
;
import
com.mmc.csf.release.flyer.vo.DronePilotLicenseVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @Author LW
...
...
@@ -92,4 +89,55 @@ public interface FlyerTrainingDao {
int
countCurriculumInfo
(
Integer
categoriesId
);
Integer
getCurriculumCount
();
/**
* 添加课程分类
*
* @param curriculumClassifyDO
*/
Integer
addCurriculumClassify
(
CurriculumClassifyDO
curriculumClassifyDO
);
/**
* 修改课程分类
*
* @param curriculumClassify
*/
Integer
updateCurriculumClassify
(
CurriculumClassifyDO
curriculumClassify
);
/**
* 删除课程分类
*
* @param id 课程分类id
*/
Integer
removeCurriculumClassify
(
Integer
id
);
/**
* 查询一级分类的数量
* @return
*/
Integer
countOneCourseClassify
();
/**
* 查询当前一级分类下的二级分类的数量
* @param twoCourseId 2级课程分类
*/
Integer
countTwoCourseClassify
(
Integer
twoCourseId
);
/**
* 查询所有的课程分类
* @return
*/
List
<
CurriculumClassifyDO
>
selectCurriculumClassify
();
CurriculumClassifyDO
selectCurriculumClassifyById
(
Integer
id
);
/**
* 根据课程ID查询课程信息
* @return
*/
CurriculumInfoDO
selectCurriculumInfoById
(
Integer
id
);
int
selectCountCurriculumOrder
(
Integer
id
,
Integer
userId
);
int
insertCurriculumOrder
(
CurriculumOrderDO
record
);
}
release-service/src/main/java/com/mmc/csf/release/entity/curriculum/CurriculumClassifyDO.java
0 → 100644
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
entity
.
curriculum
;
import
com.mmc.csf.release.flyer.vo.CurriculumClassifyVO
;
import
com.mmc.csf.release.flyer.vo.CurriculumInfoVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* 课程基本信息(CurriculumClassifyDO)实体类
*
* @author han
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
CurriculumClassifyDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
140348746605431718L
;
private
Integer
id
;
/**
* 课程类别名称
*/
private
String
name
;
/**
* 1级课程分类
*/
private
Integer
oneCourseId
;
/**
* 2级课程分类
*/
private
Integer
twoCourseId
;
/**
* 分类图标
*/
private
String
classifyUrl
;
/**
* 分类描述
*/
private
String
classifyDesc
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 修改时间
*/
private
Date
updateTime
;
/**
* 是否删除 0:否 1:是
*/
private
Integer
deleted
;
public
CurriculumClassifyDO
(
CurriculumClassifyVO
curriculumClassifyVO
)
{
this
.
id
=
curriculumClassifyVO
.
getId
();
this
.
name
=
curriculumClassifyVO
.
getName
();
this
.
oneCourseId
=
curriculumClassifyVO
.
getOneCourseId
();
this
.
twoCourseId
=
curriculumClassifyVO
.
getTwoCourseId
();
this
.
classifyUrl
=
curriculumClassifyVO
.
getClassifyUrl
();
this
.
classifyDesc
=
curriculumClassifyVO
.
getClassifyDesc
();
}
public
CurriculumClassifyVO
buildCurriculumClassifyVO
(){
return
CurriculumClassifyVO
.
builder
().
id
(
id
).
name
(
name
)
.
oneCourseId
(
oneCourseId
).
twoCourseId
(
twoCourseId
)
.
classifyUrl
(
classifyUrl
).
classifyDesc
(
classifyDesc
)
.
createTime
(
createTime
).
updateTime
(
updateTime
).
build
();
}
}
release-service/src/main/java/com/mmc/csf/release/entity/curriculum/CurriculumInfoDO.java
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
entity
.
curriculum
;
import
com.mmc.csf.release.flyer.vo.CurriculumInfoVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
...
...
@@ -22,23 +23,51 @@ public class CurriculumInfoDO implements Serializable {
private
static
final
long
serialVersionUID
=
140348746605431718L
;
private
Integer
id
;
/**
*
课程名称
*
1级课程分类ID
*/
private
String
curriculumName
;
private
Integer
oneCourseId
;
/**
*
课程供应商(id),用户id
*
2级课程分类ID
*/
private
Integer
supplier
Id
;
private
Integer
twoCourse
Id
;
/**
* 课程
价格
* 课程
名称
*/
private
BigDecimal
curriculumPric
e
;
private
String
curriculumNam
e
;
/**
* 课程简介
*/
private
String
curriculumDesc
;
/**
* 课程封面
*/
private
String
surfaceUrl
;
/**
* 课程视频
*/
private
String
videoUrl
;
/**
* 课程属性
*/
private
Integer
courseAttribute
;
/**
* 课程所需金额
*/
private
BigDecimal
requireAmout
;
/**
* 课程所需积分
*/
private
Integer
requireIntegral
;
/**
* 课程是否热门 0:否 1:是
*/
private
Integer
isHot
;
/**
* 课程详情
*/
private
String
detailContent
;
/**
* 创建时间
*/
...
...
@@ -52,32 +81,30 @@ public class CurriculumInfoDO implements Serializable {
*/
private
Integer
deleted
;
private
String
videoUrl
;
private
String
surfaceUrl
;
private
String
detailContent
;
/**
* 课程类型id
*/
private
Integer
categoriesId
;
public
CurriculumInfoDO
(
CurriculumInfoVO
curriculumInfoVO
)
{
this
.
id
=
curriculumInfoVO
.
getId
();
this
.
oneCourseId
=
curriculumInfoVO
.
getOneCourseId
();
this
.
twoCourseId
=
curriculumInfoVO
.
getTwoCourseId
();
this
.
curriculumName
=
curriculumInfoVO
.
getCurriculumName
();
this
.
curriculumDesc
=
curriculumInfoVO
.
getCurriculumDesc
();
this
.
surfaceUrl
=
curriculumInfoVO
.
getSurfaceUrl
();
this
.
detailContent
=
curriculumInfoVO
.
getDetailContent
();
this
.
videoUrl
=
curriculumInfoVO
.
getVideoUrl
();
this
.
categoriesId
=
curriculumInfoVO
.
getCategoriesId
();
this
.
courseAttribute
=
curriculumInfoVO
.
getCourseAttribute
();
this
.
requireAmout
=
curriculumInfoVO
.
getRequireAmout
();
this
.
requireIntegral
=
curriculumInfoVO
.
getRequireIntegral
();
this
.
isHot
=
curriculumInfoVO
.
getIsHot
();
this
.
detailContent
=
curriculumInfoVO
.
getDetailContent
();
}
public
CurriculumInfoVO
buildCurriculumInfoVO
(){
return
CurriculumInfoVO
.
builder
().
id
(
id
).
curriculumDesc
(
curriculumDesc
)
.
price
(
curriculumPrice
)
.
supplierName
(
"浙江科比特创新科技有限公司"
).
curriculumName
(
curriculumName
)
return
CurriculumInfoVO
.
builder
().
id
(
id
).
curriculumDesc
(
curriculumDesc
)
.
curriculumName
(
curriculumName
)
.
videoUrl
(
videoUrl
).
surfaceUrl
(
this
.
surfaceUrl
).
detailContent
(
this
.
detailContent
)
.
categoriesId
(
this
.
categoriesId
).
build
();
.
requireAmout
(
this
.
requireAmout
).
courseAttribute
(
courseAttribute
)
.
requireIntegral
(
this
.
requireIntegral
).
isHot
(
this
.
isHot
)
.
oneCourseId
(
this
.
oneCourseId
).
twoCourseId
(
this
.
twoCourseId
)
.
createTime
(
createTime
).
updateTime
(
updateTime
).
build
();
}
}
...
...
release-service/src/main/java/com/mmc/csf/release/entity/curriculum/CurriculumOrder.java
0 → 100644
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
entity
.
curriculum
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
*
* @TableName curriculum_order
*/
@Data
public
class
CurriculumOrder
implements
Serializable
{
/**
*
*/
private
Integer
id
;
/**
* 订单编号
*/
private
String
orderNo
;
/**
* 下单用户id
*/
private
Integer
userAccountId
;
/**
* 订单总金额
*/
private
BigDecimal
orderTotalAmount
;
/**
* 抵扣佣金金额
*/
private
BigDecimal
salaryAmount
;
/**
* 抵扣云享金金额
*/
private
BigDecimal
cashAmount
;
/**
* 微信支付
*/
private
BigDecimal
weChat
;
/**
* 发布者微信支付订单
*/
private
String
wechatPayOrderNumber
;
/**
* 生成订单时间(下单时间)
*/
private
Date
createTime
;
/**
* 最近修改时间
*/
private
Date
updateTime
;
/**
* 课程id
*/
private
Integer
curriculumInfoId
;
/**
* 消耗多少积分
*/
private
Integer
jifenConsume
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
release-service/src/main/java/com/mmc/csf/release/entity/curriculum/CurriculumOrderDO.java
0 → 100644
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
entity
.
curriculum
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author Admin
* @TableName curriculum_order
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
CurriculumOrderDO
implements
Serializable
{
/**
*
*/
@ApiModelProperty
(
value
=
"课程订单id"
)
private
Integer
id
;
/**
* 订单编号
*/
@ApiModelProperty
(
value
=
"课程订单编号"
)
private
String
orderNo
;
/**
* 下单用户id
*/
@ApiModelProperty
(
value
=
"购买用户的id"
)
private
Integer
userAccountId
;
/**
* 订单总金额
*/
@ApiModelProperty
(
value
=
"订单总金额"
)
private
BigDecimal
orderTotalAmount
;
/**
* 抵扣佣金金额
*/
@ApiModelProperty
(
value
=
"抵扣佣金金额"
)
private
BigDecimal
salaryAmount
;
/**
* 抵扣云享金金额
*/
@ApiModelProperty
(
value
=
"抵扣云享金金额"
)
private
BigDecimal
cashAmount
;
/**
* 微信支付金额
*/
@ApiModelProperty
(
value
=
"微信支付金额"
)
private
BigDecimal
weChat
;
/**
* 发布者微信支付订单
*/
@ApiModelProperty
(
value
=
"发布者微信支付订单"
)
private
String
wechatPayOrderNumber
;
/**
* 课程ID
*/
@ApiModelProperty
(
value
=
"课程ID"
)
private
Integer
curriculumInfoId
;
/**
* 所需积分
*/
@ApiModelProperty
(
value
=
"所需积分"
)
private
int
jifenConsume
;
private
String
curriculumName
;
/**
* 课程简介
*/
private
String
curriculumDesc
;
/**
* 课程封面
*/
private
String
surfaceUrl
;
/**
* 课程视频
*/
private
String
videoUrl
;
/**
* 课程所需金额
*/
private
BigDecimal
requireAmout
;
/**
* 课程所需积分
*/
private
Integer
requireIntegral
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
release-service/src/main/java/com/mmc/csf/release/entity/curriculum/CurriculumOrderQO.java
0 → 100644
浏览文件 @
469d87ac
package
com
.
mmc
.
csf
.
release
.
entity
.
curriculum
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.mmc.csf.release.model.group.Page
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @author Admin
* @date 2023/12/07
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
CurriculumOrderQO
implements
Serializable
{
private
final
static
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"页码"
,
required
=
true
,
example
=
"1"
)
@NotNull
(
message
=
"页码不能为空"
,
groups
=
Page
.
class
)
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageNo
;
@ApiModelProperty
(
value
=
"每页显示数"
,
required
=
true
,
example
=
"10"
)
@NotNull
(
message
=
"每页显示数不能为空"
,
groups
=
Page
.
class
)
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageSize
;
@ApiModelProperty
(
value
=
"订单编号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"课程id"
)
private
Integer
curriculumInfoId
;
@ApiModelProperty
(
value
=
"用户id"
)
@JsonIgnore
private
Integer
userAccountId
;
private
Integer
courseAttribute
;
public
void
buildCurrentPage
()
{
this
.
pageNo
=
(
pageNo
-
1
)
*
pageSize
;
}
}
release-service/src/main/java/com/mmc/csf/release/feign/UserAppApi.java
浏览文件 @
469d87ac
...
...
@@ -8,11 +8,13 @@ import com.mmc.csf.infomation.dto.UserBaseInfoDTO;
import
com.mmc.csf.release.auth.qo.BUserAccountQO
;
import
com.mmc.csf.release.auth.qo.UserAccountQO
;
import
com.mmc.csf.release.feign.hystrix.UserAppApiHystrix
;
import
com.mmc.csf.release.flyer.vo.CurriculumOrderLogVO
;
import
com.mmc.csf.user.vo.ChangeUserPointVO
;
import
io.swagger.annotations.ApiParam
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
/**
...
...
@@ -81,4 +83,10 @@ public interface UserAppApi {
@GetMapping
(
"/userapp/user-account/feignGetUserBaseInfo"
)
UserBaseInfoDTO
feignGetUserBaseInfo
(
@RequestParam
Integer
userAccountId
);
@GetMapping
(
"/userapp/userPoint/feignChangeUserPoints"
)
ResultBody
feignChangeUserPoints
(
@RequestHeader
(
"token"
)
String
token
,
@RequestHeader
HttpServletRequest
request
,
@RequestParam
(
"id"
)
int
changePoint
,
@RequestParam
(
"reason"
)
String
reason
);
@PostMapping
(
"/userapp/pay/feignCurriculumOrderLog"
)
ResultBody
feignCurriculumOrderLog
(
@RequestHeader
(
"token"
)
String
token
,
@RequestHeader
HttpServletRequest
request
,
@RequestBody
CurriculumOrderLogVO
curriculumOrderLogVO
);
}
release-service/src/main/java/com/mmc/csf/release/feign/hystrix/UserAppApiHystrix.java
浏览文件 @
469d87ac
...
...
@@ -9,9 +9,12 @@ import com.mmc.csf.infomation.dto.UserBaseInfoDTO;
import
com.mmc.csf.release.auth.qo.BUserAccountQO
;
import
com.mmc.csf.release.auth.qo.UserAccountQO
;
import
com.mmc.csf.release.feign.UserAppApi
;
import
com.mmc.csf.release.flyer.vo.CurriculumOrderLogVO
;
import
com.mmc.csf.user.vo.ChangeUserPointVO
;
import
lombok.extern.slf4j.Slf4j
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
...
...
@@ -68,5 +71,16 @@ public class UserAppApiHystrix implements UserAppApi {
return
null
;
}
@Override
public
ResultBody
feignChangeUserPoints
(
String
token
,
HttpServletRequest
request
,
int
changePoint
,
String
reason
)
{
log
.
error
(
"获取积分日志 熔断:feignChangeUserPoints:{}"
,
changePoint
,
reason
);
return
null
;
}
@Override
public
ResultBody
feignCurriculumOrderLog
(
String
token
,
HttpServletRequest
request
,
CurriculumOrderLogVO
curriculumOrderLogVO
)
{
return
null
;
}
}
release-service/src/main/java/com/mmc/csf/release/service/BackstageForumService.java
浏览文件 @
469d87ac
...
...
@@ -11,7 +11,7 @@ import com.mmc.csf.release.forum.qo.DynamicQO;
* @date 2023/6/19 10:47 概要:
*/
public
interface
BackstageForumService
{
PageResult
listDynamic
(
DynamicQO
dynamic
,
HttpServletRequest
request
);
PageResult
listDynamic
(
DynamicQO
dynamic
,
HttpServletRequest
request
);
ResultBody
getDynamicAuditSum
();
ResultBody
deleteDynamic
(
Integer
dynamicId
);
...
...
release-service/src/main/java/com/mmc/csf/release/service/FlyerTrainingService.java
浏览文件 @
469d87ac
...
...
@@ -2,10 +2,16 @@ package com.mmc.csf.release.service;
import
com.mmc.csf.common.util.page.PageResult
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.release.entity.curriculum.CurriculumInfoDO
;
import
com.mmc.csf.release.entity.curriculum.CurriculumOrderDO
;
import
com.mmc.csf.release.entity.curriculum.CurriculumOrderQO
;
import
com.mmc.csf.release.flyer.qo.CurriculumQo
;
import
com.mmc.csf.release.flyer.vo.CurriculumClassifyVO
;
import
com.mmc.csf.release.flyer.vo.CurriculumInfoVO
;
import
com.mmc.csf.release.flyer.vo.CurriculumPayVO
;
import
com.mmc.csf.release.flyer.vo.RegistrationVO
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
/**
...
...
@@ -52,7 +58,7 @@ public interface FlyerTrainingService {
*/
ResultBody
licenseOrSkillQueryCurriculum
(
Integer
type
);
ResultBody
curriculumDetails
(
Integer
id
);
ResultBody
curriculumDetails
(
Integer
id
,
Integer
userId
);
/**
* 添加课程
...
...
@@ -93,4 +99,68 @@ public interface FlyerTrainingService {
int
feignCountCurriculumInfo
(
Integer
categoriesId
);
Integer
getCurriculumCount
();
/**
* 添加课程分类
*
* @param curriculumClassify
*/
Integer
addCurriculumClassify
(
CurriculumClassifyVO
curriculumClassify
);
/**
* 修改课程分类
*
* @param curriculumClassify
*/
Integer
updateCurriculumClassify
(
CurriculumClassifyVO
curriculumClassify
);
/**
* 删除课程分类
*
* @param oneCourseId 1级课程分类
* @param twoCourseId 2级课程分类
*/
ResultBody
removeCurriculumClassify
(
Integer
id
);
/**
* 查询所有的课程分类
* @return
*/
ResultBody
selectCurriculumClassify
();
/**
* 根据课程ID查询课程信息
* @param id
* @return
*/
CurriculumInfoDO
selectCurriculumInfoById
(
Integer
id
);
/**
* 购买课程——积分支付
* @param curriculumOrderDO
* @return
*/
Integer
curriculumPayByIntegral
(
CurriculumOrderDO
curriculumOrderDO
);
/**
* 购买课程——金钱支付
* @param curriculumPayVO
* @return
*/
ResultBody
curriculumPayByMoney
(
HttpServletRequest
request
,
CurriculumPayVO
curriculumPayVO
,
Integer
accountId
);
/**
* 分页查询订单列表
* @param param
* @return {@link List}<{@link CurriculumOrderDO}>
*/
ResultBody
getCurriculumOrderList
(
CurriculumOrderQO
param
);
/**
* 删除订单
* @param id 删除对应订单的id
* @return {@link ResultBody}
*/
ResultBody
deleteCurriculumOrderInfo
(
Integer
id
);
}
release-service/src/main/java/com/mmc/csf/release/service/impl/BackRequirementsServiceImpl.java
浏览文件 @
469d87ac
...
...
@@ -73,7 +73,39 @@ public class BackRequirementsServiceImpl implements BackRequirementsService {
.
map
(
serviceOrderFormDTO
->
{
Integer
id
=
serviceOrderFormDTO
.
getId
();
List
<
ServiceOrderFormDO
>
listSon
=
backRequirementsDao
.
getSonFromFatherRequireId
(
id
);
List
<
ServiceOrderFormDTO
>
childrenList
=
listSon
.
stream
().
map
(
ServiceOrderFormDO:
:
buildServiceOrderForm
).
collect
(
Collectors
.
toList
());
//如果没有子订单 那就为总订单添加发单人和接单人信息
if
(
listSon
==
null
||
listSon
.
isEmpty
())
{
//获取发单人信息
Integer
userIdByRequireId
=
requirementsDao
.
getUserIdByRequireId
(
id
);
UserBaseInfoDTO
userBaseInfoDTO
=
userAppApi
.
feignGetUserBaseInfo
(
userIdByRequireId
);
serviceOrderFormDTO
.
setOrderRelease
(
userBaseInfoDTO
);
//获取接单人信息
Integer
pilotUserIdByRequireId
=
requirementsDao
.
getPilotUserIdByRequireId
(
id
);
if
(
pilotUserIdByRequireId
==
null
)
{
serviceOrderFormDTO
.
setOrderReceive
(
null
);
}
else
{
UserBaseInfoDTO
pilotUserBaseInfoDTO
=
userAppApi
.
feignGetUserBaseInfo
(
pilotUserIdByRequireId
);
serviceOrderFormDTO
.
setOrderReceive
(
pilotUserBaseInfoDTO
);
}
return
serviceOrderFormDTO
;
}
List
<
ServiceOrderFormDTO
>
childrenList
=
listSon
.
stream
().
map
(
ServiceOrderFormDO:
:
buildServiceOrderForm
).
map
(
serviceOrderFormDTO1
->
{
//获取发单人信息
Integer
userIdByRequireId
=
requirementsDao
.
getUserIdByRequireId
(
serviceOrderFormDTO1
.
getId
());
UserBaseInfoDTO
userBaseInfoDTO
=
userAppApi
.
feignGetUserBaseInfo
(
userIdByRequireId
);
serviceOrderFormDTO1
.
setOrderRelease
(
userBaseInfoDTO
);
//获取接单人信息
Integer
pilotUserIdByRequireId
=
requirementsDao
.
getPilotUserIdByRequireId
(
serviceOrderFormDTO1
.
getId
());
if
(
pilotUserIdByRequireId
==
null
)
{
serviceOrderFormDTO1
.
setOrderReceive
(
null
);
}
else
{
UserBaseInfoDTO
pilotUserBaseInfoDTO
=
userAppApi
.
feignGetUserBaseInfo
(
pilotUserIdByRequireId
);
serviceOrderFormDTO1
.
setOrderReceive
(
pilotUserBaseInfoDTO
);
}
return
serviceOrderFormDTO1
;
}).
collect
(
Collectors
.
toList
());
serviceOrderFormDTO
.
setChildrenRequire
(
childrenList
);
return
serviceOrderFormDTO
;
})
...
...
release-service/src/main/java/com/mmc/csf/release/service/impl/FlyerTrainingServiceImpl.java
浏览文件 @
469d87ac
差异被折叠。
点击展开。
release-service/src/main/resources/mapper/flyer/CurriculumOrderDao.xml
0 → 100644
浏览文件 @
469d87ac
<?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.CurriculumOrderDao"
>
<sql
id=
"Base_Column_List"
>
id,order_no,user_account_id,
order_total_amount,salary_amount,
cash_amount,we_chat,wechat_pay_order_number
</sql>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.Integer"
>
select
<include
refid=
"Base_Column_List"
/>
from curriculum_order
where id = #{id,jdbcType=INTEGER}
</select>
<select
id=
"getCountCurriculumOrder"
resultType=
"java.lang.Integer"
>
select count(ci.id) from curriculum_order
left join curriculum_info ci on ci.id = curriculum_order.curriculum_info_id
where 1=1
<if
test=
"orderNo!=null"
>
and order_no = #{orderNo}
</if>
<if
test=
"curriculumInfoId != null"
>
and curriculum_info_id = #{curriculumInfoId}
</if>
<if
test=
"userAccountId != null"
>
and user_account_id = #{userAccountId}
</if>
<if
test=
"courseAttribute != null"
>
and ci.course_attribute = #{courseAttribute}
</if>
</select>
<select
id=
"selectOrderList"
resultType=
"com.mmc.csf.release.entity.curriculum.CurriculumOrderDO"
>
select
co.id,order_no,user_account_id,
order_total_amount,salary_amount,
cash_amount,we_chat,wechat_pay_order_number,jifen_consume,curriculum_info_id,
ci.surface_url,
ci.video_url,
ci.curriculum_name,
ci.curriculum_desc,
ci.require_amout,
ci.require_integral,
ci.course_attribute
from curriculum_order co left join curriculum_info ci on ci.id = co.curriculum_info_id
where 1=1
<if
test=
"orderNo!=null"
>
and order_no = #{orderNo}
</if>
<if
test=
"curriculumInfoId != null"
>
and curriculum_info_id = #{curriculumInfoId}
</if>
<if
test=
"userAccountId != null"
>
and user_account_id = #{userAccountId}
<if
test=
"courseAttribute != null"
>
and ci.course_attribute = #{courseAttribute}
</if>
</if>
order by co.create_time desc
limit #{pageNo},#{pageSize}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.Integer"
>
delete
from curriculum_order
where id = #{id,jdbcType=INTEGER}
</delete>
<insert
id=
"insert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.mmc.csf.release.entity.curriculum.CurriculumOrderDO"
useGeneratedKeys=
"true"
>
insert into curriculum_order
( id, order_no, user_account_id
, order_total_amount, salary_amount
, cash_amount, we_chat, wechat_pay_order_number
, create_time, update_time)
values ( #{id,jdbcType=INTEGER}, #{orderNo,jdbcType=VARCHAR}, #{userAccountId,jdbcType=INTEGER}
, #{backUserId,jdbcType=INTEGER}, #{orderTotalAmount,jdbcType=DECIMAL}, #{salaryAmount,jdbcType=DECIMAL}
, #{cashAmount,jdbcType=DECIMAL}, #{weChat,jdbcType=DECIMAL}, #{wechatPayOrderNumber,jdbcType=VARCHAR}
, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert
id=
"insertSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.mmc.csf.release.entity.curriculum.CurriculumOrderDO"
useGeneratedKeys=
"true"
>
insert into curriculum_order
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
id,
</if>
<if
test=
"orderNo != null"
>
order_no,
</if>
<if
test=
"userAccountId != null"
>
user_account_id,
</if>
<if
test=
"orderTotalAmount != null"
>
order_total_amount,
</if>
<if
test=
"salaryAmount != null"
>
salary_amount,
</if>
<if
test=
"cashAmount != null"
>
cash_amount,
</if>
<if
test=
"weChat != null"
>
we_chat,
</if>
<if
test=
"wechatPayOrderNumber != null"
>
wechat_pay_order_number,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
#{id,jdbcType=INTEGER},
</if>
<if
test=
"orderNo != null"
>
#{orderNo,jdbcType=VARCHAR},
</if>
<if
test=
"userAccountId != null"
>
#{userAccountId,jdbcType=INTEGER},
</if>
<if
test=
"orderTotalAmount != null"
>
#{orderTotalAmount,jdbcType=DECIMAL},
</if>
<if
test=
"salaryAmount != null"
>
#{salaryAmount,jdbcType=DECIMAL},
</if>
<if
test=
"cashAmount != null"
>
#{cashAmount,jdbcType=DECIMAL},
</if>
<if
test=
"weChat != null"
>
#{weChat,jdbcType=DECIMAL},
</if>
<if
test=
"wechatPayOrderNumber != null"
>
#{wechatPayOrderNumber,jdbcType=VARCHAR},
</if>
<if
test=
"createTime != null"
>
#{createTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"updateTime != null"
>
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"com.mmc.csf.release.entity.curriculum.CurriculumOrderDO"
>
update curriculum_order
<set>
<if
test=
"orderNo != null"
>
order_no = #{orderNo,jdbcType=VARCHAR},
</if>
<if
test=
"userAccountId != null"
>
user_account_id = #{userAccountId,jdbcType=INTEGER},
</if>
<if
test=
"orderTotalAmount != null"
>
order_total_amount = #{orderTotalAmount,jdbcType=DECIMAL},
</if>
<if
test=
"salaryAmount != null"
>
salary_amount = #{salaryAmount,jdbcType=DECIMAL},
</if>
<if
test=
"cashAmount != null"
>
cash_amount = #{cashAmount,jdbcType=DECIMAL},
</if>
<if
test=
"weChat != null"
>
we_chat = #{weChat,jdbcType=DECIMAL},
</if>
<if
test=
"wechatPayOrderNumber != null"
>
wechat_pay_order_number = #{wechatPayOrderNumber,jdbcType=VARCHAR},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"com.mmc.csf.release.entity.curriculum.CurriculumOrderDO"
>
update curriculum_order
set order_no = #{orderNo,jdbcType=VARCHAR},
user_account_id = #{userAccountId,jdbcType=INTEGER},
order_total_amount = #{orderTotalAmount,jdbcType=DECIMAL},
salary_amount = #{salaryAmount,jdbcType=DECIMAL},
cash_amount = #{cashAmount,jdbcType=DECIMAL},
we_chat = #{weChat,jdbcType=DECIMAL},
wechat_pay_order_number = #{wechatPayOrderNumber,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
release-service/src/main/resources/mapper/flyer/FlyerTrainingDao.xml
浏览文件 @
469d87ac
...
...
@@ -27,39 +27,80 @@
<insert
id=
"addCurriculum"
keyProperty=
"id"
useGeneratedKeys=
"true"
parameterType=
"com.mmc.csf.release.entity.curriculum.CurriculumInfoDO"
>
INSERT INTO `curriculum_info`(`curriculum_name`, `supplier_id`, `curriculum_desc`, `drone_pilot_license_id`,
`flight_skills`, `categories_id`, `surface_url`, `video_url`, `detail_content`)
VALUES (#{curriculumName}, #{supplierId}, #{curriculumDesc}, #{dronePilotLicenseId}, #{flightSkills},
#{categoriesId}, #{surfaceUrl}, #{videoUrl}, #{detailContent});
INSERT INTO `curriculum_info`(`one_course_id`, `two_course_id`, `curriculum_name`, `curriculum_desc`,
`surface_url`, `video_url`, `course_attribute`, `require_amout`, `require_integral`, `is_hot`, `detail_content`)
VALUES (#{oneCourseId}, #{twoCourseId}, #{curriculumName}, #{curriculumDesc}, #{surfaceUrl},
#{videoUrl}, #{courseAttribute}, #{requireAmout}, #{requireIntegral}, #{isHot}, #{detailContent});
</insert>
<insert
id=
"addCurriculumClassify"
parameterType=
"com.mmc.csf.release.entity.curriculum.CurriculumClassifyDO"
>
INSERT INTO `course_classify`(`name`, `one_course_id`, `two_course_id`, `classify_url`, `classify_desc`)
VALUES (#{name}, #{oneCourseId}, #{twoCourseId}, #{classifyUrl}, #{classifyDesc});
</insert>
<insert
id=
"insertCurriculumOrder"
parameterType=
"com.mmc.csf.release.entity.curriculum.CurriculumOrderDO"
>
insert into curriculum_order
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
id,
</if>
<if
test=
"orderNo != null"
>
order_no,
</if>
<if
test=
"userAccountId != null"
>
user_account_id,
</if>
<if
test=
"orderTotalAmount != null"
>
order_total_amount,
</if>
<if
test=
"salaryAmount != null"
>
salary_amount,
</if>
<if
test=
"cashAmount != null"
>
cash_amount,
</if>
<if
test=
"weChat != null"
>
we_chat,
</if>
<if
test=
"wechatPayOrderNumber != null"
>
wechat_pay_order_number,
</if>
<if
test=
"curriculumInfoId != null"
>
curriculum_info_id,
</if>
<if
test=
"jifenConsume != null"
>
jifen_consume,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
#{id,jdbcType=INTEGER},
</if>
<if
test=
"orderNo != null"
>
#{orderNo,jdbcType=VARCHAR},
</if>
<if
test=
"userAccountId != null"
>
#{userAccountId,jdbcType=INTEGER},
</if>
<if
test=
"orderTotalAmount != null"
>
#{orderTotalAmount,jdbcType=DECIMAL},
</if>
<if
test=
"salaryAmount != null"
>
#{salaryAmount,jdbcType=DECIMAL},
</if>
<if
test=
"cashAmount != null"
>
#{cashAmount,jdbcType=DECIMAL},
</if>
<if
test=
"weChat != null"
>
#{weChat,jdbcType=DECIMAL},
</if>
<if
test=
"wechatPayOrderNumber != null"
>
#{wechatPayOrderNumber,jdbcType=VARCHAR},
</if>
<if
test=
"curriculumInfoId != null"
>
#{curriculumInfoId,jdbcType=VARCHAR},
</if>
<if
test=
"jifenConsume != null"
>
#{jifenConsume,jdbcType=VARCHAR}
</if>
</trim>
</insert>
<update
id=
"updateCurriculum"
parameterType=
"com.mmc.csf.release.entity.curriculum.CurriculumInfoDO"
>
UPDATE curriculum_info
<set>
<if
test=
"oneCourseId != null"
>
one_course_id = #{oneCourseId},
</if>
<if
test=
"twoCourseId != null"
>
two_course_id = #{twoCourseId},
</if>
<if
test=
"curriculumName != null"
>
curriculum_name = #{curriculumName},
</if>
<if
test=
"curriculumDesc != null"
>
curriculum_desc = #{curriculumDesc},
</if>
<if
test=
"dronePilotLicenseId != null"
>
drone_pilot_license_id = #{dronePilotLicenseId},
</if>
<if
test=
"flightSkills != null"
>
flight_skills = #{flightSkills},
</if>
<if
test=
"categoriesId != null"
>
categories_id = #{categoriesId},
</if>
<if
test=
"surfaceUrl != null"
>
surface_url = #{surfaceUrl},
</if>
<if
test=
"videoUrl != null"
>
video_url = #{videoUrl},
</if>
<if
test=
"detailContent "
>
<if
test=
"courseAttribute != null"
>
course_attribute = #{courseAttribute},
</if>
<if
test=
"requireAmout != null"
>
require_amout = #{requireAmout},
</if>
<if
test=
"requireIntegral != null"
>
require_integral = #{requireIntegral},
</if>
<if
test=
"isHot != null"
>
is_hot = #{isHot},
</if>
<if
test=
"detailContent != null "
>
detail_content = #{detailContent},
</if>
update_time = NOW()
</set>
<where>
id = #{id}
...
...
@@ -71,6 +112,36 @@
set is_deleted = 1
where id = #{id}
</update>
<update
id=
"updateCurriculumClassify"
parameterType=
"com.mmc.csf.release.entity.curriculum.CurriculumClassifyDO"
>
UPDATE course_classify
<set>
<if
test=
"name != null"
>
name = #{name},
</if>
<if
test=
"classifyUrl != null"
>
classify_url = #{classifyUrl},
</if>
<if
test=
"classifyDesc != null"
>
classify_desc = #{classifyDesc},
</if>
update_time = NOW()
</set>
<where>
one_course_id = #{oneCourseId}
<if
test=
"twoCourseId != null"
>
and two_course_id = #{twoCourseId}
</if>
</where>
</update>
<update
id=
"removeCurriculumClassify"
>
UPDATE course_classify
<set>
is_deleted = 1
</set>
<where>
id = #{id}
</where>
</update>
<select
id=
"selectAllLicenses"
resultType=
"com.mmc.csf.release.flyer.vo.DronePilotLicenseVO"
>
select id,
parent_id,
...
...
@@ -96,42 +167,39 @@
<if
test=
"curriculumName != null"
>
and ci.curriculum_name like CONCAT("%", #{curriculumName}, "%")
</if>
<if
test=
"licenseId != null"
>
and ci.drone_pilot_license_id = #{licenseId}
<if
test=
"oneCourseId != null"
>
and ci.one_course_id = #{oneCourseId}
</if>
<if
test=
"twoCourseId != null"
>
and ci.two_course_id = #{twoCourseId}
</if>
<if
test=
"courseAttribute != null"
>
and ci.course_attribute = #{courseAttribute}
</if>
<if
test=
"
flightSkillsId
!= null"
>
and ci.
flight_skills = #{flightSkillsId
}
<if
test=
"
isHot
!= null"
>
and ci.
is_hot = #{isHot
}
</if>
</where>
</select>
<select
id=
"listPageCurriculumInfo"
resultType=
"com.mmc.csf.release.entity.curriculum.CurriculumInfoDO"
>
SELECT
ci.id,
ci.curriculum_name,
ci.supplier_id,
ci.curriculum_price,
ci.curriculum_desc,
ci.is_free free,
ci.drone_pilot_license_id,
ci.flight_skills,
ci.detail_content,
ci.video_url,
ci.categories_id,
ci.surface_url
SELECT *
from curriculum_info ci
<where>
and ci.is_deleted = 0
<if
test=
"curriculumName != null"
>
and ci.curriculum_name like CONCAT("%", #{curriculumName}, "%")
</if>
<if
test=
"licenseId != null"
>
and drone_pilot_license_id = #{licenseId}
<if
test=
"oneCourseId != null"
>
and ci.one_course_id = #{oneCourseId}
</if>
<if
test=
"twoCourseId != null"
>
and ci.two_course_id = #{twoCourseId}
</if>
<if
test=
"
flightSkillsId
!= null"
>
and
flight_skills = #{flightSkillsId
}
<if
test=
"
courseAttribute
!= null"
>
and
ci.course_attribute = #{courseAttribute
}
</if>
<if
test=
"
categoriesId
!= null"
>
and c
ategories_id = #{categoriesId
}
<if
test=
"
isHot
!= null"
>
and c
i.is_hot = #{isHot
}
</if>
</where>
order by ci.create_time desc
...
...
@@ -204,4 +272,30 @@
from curriculum_info
where is_deleted = 0
</select>
<select
id=
"countOneCourseClassify"
resultType=
"java.lang.Integer"
>
SELECT COUNT(*)
FROM course_classify
WHERE two_course_id IS NULL
</select>
<select
id=
"countTwoCourseClassify"
resultType=
"java.lang.Integer"
>
SELECT COUNT(*)
FROM course_classify
WHERE one_course_id = #{one_course_id} and is_deleted = 0
</select>
<select
id=
"selectCurriculumClassify"
resultType=
"com.mmc.csf.release.entity.curriculum.CurriculumClassifyDO"
>
select * from course_classify
where is_deleted = 0
</select>
<select
id=
"selectCurriculumInfoById"
resultType=
"com.mmc.csf.release.entity.curriculum.CurriculumInfoDO"
>
select * from curriculum_info where id = #{id} and is_deleted = 0
</select>
<select
id=
"selectCurriculumClassifyById"
resultType=
"com.mmc.csf.release.entity.curriculum.CurriculumClassifyDO"
>
select * from course_classify where id = #{id} and is_deleted = 0
</select>
<select
id=
"selectCountCurriculumOrder"
resultType=
"java.lang.Integer"
>
select count(id) from curriculum_order
where user_account_id = #{userId} and curriculum_info_id = #{id}
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论