Browse Source

积分清零任务完善

feature/screenDataPush
songyunpeng 4 years ago
parent
commit
c43a8f8e7e
  1. 7
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/BehaviorEnum.java
  2. 8
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenPublicDataDao.xml
  3. 5
      esua-epdc/epdc-module/epdc-points/epdc-points-client/pom.xml
  4. 17
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/controller/PointsLogsController.java
  5. 13
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java
  6. 38
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java
  7. 23
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/PointsResetFormDTO.java
  8. 14
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/PointsFeignClient.java
  9. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/fallback/PointsFeignClientFallback.java
  10. 12
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  11. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

7
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/BehaviorEnum.java

@ -315,7 +315,12 @@ public enum BehaviorEnum {
/**
* 话题违规积分扣除
*/
TOPIC_VIOLATIONS("topic_violations");
TOPIC_VIOLATIONS("topic_violations"),
/**
* 积分清零
*/
POINTS_RESET("points_reset");
private String value;

8
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenPublicDataDao.xml

@ -1122,9 +1122,9 @@ UNION ALL
PARTY_GOOD_TIMES) as publishIssueTotal,
0 as topicTotal,
0 as publishTopicTotal,
sum(USER_TOITEM_TIMES+PARTY_TOITEM_TIMES) as shiftProjectTotal,
sum(PARTY_TOITEM_TIMES) as shiftProjectTotal,
sum(PARTY_TOITEM_TIMES) as publishShiftProjectTotal,
sum(USER_FINISH_TIMES+PARTY_FINISH_TIMES) as resolvedProjectTotal,
sum(PARTY_FINISH_TIMES) as resolvedProjectTotal,
sum(PARTY_FINISH_TIMES) as publishResolvedProjectTotal
from esua_epdc_analysis.epdc_dept_event_person_time ed
where GRID_ID is not null
@ -1225,9 +1225,9 @@ union all
PARTY_GOOD_TIMES) as publishIssueTotal,
0 as topicTotal,
0 as publishTopicTotal,
sum(USER_TOITEM_TIMES+PARTY_TOITEM_TIMES) as shiftProjectTotal,
sum(PARTY_TOITEM_TIMES) as shiftProjectTotal,
sum(PARTY_TOITEM_TIMES) as publishShiftProjectTotal,
sum(USER_FINISH_TIMES+PARTY_FINISH_TIMES) as resolvedProjectTotal,
sum(PARTY_FINISH_TIMES) as resolvedProjectTotal,
sum(PARTY_FINISH_TIMES) as publishResolvedProjectTotal
from esua_epdc_analysis.epdc_dept_event_person_time ed
where GRID_ID is not null

5
esua-epdc/epdc-module/epdc-points/epdc-points-client/pom.xml

@ -23,6 +23,11 @@
<artifactId>epdc-api-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-user-client</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>

17
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/controller/PointsLogsController.java

@ -25,10 +25,7 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.EpdcAdjustUserPointsDTO;
import com.elink.esua.epdc.dto.PointsLogsBindUnIdDTO;
import com.elink.esua.epdc.dto.PointsLogsDTO;
import com.elink.esua.epdc.dto.UserPointResultDTO;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.dto.result.PointsStatisticsListResultDTO;
import com.elink.esua.epdc.excel.PointsLogsExcel;
@ -193,4 +190,16 @@ public class PointsLogsController {
return pointsLogsService.deletePointsByTopic(idList);
}
/**
* @Description 新增用户清零积分记录
* @Author songyunpeng
* @Date 2021/7/15
* @Param [idList]
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
@PostMapping("insertPointsResetLogs")
public Result insertPointsResetLogs(@RequestBody List<UserDTO> formDTO) {
return pointsLogsService.insertPointsResetLogs(formDTO);
}
}

13
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java

@ -20,10 +20,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.EpdcAdjustUserPointsDTO;
import com.elink.esua.epdc.dto.PointsLogsBindUnIdDTO;
import com.elink.esua.epdc.dto.PointsLogsDTO;
import com.elink.esua.epdc.dto.UserPointResultDTO;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.result.*;
@ -253,4 +250,12 @@ public interface PointsLogsService extends BaseService<PointsLogsEntity> {
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
Result deletePointsByTopic(List<String> idList);
/**
* @Description 新增用户清零积分记录
* @Author songyunpeng
* @Date 2021/7/23
* @Param [form]
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
Result insertPointsResetLogs(List<UserDTO> formDTO);
}

38
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java

@ -591,6 +591,40 @@ public class PointsLogsServiceImpl extends BaseServiceImpl<PointsLogsDao, Points
usersFeignClient.updateBatchUserPoints(epdcUserPointsFormDTOList);
return new Result();
}
@Override
public Result insertPointsResetLogs(List<UserDTO> formDTO) {
for (UserDTO formDto : formDTO) {
//根据动作编码获取动作信息
Result<BehaviorResultDto> behaviorCodeInfoByBehaviorCode = pointsBehaviorService.getBehaviorCodeInfoByBehaviorCode(BehaviorEnum.POINTS_RESET.getValue());
PointsLogsEntity pointsLogsEntity = new PointsLogsEntity();
pointsLogsEntity.setUserId(formDto.getId());
pointsLogsEntity.setNickname(formDto.getNickname());
pointsLogsEntity.setFaceImg(formDto.getFaceImg());
pointsLogsEntity.setOperationTime(new Date());
pointsLogsEntity.setOperationMode(PointsOperationModeEnum.OPERATION_MODE_ADMIN.getOperationMode());
pointsLogsEntity.setRuleCode(PointsConstant.behaviorCodeCode);
pointsLogsEntity.setBehaviorCode(BehaviorEnum.TOPIC_VIOLATIONS.getValue());
pointsLogsEntity.setOperationDesc(behaviorCodeInfoByBehaviorCode.getData().getBehaviorDesc());
pointsLogsEntity.setPoints(formDto.getPoints());
pointsLogsEntity.setOperationType("0");
pointsLogsEntity.setReferenceId(formDto.getId());
pointsLogsEntity.setLavePoints(0);
pointsLogsEntity.setRemark("");
pointsLogsEntity.setRealName(formDto.getRealName());
// 赋值积分所属部门
pointsLogsEntity.setGrid(formDto.getGrid());
pointsLogsEntity.setGridId(formDto.getGridId());
pointsLogsEntity.setAllDeptIds(formDto.getAllDeptIds());
pointsLogsEntity.setAllDeptNames(formDto.getAllDeptNames());
pointsLogsEntity.setParentDeptIds(formDto.getParentDeptIds());
pointsLogsEntity.setParentDeptNames(formDto.getParentDeptNames());
insert(pointsLogsEntity);
}
return new Result();
}
/**
* @Description 新增扣除积分记录
* @Author songyunpeng
@ -616,10 +650,10 @@ public class PointsLogsServiceImpl extends BaseServiceImpl<PointsLogsDao, Points
pointsLogsEntity.setRuleCode(PointsConstant.behaviorCodeCode);
pointsLogsEntity.setBehaviorCode(BehaviorEnum.TOPIC_VIOLATIONS.getValue());
pointsLogsEntity.setOperationDesc(behaviorCodeInfoByBehaviorCode.getData().getBehaviorDesc());
pointsLogsEntity.setPoints(-formDto.getPoints());
pointsLogsEntity.setPoints(formDto.getPoints());
pointsLogsEntity.setOperationType("0");
pointsLogsEntity.setReferenceId(formDto.getUserId());
pointsLogsEntity.setLavePoints(userDto.getPoints() + formDto.getPoints());
pointsLogsEntity.setLavePoints(userDto.getPoints() - formDto.getPoints());
pointsLogsEntity.setRemark("");
pointsLogsEntity.setRealName(userDto.getRealName());

23
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/PointsResetFormDTO.java

@ -0,0 +1,23 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 积分清零
* @Author syp
* @Date 2019/11/22 13:54
*/
@Data
public class PointsResetFormDTO implements Serializable {
private static final long serialVersionUID = -4267811821756082365L;
/**
* 用户ID
*/
private String userId;
/**
* 清零积分
*/
private Integer points;
}

14
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/PointsFeignClient.java

@ -3,13 +3,15 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.PointsLogsBindUnIdDTO;
import com.elink.esua.epdc.feign.fallback.NewsFeignClientFallback;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.feign.fallback.PointsFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 积分管理模块
*
@ -29,5 +31,13 @@ public interface PointsFeignClient {
*/
@PostMapping(value = "points/pointslogs/maBindUnIdLogs", consumes = MediaType.APPLICATION_JSON_VALUE)
Result maBindUnIdLogs(@RequestBody PointsLogsBindUnIdDTO formDto);
/**
* @Description
* @Author songyunpeng
* @Date 2021/7/23
* @Param [sourceToTarget]
* @return void
**/
@PostMapping(value = "points/pointslogs/insertPointsResetLogs", consumes = MediaType.APPLICATION_JSON_VALUE)
Result insertPointsResetLogs(List<UserDTO> formDTO);
}

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/fallback/PointsFeignClientFallback.java

@ -4,9 +4,12 @@ import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.PointsLogsBindUnIdDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.feign.PointsFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author work@yujt.net.cn
* @date 2019/9/18 15:38
@ -18,4 +21,9 @@ public class PointsFeignClientFallback implements PointsFeignClient {
public Result maBindUnIdLogs(PointsLogsBindUnIdDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "maBindUnIdLogs", formDto);
}
@Override
public Result insertPointsResetLogs(List<UserDTO> formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "insertPointsResetLogs", formDTO);
}
}

12
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -1556,8 +1556,16 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
public Result resetPoints() {
//先备份积分数据
baseDao.insertUserPointsTemp();
//重置积分
baseDao.resetPoints();
//查询需要清零的用户
QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("POINTS",0);
List<UserEntity> userEntities = baseDao.selectList(queryWrapper);
//插入到积分日志表 - 新增积分清零记录
Result result = pointsFeignClient.insertPointsResetLogs(ConvertUtils.sourceToTarget(userEntities, UserDTO.class));
if(result.success()){
//重置积分
baseDao.resetPoints();
}
return new Result();
}

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

@ -14,7 +14,7 @@
where ID = #{userId}
</update>
<update id="resetPoints">
update epdc_user set points = 0 where DEL_FLAG = '0' and UPDATED_TIME = now()
update epdc_user set points = 0,UPDATED_TIME = now() where DEL_FLAG = '0' and points > 0
</update>
<update id="updateBatchUserPoints">
update epdc_user

Loading…
Cancel
Save