Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
cms-ci-test
Commits
05777d11
提交
05777d11
authored
10月 17, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
邀请活动相关接口开发及积分接口修改
上级
e57cd04e
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
773 行增加
和
21 行删除
+773
-21
ActivityDTO.java
...ava/com/mmc/iuav/user/model/dto/activity/ActivityDTO.java
+47
-0
ActivityPartDTO.java
...com/mmc/iuav/user/model/dto/activity/ActivityPartDTO.java
+40
-0
ActivityQO.java
.../src/main/java/com/mmc/iuav/user/model/qo/ActivityQO.java
+48
-0
ActivityVO.java
.../java/com/mmc/iuav/user/model/vo/activity/ActivityVO.java
+55
-0
ActivityController.java
...mmc/iuav/user/controller/activity/ActivityController.java
+73
-0
UserPointsEnum.java
...uav/user/controller/userpoints/config/UserPointsEnum.java
+4
-2
ActivityDao.java
...user/src/main/java/com/mmc/iuav/user/dao/ActivityDao.java
+41
-0
ActivityDO.java
...in/java/com/mmc/iuav/user/entity/activity/ActivityDO.java
+57
-0
ActivityPartDO.java
...ava/com/mmc/iuav/user/entity/activity/ActivityPartDO.java
+30
-0
ActivityService.java
.../main/java/com/mmc/iuav/user/service/ActivityService.java
+31
-0
ActivityServiceImpl.java
...a/com/mmc/iuav/user/service/impl/ActivityServiceImpl.java
+157
-0
CompanyAuthServiceImpl.java
...om/mmc/iuav/user/service/impl/CompanyAuthServiceImpl.java
+1
-0
UserAccountServiceImpl.java
...om/mmc/iuav/user/service/impl/UserAccountServiceImpl.java
+20
-19
activity.xml
...e/cms-service-user/src/main/resources/mapper/activity.xml
+169
-0
没有找到文件。
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/dto/activity/ActivityDTO.java
0 → 100644
浏览文件 @
05777d11
package
com
.
mmc
.
iuav
.
user
.
model
.
dto
.
activity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/10/16 14:49
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5184984402965050696L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"活动类型"
)
private
Integer
activityType
;
@ApiModelProperty
(
value
=
"活动名称"
)
private
String
activityName
;
@ApiModelProperty
(
value
=
"开始时间"
)
private
Date
startTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
Date
endTime
;
@ApiModelProperty
(
value
=
"描述"
)
private
String
description
;
@ApiModelProperty
(
value
=
"活动状态:0暂停, 1进行中"
)
private
Integer
activityStatus
;
@ApiModelProperty
(
value
=
"奖励类型(0积分,1余额,2优惠券)"
)
private
Integer
rewardType
;
@ApiModelProperty
(
value
=
"奖励额度"
)
private
Integer
rewardValue
;
@ApiModelProperty
(
value
=
"人数限制"
)
private
Integer
requireNum
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"活动参与者集合"
)
private
List
<
ActivityPartDTO
>
activityPartDTOS
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/dto/activity/ActivityPartDTO.java
0 → 100644
浏览文件 @
05777d11
package
com
.
mmc
.
iuav
.
user
.
model
.
dto
.
activity
;
import
com.mmc.iuav.user.model.dto.UserAccountSimpleDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/10/17 10:51
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityPartDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2536974516884301653L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"活动id"
)
private
Integer
activityId
;
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"被邀请用户id"
)
private
Integer
pUserAccountId
;
@ApiModelProperty
(
value
=
"邀请时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"用户信息"
)
private
UserAccountSimpleDTO
accountSimpleDTO
;
@ApiModelProperty
(
value
=
"被邀请用户"
)
private
UserAccountSimpleDTO
pAccountSimpleDTO
;
@ApiModelProperty
(
value
=
"奖励额度"
)
private
Integer
rewardValue
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/qo/ActivityQO.java
0 → 100644
浏览文件 @
05777d11
package
com
.
mmc
.
iuav
.
user
.
model
.
qo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.domain.Page
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/10/16 15:23
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
ActivityQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5184984402962050696L
;
@ApiModelProperty
(
value
=
"活动id"
)
private
Integer
activityId
;
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"活动类型(0用户邀请活动)"
)
private
Integer
activityType
;
@ApiModelProperty
(
value
=
"活动状态:0暂停, 1进行中"
)
private
Integer
activityStatus
;
@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
;
public
void
buildCurrentPage
()
{
this
.
pageNo
=
(
pageNo
-
1
)
*
pageSize
;
}
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/activity/ActivityVO.java
0 → 100644
浏览文件 @
05777d11
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
.
activity
;
import
com.mmc.iuav.group.Insert
;
import
com.mmc.iuav.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
java.io.Serializable
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/10/16 14:50
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
ActivityVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7232980603049531614L
;
@ApiModelProperty
(
value
=
"id"
)
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
@ApiModelProperty
(
value
=
"活动类型"
)
@NotNull
(
message
=
"活动类型不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
Integer
activityType
;
@ApiModelProperty
(
value
=
"活动名称"
)
@NotBlank
(
message
=
"活动名称不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
String
activityName
;
@ApiModelProperty
(
value
=
"开始时间"
)
@NotNull
(
message
=
"活动开始时间不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
Date
startTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
@NotNull
(
message
=
"活动结束时间不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
Date
endTime
;
@ApiModelProperty
(
value
=
"描述"
)
private
String
description
;
@ApiModelProperty
(
value
=
"活动状态:0暂停, 1进行中"
)
@NotNull
(
message
=
"活动状态不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
Integer
activityStatus
;
@ApiModelProperty
(
value
=
"奖励类型(0积分,1余额,2优惠券)"
)
@NotNull
(
message
=
"奖励类型不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
Integer
rewardType
;
@ApiModelProperty
(
value
=
"奖励额度"
)
@NotNull
(
message
=
"奖励额度不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
Integer
rewardValue
;
@ApiModelProperty
(
value
=
"人数限制"
)
@NotNull
(
message
=
"人数限制不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
Integer
requireNum
;
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/activity/ActivityController.java
0 → 100644
浏览文件 @
05777d11
package
com
.
mmc
.
iuav
.
user
.
controller
.
activity
;
import
com.mmc.iuav.group.Insert
;
import
com.mmc.iuav.group.Page
;
import
com.mmc.iuav.group.Update
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.controller.BaseController
;
import
com.mmc.iuav.user.model.dto.activity.ActivityDTO
;
import
com.mmc.iuav.user.model.qo.ActivityQO
;
import
com.mmc.iuav.user.model.vo.activity.ActivityVO
;
import
com.mmc.iuav.user.service.ActivityService
;
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.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author: zj
* @Date: 2023/10/16 15:06
*/
@Api
(
tags
=
"活动管理"
)
@RequestMapping
(
"/activity/"
)
@RestController
public
class
ActivityController
extends
BaseController
{
@Autowired
private
ActivityService
activityService
;
@ApiOperation
(
value
=
"添加活动"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"insert"
)
public
ResultBody
insertActivity
(
@Validated
(
Insert
.
class
)
@RequestBody
ActivityVO
activity
)
{
return
activityService
.
insertActivity
(
activity
);
}
@ApiOperation
(
value
=
"修改活动"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"update"
)
public
ResultBody
updateActivity
(
@Validated
(
Update
.
class
)
@RequestBody
ActivityVO
activity
)
{
return
activityService
.
updateActivity
(
activity
);
}
@ApiOperation
(
value
=
"活动详情"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ActivityDTO
.
class
)})
@GetMapping
(
"details"
)
public
ResultBody
details
(
@RequestParam
Integer
id
)
{
return
activityService
.
details
(
id
);
}
@ApiOperation
(
value
=
"删除活动"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"delete"
)
public
ResultBody
delete
(
@RequestParam
Integer
id
)
{
return
activityService
.
delete
(
id
);
}
@ApiOperation
(
value
=
"活动列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"listActivityPages"
)
public
ResultBody
listActivityPages
(
@Validated
(
Page
.
class
)
@RequestBody
ActivityQO
activityQO
)
{
return
activityService
.
listActivityPages
(
activityQO
);
}
@ApiOperation
(
value
=
"活动邀请详情"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"inviteDetail"
)
public
ResultBody
inviteDetail
(
@Validated
(
Page
.
class
)
@RequestBody
ActivityQO
activityQO
)
{
return
activityService
.
inviteDetail
(
activityQO
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/userpoints/config/UserPointsEnum.java
浏览文件 @
05777d11
...
...
@@ -10,10 +10,12 @@ public enum UserPointsEnum {
REGISTER
(
0
,
"注册"
),
REAL_NAME_AUTHENTICATION
(
1
,
"实名认证"
),
PILOT_CERTIFICATION
(
2
,
"飞手认证"
),
TOPIC_REWARD
(
3
,
"
发布话题
奖励"
),
TOPIC_REWARD
(
3
,
"
论坛发布
奖励"
),
SIGN_IN_REWARD
(
4
,
"签到"
),
OTHER_CHANGE
(
5
,
"其他变动"
),
USER_USE
(
6
,
"使用"
);
USER_USE
(
6
,
"使用"
),
INVITE_USER
(
7
,
"邀请用户"
),
;
private
int
code
;
private
String
message
;
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/ActivityDao.java
0 → 100644
浏览文件 @
05777d11
package
com
.
mmc
.
iuav
.
user
.
dao
;
import
com.mmc.iuav.user.entity.activity.ActivityDO
;
import
com.mmc.iuav.user.entity.activity.ActivityPartDO
;
import
com.mmc.iuav.user.model.qo.ActivityQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/10/16 15:08
*/
@Mapper
public
interface
ActivityDao
{
void
delete
(
Integer
id
);
ActivityDO
details
(
Integer
id
);
int
countListActivityPages
(
ActivityQO
activityQO
);
List
<
ActivityDO
>
listActivityPages
(
ActivityQO
activityQO
);
int
countCurrentActivity
(
ActivityDO
activity
);
void
insertActivity
(
ActivityDO
activityDO
);
void
updateActivity
(
ActivityDO
activityDO
);
int
countSameActivityName
(
ActivityDO
activityDO
);
ActivityDO
currentActivity
(
Integer
activityType
);
int
countActivityPart
(
Integer
activityId
,
Integer
userAccountId
);
void
insertActivityPart
(
ActivityPartDO
activityPartDO
);
List
<
ActivityPartDO
>
activityPartDetail
(
ActivityQO
activityQO
);
int
countActivityPartDetail
(
ActivityQO
activityQO
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/activity/ActivityDO.java
0 → 100644
浏览文件 @
05777d11
package
com
.
mmc
.
iuav
.
user
.
entity
.
activity
;
import
com.mmc.iuav.user.model.dto.activity.ActivityDTO
;
import
com.mmc.iuav.user.model.vo.activity.ActivityVO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.util.CollectionUtils
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author: zj
* @Date: 2023/10/16 14:42
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
ActivityDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1748125765671153744L
;
private
Integer
id
;
private
Integer
activityType
;
private
String
activityName
;
private
Date
startTime
;
private
Date
endTime
;
private
String
description
;
private
Integer
activityStatus
;
private
Integer
rewardType
;
private
Integer
rewardValue
;
private
Integer
requireNum
;
private
Date
createTime
;
private
List
<
ActivityPartDO
>
activityPartDTOS
;
public
ActivityDTO
buildActivityDTO
()
{
return
ActivityDTO
.
builder
().
id
(
this
.
id
).
activityType
(
this
.
activityType
).
activityName
(
this
.
activityName
).
activityStatus
(
this
.
activityStatus
)
.
startTime
(
this
.
startTime
).
endTime
(
this
.
endTime
).
description
(
this
.
description
).
rewardType
(
this
.
rewardType
).
rewardValue
(
this
.
rewardValue
)
.
requireNum
(
this
.
requireNum
).
createTime
(
this
.
createTime
).
activityPartDTOS
(
CollectionUtils
.
isEmpty
(
this
.
activityPartDTOS
)
?
null
:
this
.
activityPartDTOS
.
stream
().
map
(
ActivityPartDO:
:
buildActivityPartDTO
).
collect
(
Collectors
.
toList
())
).
build
();
}
public
ActivityDO
(
ActivityVO
activityVO
)
{
this
.
id
=
activityVO
.
getId
();
this
.
activityType
=
activityVO
.
getActivityType
();
this
.
activityName
=
activityVO
.
getActivityName
();
this
.
activityStatus
=
activityVO
.
getActivityStatus
();
this
.
startTime
=
activityVO
.
getStartTime
();
this
.
endTime
=
activityVO
.
getEndTime
();
this
.
description
=
activityVO
.
getDescription
();
this
.
rewardType
=
activityVO
.
getRewardType
();
this
.
rewardValue
=
activityVO
.
getRewardValue
();
this
.
requireNum
=
activityVO
.
getRequireNum
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/activity/ActivityPartDO.java
0 → 100644
浏览文件 @
05777d11
package
com
.
mmc
.
iuav
.
user
.
entity
.
activity
;
import
com.mmc.iuav.user.model.dto.activity.ActivityPartDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/10/16 14:44
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
ActivityPartDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1113620415679504481L
;
private
Integer
id
;
private
Integer
activityId
;
private
Integer
userAccountId
;
private
Integer
pUserAccountId
;
private
Date
createTime
;
public
ActivityPartDTO
buildActivityPartDTO
()
{
return
ActivityPartDTO
.
builder
().
id
(
this
.
id
).
activityId
(
this
.
activityId
).
userAccountId
(
this
.
userAccountId
)
.
pUserAccountId
(
this
.
pUserAccountId
).
createTime
(
this
.
createTime
).
build
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/ActivityService.java
0 → 100644
浏览文件 @
05777d11
package
com
.
mmc
.
iuav
.
user
.
service
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.qo.ActivityQO
;
import
com.mmc.iuav.user.model.vo.activity.ActivityVO
;
/**
* @author: zj
* @Date: 2023/10/16 15:09
*/
public
interface
ActivityService
{
ResultBody
insertActivity
(
ActivityVO
activity
);
ResultBody
updateActivity
(
ActivityVO
activity
);
ResultBody
details
(
Integer
id
);
ResultBody
listActivityPages
(
ActivityQO
activityQO
);
/**
* @param activityType
* @param userAccountId 邀请人id
* @param pUserAccountId 被邀请人id
* @return
*/
ResultBody
participateActivity
(
Integer
activityType
,
Integer
userAccountId
,
Integer
pUserAccountId
);
ResultBody
delete
(
Integer
id
);
ResultBody
inviteDetail
(
ActivityQO
activityQO
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/ActivityServiceImpl.java
0 → 100644
浏览文件 @
05777d11
package
com
.
mmc
.
iuav
.
user
.
service
.
impl
;
import
com.mmc.iuav.page.PageResult
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.dao.ActivityDao
;
import
com.mmc.iuav.user.entity.activity.ActivityDO
;
import
com.mmc.iuav.user.entity.activity.ActivityPartDO
;
import
com.mmc.iuav.user.model.dto.UserAccountSimpleDTO
;
import
com.mmc.iuav.user.model.dto.activity.ActivityDTO
;
import
com.mmc.iuav.user.model.dto.activity.ActivityPartDTO
;
import
com.mmc.iuav.user.model.qo.ActivityQO
;
import
com.mmc.iuav.user.model.vo.activity.ActivityVO
;
import
com.mmc.iuav.user.model.vo.userpoints.ChangeUserPointVO
;
import
com.mmc.iuav.user.service.ActivityService
;
import
com.mmc.iuav.user.service.UserAccountService
;
import
com.mmc.iuav.user.service.userpoints.UserPointsService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @author: zj
* @Date: 2023/10/16 15:09
*/
@Service
@Slf4j
public
class
ActivityServiceImpl
implements
ActivityService
{
@Autowired
private
ActivityDao
activityDao
;
@Autowired
private
UserPointsService
userPointsService
;
@Autowired
private
UserAccountService
userAccountService
;
@Override
public
ResultBody
insertActivity
(
ActivityVO
activity
)
{
ActivityDO
activityDO
=
new
ActivityDO
(
activity
);
int
countSame
=
activityDao
.
countSameActivityName
(
activityDO
);
if
(
countSame
>
0
)
{
return
ResultBody
.
error
(
"活动名称已存在!"
);
}
// 活动时间不能有交集
int
count
=
activityDao
.
countCurrentActivity
(
activityDO
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
"当前有活动正在进行中!"
);
}
activityDao
.
insertActivity
(
activityDO
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
updateActivity
(
ActivityVO
activity
)
{
ActivityDO
activityDO
=
new
ActivityDO
(
activity
);
int
countSame
=
activityDao
.
countSameActivityName
(
activityDO
);
if
(
countSame
>
0
)
{
return
ResultBody
.
error
(
"活动名称已存在!"
);
}
// 活动时间不能有交集
int
count
=
activityDao
.
countCurrentActivity
(
activityDO
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
"当前有活动正在进行中!"
);
}
activityDao
.
updateActivity
(
activityDO
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
details
(
Integer
id
)
{
ActivityDO
activityDO
=
activityDao
.
details
(
id
);
if
(
activityDO
!=
null
)
{
return
ResultBody
.
success
(
activityDO
.
buildActivityDTO
());
}
return
ResultBody
.
success
();
}
@Override
public
ResultBody
listActivityPages
(
ActivityQO
activityQO
)
{
int
count
=
activityDao
.
countListActivityPages
(
activityQO
);
if
(
count
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
activityQO
.
getPageNo
(),
activityQO
.
getPageSize
(),
count
));
}
Integer
pageNo
=
activityQO
.
getPageNo
();
activityQO
.
buildCurrentPage
();
List
<
ActivityDO
>
activityDOS
=
activityDao
.
listActivityPages
(
activityQO
);
List
<
ActivityDTO
>
activityDTOS
=
activityDOS
.
stream
().
map
(
ActivityDO:
:
buildActivityDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
activityQO
.
getPageSize
(),
count
,
activityDTOS
));
}
@Transactional
@Override
public
ResultBody
participateActivity
(
Integer
activityType
,
Integer
userAccountId
,
Integer
pUserAccountId
)
{
ActivityDO
activityDO
=
activityDao
.
currentActivity
(
activityType
);
if
(
activityDO
==
null
)
{
return
ResultBody
.
success
();
}
// 查询是否超过奖励限制
int
count
=
activityDao
.
countActivityPart
(
activityDO
.
getId
(),
userAccountId
);
if
(
activityDO
.
getRequireNum
()
==
0
||
count
<
activityDO
.
getRequireNum
())
{
// 暂时只奖励积分
ChangeUserPointVO
changePoint
=
new
ChangeUserPointVO
();
changePoint
.
setUserAccountId
(
userAccountId
);
changePoint
.
setChangePoint
(
activityDO
.
getRewardValue
());
changePoint
.
setChangeType
(
7
);
userPointsService
.
change
(
changePoint
);
}
// 记录领取信息(被邀请)
ActivityPartDO
activityPartDO
=
new
ActivityPartDO
(
null
,
activityDO
.
getId
(),
userAccountId
,
pUserAccountId
,
new
Date
());
activityDao
.
insertActivityPart
(
activityPartDO
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
delete
(
Integer
id
)
{
activityDao
.
delete
(
id
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
inviteDetail
(
ActivityQO
activityQO
)
{
int
count
=
activityDao
.
countActivityPartDetail
(
activityQO
);
if
(
count
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
activityQO
.
getPageNo
(),
activityQO
.
getPageSize
(),
count
));
}
Integer
pageNo
=
activityQO
.
getPageNo
();
activityQO
.
buildCurrentPage
();
List
<
ActivityPartDO
>
activityPartDOS
=
activityDao
.
activityPartDetail
(
activityQO
);
List
<
ActivityPartDTO
>
activityPartDTOS
=
activityPartDOS
.
stream
().
map
(
ActivityPartDO:
:
buildActivityPartDTO
).
collect
(
Collectors
.
toList
());
// 邀请人id
List
<
Integer
>
userIds
=
activityPartDTOS
.
stream
().
map
(
ActivityPartDTO:
:
getUserAccountId
).
collect
(
Collectors
.
toList
());
// 被邀请人id
List
<
Integer
>
pUserIds
=
activityPartDTOS
.
stream
().
map
(
ActivityPartDTO:
:
getPUserAccountId
).
collect
(
Collectors
.
toList
());
List
<
UserAccountSimpleDTO
>
userAccountSimpleDTOS
=
userAccountService
.
feignListUserAccountByIds
(
userIds
);
List
<
UserAccountSimpleDTO
>
pUserAccountDTOS
=
userAccountService
.
feignListUserAccountByIds
(
pUserIds
);
if
(!
CollectionUtils
.
isEmpty
(
userAccountSimpleDTOS
))
{
Map
<
Integer
,
UserAccountSimpleDTO
>
userMap
=
userAccountSimpleDTOS
.
stream
().
collect
(
Collectors
.
toMap
(
UserAccountSimpleDTO:
:
getId
,
k1
->
k1
,
(
k1
,
k2
)
->
k2
));
for
(
ActivityPartDTO
activityPartDTO
:
activityPartDTOS
)
{
activityPartDTO
.
setAccountSimpleDTO
(
userMap
.
get
(
activityPartDTO
.
getUserAccountId
()));
}
}
if
(!
CollectionUtils
.
isEmpty
(
pUserAccountDTOS
))
{
Map
<
Integer
,
UserAccountSimpleDTO
>
pUserMap
=
pUserAccountDTOS
.
stream
().
collect
(
Collectors
.
toMap
(
UserAccountSimpleDTO:
:
getId
,
k1
->
k1
,
(
k1
,
k2
)
->
k2
));
for
(
ActivityPartDTO
activityPartDTO
:
activityPartDTOS
)
{
activityPartDTO
.
setPAccountSimpleDTO
(
pUserMap
.
get
(
activityPartDTO
.
getPUserAccountId
()));
}
}
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
activityQO
.
getPageSize
(),
count
,
activityPartDTOS
));
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/CompanyAuthServiceImpl.java
浏览文件 @
05777d11
...
...
@@ -75,6 +75,7 @@ public class CompanyAuthServiceImpl implements CompanyAuthService {
}
//将字符串转化成json对象
JSONObject
businessResJson
=
JSONObject
.
parseObject
(
businessRes
);
System
.
out
.
println
(
businessResJson
.
toString
());
if
(
businessResJson
.
getString
(
"success"
).
equals
(
"false"
))
{
return
ResultBody
.
error
(
ResultEnum
.
BUSINESS_LICENSE_CHECK_ANALYSIS_ERROR
);
}
else
{
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/UserAccountServiceImpl.java
浏览文件 @
05777d11
...
...
@@ -22,16 +22,12 @@ import com.mmc.iuav.user.model.qo.UserRcdQO;
import
com.mmc.iuav.user.model.vo.*
;
import
com.mmc.iuav.user.model.vo.userpoints.UserPointsVO
;
import
com.mmc.iuav.user.mq.MqProducer
;
import
com.mmc.iuav.user.service.CompanyAuthService
;
import
com.mmc.iuav.user.service.RealNameAuthService
;
import
com.mmc.iuav.user.service.UserAccountService
;
import
com.mmc.iuav.user.service.WxService
;
import
com.mmc.iuav.user.service.*
;
import
com.mmc.iuav.user.util.SmsUtil
;
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.messaging.simp.annotation.SendToUser
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
...
...
@@ -61,6 +57,9 @@ public class UserAccountServiceImpl implements UserAccountService {
private
RealNameAuthService
realNameAuthService
;
@Autowired
private
ActivityService
activityService
;
@Autowired
private
CooperationDao
cooperationDao
;
@Autowired
...
...
@@ -147,7 +146,7 @@ public class UserAccountServiceImpl implements UserAccountService {
public
ResultBody
update
(
UserAccountVO
userAccountVO
)
{
UserAccountDO
userAccountDO
=
new
UserAccountDO
(
userAccountVO
);
int
i
=
userServiceDao
.
selectUserAccountNickName
(
userAccountDO
);
if
(
i
!=
0
)
{
if
(
i
!=
0
)
{
return
ResultBody
.
error
(
"昵称被占用,请重新修改"
);
}
userServiceDao
.
update
(
userAccountDO
);
...
...
@@ -196,7 +195,7 @@ public class UserAccountServiceImpl implements UserAccountService {
}
for
(
UserAccountDO
userAccountDO
:
list
)
{
Integer
districtChildId
=
userAccountDO
.
getDistrictChildId
();
if
(
districtChildId
!=
null
)
{
if
(
districtChildId
!=
null
)
{
String
districtChild
=
userServiceDao
.
getDistrictChild
(
districtChildId
);
userAccountDO
.
setRegion
(
districtChild
);
}
...
...
@@ -254,6 +253,8 @@ public class UserAccountServiceImpl implements UserAccountService {
if
(
realNameAuthByUId
!=
null
&&
realNameAuthByUId
.
getCheckStatus
()
==
1
)
{
realNameextracted
(
id
);
}
// 奖励邀请人
activityService
.
participateActivity
(
0
,
rcdUserId
,
id
);
return
ResultBody
.
success
();
}
...
...
@@ -465,11 +466,11 @@ public class UserAccountServiceImpl implements UserAccountService {
@Override
public
ResultBody
getVerifyCode
(
Integer
userAccountId
,
String
phoneNum
)
{
Integer
count
=
userServiceDao
.
countPhoneNum
(
phoneNum
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
"80001"
,
"手机号已存在"
);
Integer
count
=
userServiceDao
.
countPhoneNum
(
phoneNum
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
"80001"
,
"手机号已存在"
);
}
// 根据手机号生成验证码
// 根据手机号生成验证码
String
verifyCode
=
CodeUtil
.
getRandomNum
(
6
);
// 保存到redis中
Map
<
String
,
String
>
redisData
=
new
HashMap
<>();
...
...
@@ -497,7 +498,7 @@ public class UserAccountServiceImpl implements UserAccountService {
}
int
count
=
userServiceDao
.
countPhoneNums
(
phoneNum
,
userAccountId
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
"80001"
,
"手机号已存在"
);
return
ResultBody
.
error
(
"80001"
,
"手机号已存在"
);
}
userServiceDao
.
updateAccountPhone
(
userAccountId
,
phoneNum
);
return
ResultBody
.
success
();
...
...
@@ -506,9 +507,9 @@ public class UserAccountServiceImpl implements UserAccountService {
@Override
public
ResultBody
appUpdateUser
(
UserMessageQO
userMessageQO
)
{
int
i
=
userServiceDao
.
selectUserAccount
(
userMessageQO
);
if
(
i
!=
0
)
{
if
(
i
!=
0
)
{
return
ResultBody
.
error
(
"昵称被占用,请重新修改"
);
}
else
{
}
else
{
userServiceDao
.
appUpdateUser
(
userMessageQO
);
}
return
ResultBody
.
success
();
...
...
@@ -516,11 +517,11 @@ public class UserAccountServiceImpl implements UserAccountService {
@Override
public
UserAccountMessageVo
userMessages
(
Integer
userAccountId
)
{
UserAccountMessageVo
user
=
userServiceDao
.
userMessages
(
userAccountId
);
if
(
user
!=
null
)
{
List
<
String
>
strings
=
userServiceDao
.
userMessagesPilot
(
user
.
getPilotId
());
user
.
setAbilityName
(
strings
);
}
UserAccountMessageVo
user
=
userServiceDao
.
userMessages
(
userAccountId
);
if
(
user
!=
null
)
{
List
<
String
>
strings
=
userServiceDao
.
userMessagesPilot
(
user
.
getPilotId
());
user
.
setAbilityName
(
strings
);
}
return
user
;
}
...
...
csm-service/cms-service-user/src/main/resources/mapper/activity.xml
0 → 100644
浏览文件 @
05777d11
<?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.iuav.user.dao.ActivityDao"
>
<resultMap
id=
"activityResultMap"
type=
"com.mmc.iuav.user.entity.activity.ActivityDO"
>
<id
column=
"id"
property=
"id"
/>
<result
column=
"activity_type"
property=
"activityType"
/>
<result
column=
"activity_name"
property=
"activityName"
/>
<result
column=
"start_time"
property=
"startTime"
/>
<result
column=
"end_time"
property=
"endTime"
/>
<result
column=
"description"
property=
"description"
/>
<result
column=
"activity_status"
property=
"activityStatus"
/>
<result
column=
"reward_type"
property=
"rewardType"
/>
<result
column=
"reward_value"
property=
"rewardValue"
/>
<result
column=
"require_num"
property=
"requireNum"
/>
<result
column=
"create_time"
property=
"createTime"
/>
</resultMap>
<sql
id=
"activity_column"
>
ac.id, ac.activity_type, ac.activity_name, ac.start_time, ac.end_time, ac.description, ac.activity_status,
ac.reward_type, ac.reward_value, ac.require_num, ac.create_time
</sql>
<sql
id=
"activity_part_column"
>
ap.id, ap.activity_id, ap.user_account_id, ap.p_user_account_id, ap.create_time
</sql>
<insert
id=
"insertActivity"
parameterType=
"com.mmc.iuav.user.entity.activity.ActivityDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into activity (activity_type, activity_name, start_time, end_time, description, activity_status, reward_type,
reward_value, require_num, create_time)
values (#{activityType}, #{activityName}, #{startTime}, #{endTime}, #{description}, #{activityStatus}, #{rewardType},
#{rewardValue}, #{requireNum}, NOW())
</insert>
<insert
id=
"insertActivityPart"
parameterType=
"com.mmc.iuav.user.entity.activity.ActivityPartDO"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into activity_part (activity_id, user_account_id, p_user_account_id, create_time)
values (#{activityId}, #{userAccountId}, #{pUserAccountId}, NOW())
</insert>
<update
id=
"updateActivity"
parameterType=
"com.mmc.iuav.user.entity.activity.ActivityDO"
>
update activity
<set>
<if
test=
"activityType != null"
>
activity_type = #{activityType},
</if>
<if
test=
"activityName != null"
>
activity_name = #{activityName},
</if>
<if
test=
"startTime != null"
>
start_time = #{startTime},
</if>
<if
test=
"endTime != null"
>
end_time = #{endTime},
</if>
<if
test=
"description != null"
>
description = #{description},
</if>
<if
test=
"activityStatus != null"
>
activity_status = #{activityStatus},
</if>
<if
test=
"rewardType != null"
>
reward_type = #{rewardType},
</if>
<if
test=
"rewardValue != null"
>
reward_value = #{rewardValue},
</if>
<if
test=
"requireNum != null"
>
require_num = #{requireNum}
</if>
</set>
where id = #{id}
</update>
<update
id=
"delete"
>
update activity set is_deleted = 1 where id = #{id}
</update>
<select
id=
"details"
resultType=
"com.mmc.iuav.user.entity.activity.ActivityDO"
>
select
<include
refid=
"activity_column"
/>
from activity ac where ac.id = #{id}
</select>
<select
id=
"countListActivityPages"
resultType=
"java.lang.Integer"
parameterType=
"com.mmc.iuav.user.model.qo.ActivityQO"
>
select count(*) from activity
where is_deleted = 0
<if
test=
"activityType != null"
>
and activity_type = #{activityType}
</if>
<if
test=
"activityStatus != null"
>
and activity_status = #{activityStatus}
</if>
</select>
<select
id=
"listActivityPages"
resultType=
"com.mmc.iuav.user.entity.activity.ActivityDO"
>
select
<include
refid=
"activity_column"
/>
from activity ac
where ac.is_deleted = 0
<if
test=
"activityType != null"
>
and ac.activity_type = #{activityType}
</if>
<if
test=
"activityStatus != null"
>
and ac.activity_status = #{activityStatus}
</if>
order by ac.id desc
limit #{pageNo}, #{pageSize}
</select>
<select
id=
"countCurrentActivity"
resultType=
"java.lang.Integer"
parameterType=
"com.mmc.iuav.user.entity.activity.ActivityDO"
>
select count(*) from activity ac
where ac.is_deleted = 0 and ac.activity_status = 1
<if
test=
"startTime != null"
>
and ( #{startTime} >= ac.start_time and ac.end_time >= #{startTime} )
</if>
<if
test=
"endTime != null"
>
and ( #{endTime} >= ac.start_time and ac.end_time >= #{endTime} )
</if>
</select>
<select
id=
"countSameActivityName"
resultType=
"java.lang.Integer"
parameterType=
"com.mmc.iuav.user.entity.activity.ActivityDO"
>
select count(*) from activity
where is_deleted = 0
<if
test=
"activityName != null"
>
and activity_name = #{activityName}
</if>
<if
test=
"id != null"
>
and id != #{id}
</if>
</select>
<select
id=
"currentActivity"
resultType=
"com.mmc.iuav.user.entity.activity.ActivityDO"
>
select
<include
refid=
"activity_column"
/>
from activity ac
where ac.is_deleted = 0 and ac.activity_status = 0 and ( NOW() >= ac.start_time and ac.end_time >= NOW() ) and
ac.activityType =
#{activityType}
</select>
<select
id=
"countActivityPart"
resultType=
"java.lang.Integer"
>
select count(*) from activity ac inner join activity_part acp on ac.id = acp.activity_id
where acp.activity_id = #{activityId} and acp.user_account_id = #{userAccountId}
</select>
<select
id=
"activityPartDetail"
resultType=
"com.mmc.iuav.user.entity.activity.ActivityPartDO"
parameterType=
"com.mmc.iuav.user.model.qo.ActivityQO"
>
select
<include
refid=
"activity_part_column"
/>
, ac.reward_value
from activity_part ap inner join activity ac on ap.activity_id = ac.id
where ac.id = #{activityId}
order by ap.id desc
limit #{pageNo}, #{pageSize}
</select>
<select
id=
"countActivityPartDetail"
resultType=
"java.lang.Integer"
parameterType=
"com.mmc.iuav.user.model.qo.ActivityQO"
>
select count(*)
from activity_part ap inner join activity ac on ap.activity_id = ac.id
where ac.id = #{activityId}
</select>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论