Browse Source

Merge remote-tracking branch 'origin/dev_bugfix' into dev

dev_shibei_match
wangchao 5 years ago
parent
commit
12b98c7cdd
  1. 6
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/AdjustmentController.java
  2. 6
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointRuleController.java
  3. 31
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java
  4. 4
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/utils/ModuleConstant.java

6
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/AdjustmentController.java

@ -2,6 +2,8 @@ package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
@ -42,6 +44,7 @@ public class AdjustmentController {
* @date 2020.07.27 10:57
**/
@PostMapping("userlist")
@RequirePermission(requirePermission = RequirePermissionEnum.MORE_POINT_USER_MANAGE_LIST)
public Result<List<CustomerUser4PointResultDTO>> userList(@RequestBody CustomerUserFormDTO param){
ValidatorUtils.validateEntity(param, CustomerUserFormDTO.CustomerIdGroup.class);
return epmetUserOpenFeignClient.customerUserList(param);
@ -55,6 +58,7 @@ public class AdjustmentController {
* @date 2020.07.27 11:15
**/
@PostMapping("userdetail")
@RequirePermission(requirePermission = RequirePermissionEnum.MORE_POINT_USER_MANAGE_DETAIL_VIEW)
public Result<CustomerUserDetailResultDTO> userDetail(@RequestBody IssueInitiatorFormDTO param){
ValidatorUtils.validateEntity(param,IssueInitiatorFormDTO.UserIdGroup.class);
return new Result<CustomerUserDetailResultDTO>().ok(pointAdjustmentLogService.userDetail(param));
@ -68,6 +72,7 @@ public class AdjustmentController {
* @date 2020.07.27 10:51
**/
@PostMapping("adjustrecord")
@RequirePermission(requirePermission = RequirePermissionEnum.MORE_POINT_USER_MANAGE_ADJUST_REC_VIEW)
public Result<List<PointAdjustmentResultDTO>> adjustRecord(@RequestBody IssueInitiatorFormDTO param){
ValidatorUtils.validateEntity(param, IssueInitiatorFormDTO.UserIdGroup.class);
return new Result<List<PointAdjustmentResultDTO>>().ok(pointAdjustmentLogService.adjustRecord(param));
@ -81,6 +86,7 @@ public class AdjustmentController {
* @date 2020.07.27 13:52
**/
@PostMapping("adjust")
@RequirePermission(requirePermission = RequirePermissionEnum.MORE_POINT_USER_MANAGE_ADJUST_POINT)
public Result adjustPoint(@LoginUser TokenDto token, @RequestBody PointAdjustmentFormDTO param){
param.setOperatorId(token.getUserId());
param.setCustomerId(token.getCustomerId());

6
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointRuleController.java

@ -1,6 +1,8 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
@ -40,6 +42,7 @@ public class PointRuleController {
* @return
*/
@PostMapping(value = "functionlist")
@RequirePermission( requirePermission = RequirePermissionEnum.MORE_POINT_RULE_FUNCTION_LIST)
public Result<List<CustomerFunctionResultDTO>> getFunctionList(@LoginUser TokenDto tokenDTO) {
return new Result<List<CustomerFunctionResultDTO>>().ok(pointRuleService.getFunctionList(tokenDTO.getCustomerId()));
}
@ -52,6 +55,7 @@ public class PointRuleController {
* @return
*/
@PostMapping(value = "list")
@RequirePermission( requirePermission = RequirePermissionEnum.MORE_POINT_RULE_LIST)
public Result<List<PointRuleResultDTO>> list( @RequestBody PointRuleListFormDTO formDTO) {
formDTO.setCustomerId("3ef7e4bb195eb9e622d68b52509aa940");
ValidatorUtils.validateEntity(formDTO);
@ -65,6 +69,7 @@ public class PointRuleController {
* @return
*/
@PostMapping(value = "detail")
@RequirePermission( requirePermission = RequirePermissionEnum.MORE_POINT_RULE_DETAIL)
public Result<PointDetailResultDTO> detail(@RequestBody PointDetailFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<PointDetailResultDTO>().ok(pointRuleService.detail(formDTO));
@ -77,6 +82,7 @@ public class PointRuleController {
* @return
*/
@PostMapping(value = "update")
@RequirePermission( requirePermission = RequirePermissionEnum.MORE_POINT_RULE_SAVE)
public Result<Boolean> update(@LoginUser TokenDto tokenDTO, @RequestBody PointRuleFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
ValidatorUtils.validateEntity(formDTO, UpdateGroup.class);

31
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java

@ -32,7 +32,6 @@ import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dao.UserPointActionLogDao;
import com.epmet.dto.UserPointActionLogDTO;
import com.epmet.dto.form.CommonPageUserFormDTO;
import com.epmet.dto.form.PointRuleListFormDTO;
import com.epmet.dto.result.ResiPointLogListResultDTO;
import com.epmet.dto.result.ResiPointLogPeriodResultDTO;
import com.epmet.entity.PointRuleEntity;
@ -49,8 +48,6 @@ import com.google.common.collect.Maps;
import dto.form.SendPointFormDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.bouncycastle.math.raw.Mod;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -193,7 +190,6 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
logger.error(String.format("无法识别事件类型与积分规则,消息体->【%s】", JSON.toJSON(event)));
throw new RenException("无法识别事件类型与积分规则");
}
PointRuleEntity ruleInfo = pointRuleService.getByEventCodeAndCustomerId(event.getCustomerId(),eventCode);
if(null != ruleInfo && StringUtils.equals(NumConstant.ONE_STR,ruleInfo.getEnabledFlag())){
Date dateCheck = null;
@ -219,22 +215,22 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
Integer sum = baseDao.selectSumByEvent(event.getUserId(),eventCode,event.getSourceId(),event.getCustomerId(),dateCheck);
if(null == sum) sum = NumConstant.ZERO;
if(StringUtils.equals(ModuleConstant.OPERATION_TYPE_PLUS,ruleInfo.getOperateType())){
sum += ruleInfo.getPoint();
if(ruleInfo.getPoint() < NumConstant.ZERO){
//保证要加的积分是正数
ruleInfo.setPoint(ruleInfo.getPoint() * NumConstant.ONE_NEG);
}
sum += ruleInfo.getPoint();
}else{
//actionLog中存的是正负数,如果是减操作,则算出来的是负数相加
sum -= ruleInfo.getPoint() * NumConstant.ONE_NEG;
sum *= NumConstant.ONE_NEG;
if(ruleInfo.getPoint() > NumConstant.ZERO){
//保证要扣减的积分是负数
ruleInfo.setPoint(ruleInfo.getPoint() * NumConstant.ONE_NEG);
}
sum += ruleInfo.getPoint();
sum *= NumConstant.ONE_NEG;
}
//这里sum一定是正数
if(ruleInfo.getUpLimit() < (sum + ruleInfo.getPoint())){
if(ruleInfo.getUpLimit() < sum){
log.info(String.format("该用户获取此类事件的积分已达上限,详细数据->【%s】", JSON.toJSON(event)));
return ;
}
@ -242,14 +238,27 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
//完成校验,可以进行积分操作
//根据事件的类型,提前定义好EventName、EventStatement等属性
String eventName = ModuleConstant.EMPTY_STR;
String eventStatement = eventName;
if(EventEnum.ACTIVE_INSERT_LIVE.getEventTag().equals(eventCode)){
eventName = ModuleConstant.EVENT_NAME_VOLUNTEER;
}else if(EventEnum.REGISTER_VOLUNTEER.getEventTag().equals(eventCode)){
eventName = ModuleConstant.EVENT_NAME_PARTICIPATED_ACT;
eventStatement = event.getRemark();
}else{
eventName = EventEnum.getEnum(eventCode).getEventDesc();
eventStatement = event.getRemark();
}
//1.新增用户积分行为记录
UserPointActionLogEntity action = new UserPointActionLogEntity();
action.setCustomerId(event.getCustomerId());
//正负数
action.setPoint(ruleInfo.getPoint());
action.setEventStatement(event.getRemark());
action.setEventName(EventEnum.getEnum(eventCode).getEventDesc());
action.setEventStatement(eventStatement);
action.setEventName(eventName);
action.setEventId(eventCode);
action.setActionFlag(event.getActionFlag());
action.setUserId(event.getUserId());
@ -261,6 +270,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
//2.新增/修改用户积分日统计
DimIdGenerator.DimIdBean dimVal = DimIdGenerator.getDimIdBean(new Date());
UserPointStatisticalDailyEntity statistical = ConvertUtils.sourceToTarget(dimVal,UserPointStatisticalDailyEntity.class);
//正负数
statistical.setPointChange(ruleInfo.getPoint());
statistical.setActionFlag(event.getActionFlag());
statistical.setCustomerId(event.getCustomerId());
@ -272,6 +282,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
UserPointTotalEntity point = new UserPointTotalEntity();
point.setCustomerId(event.getCustomerId());
point.setUserId(event.getUserId());
//正负数
point.setTotalPoint(ruleInfo.getPoint());
point.setUsablePoint(ruleInfo.getPoint());
point.setUsedPoint(NumConstant.ZERO);

4
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/utils/ModuleConstant.java

@ -114,4 +114,8 @@ public interface ModuleConstant extends Constant {
* 积分单位小时
* */
String POINT_UNIT_HOUR = "hour";
String EVENT_NAME_VOLUNTEER = "志愿者认证";
String EVENT_NAME_PARTICIPATED_ACT = "参与活动";
}

Loading…
Cancel
Save