Browse Source

取消报名扣积分+活动更新打卡bug修改

feature/dangjian
尹作梅 6 years ago
parent
commit
66dddc84e4
  1. 39
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/pointsenum/PointsBehaviorCodeEnum.java
  2. 35
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/pointsenum/PointsRuleCodeEnum.java
  3. 31
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/constant/ActUserPointsOperationTypeConstant.java
  4. 6
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActUserRelationDao.java
  5. 3
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActUserRelationService.java
  6. 4
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java
  7. 23
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserClockLogServiceImpl.java
  8. 109
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java
  9. 23
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java
  10. 13
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java
  11. 11
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserRelationDao.xml
  12. 10
      esua-epdc/epdc-module/epdc-points/epdc-points-client/src/main/java/com/elink/esua/epdc/dto/logs/PointsLogsDTO.java
  13. 4
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/feign/UserFeignClient.java
  14. 2
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserFeignClientFallback.java
  15. 12
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/logs/service/impl/PointsLogsServiceImpl.java
  16. 3
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserPointsFormDTO.java
  17. 4
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcAdjustVolunteerPointsDTO.java
  18. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java
  19. 13
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java
  20. 11
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java
  21. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  22. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java
  23. 5
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  24. 12
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java
  25. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml

39
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/pointsenum/PointsBehaviorCodeEnum.java

@ -0,0 +1,39 @@
package com.elink.esua.epdc.commons.tools.enums.pointsenum;
/**
* @Auther: yinzuomei
* @Date: 2020/2/6 14:01
* @Description: 积分行为编码
*/
public enum PointsBehaviorCodeEnum {
LIKE("like","赞"),
DISLIKE("dislike","踩"),
SHARE("share","分享"),
CLOCK("clock","打卡"),
COMMENT("comment","评论"),
BREAK_PROMISE("break_promise","爽约");
private String behaviorCode;
private String name;
PointsBehaviorCodeEnum(String behaviorCode,String name){
this.behaviorCode=behaviorCode;
this.name=name;
}
public String getBehaviorCode() {
return behaviorCode;
}
public void setBehaviorCode(String behaviorCode) {
this.behaviorCode = behaviorCode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

35
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/pointsenum/PointsRuleCodeEnum.java

@ -0,0 +1,35 @@
package com.elink.esua.epdc.commons.tools.enums.pointsenum;
/**
* @Auther: yinzuomei
* @Date: 2020/2/6 14:00
* @Description: 积分规则编码
*/
public enum PointsRuleCodeEnum {
CANCEL_ACT("cancel_act","取消报名系统扣减积分");
private String ruleCode;
private String name;
PointsRuleCodeEnum(String ruleCode,String name){
this.ruleCode=ruleCode;
this.name=name;
}
public String getRuleCode() {
return ruleCode;
}
public void setRuleCode(String ruleCode) {
this.ruleCode = ruleCode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

31
esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/constant/ActUserPointsOperationTypeConstant.java

@ -0,0 +1,31 @@
package com.elink.esua.epdc.constant;
/**
* @Description 操作类型 0-系统确认积分2-管理员确认积分4-取消报名扣减积分6-管理员扣减积分8-拒绝积分
* @Author yinzuomei
* @Date 2020/2/6 12:03
*/
public interface ActUserPointsOperationTypeConstant {
/**
* 系统确认积分
*/
String SYS_CONFIRM_ADD = "0";
/**
* 管理员确认积分
*/
String ADMIN_CONFIRM="2";
/**
* 取消报名扣减积分
*/
String CANCEL_ACT_SUBTRACT="4";
/**
* 管理员扣减积分
*/
String ADMIN_OPERATE_POINTS="6";
/**
* 拒绝积分
*/
String REFUSE_POINTS="8";
}

6
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActUserRelationDao.java

@ -49,11 +49,15 @@ public interface ActUserRelationDao extends BaseDao<ActUserRelationEntity> {
/**
* 获取用户活动关系表主键ID
*
* @param userId
* @param actId
* @param statusList
* @return
*/
List<ActUserRelationDTO> selectOneActUserRelationInfo(@Param("userId")String userId, @Param("actId")String actId);
List<ActUserRelationDTO> selectOneActUserRelationInfo(@Param("userId") String userId,
@Param("actId") String actId,
@Param("statusList") List<String> statusList);
/**
* 通过活动ID查询人员活动关系信息

3
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActUserRelationService.java

@ -131,11 +131,12 @@ public interface ActUserRelationService extends BaseService<ActUserRelationEntit
*
* @param userId
* @param actId
* @param statusList
* @return ActUserRelationDTO
* @author wanggongfeng
* @date 2019-12-16
*/
ActUserRelationDTO getActUserRelationId(String userId,String actId);
ActUserRelationDTO getActUserRelationId(String userId, String actId, List<String> statusList);
/**
* 活动打卡更新活动人员关系表当前状态

4
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java

@ -226,8 +226,6 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
String dateString = formatter.format(currentTime);
formDto.setTimestamp(dateString);
ActInfoDetailAppResultDTO resultDTO = baseDao.getDetailByApp(formDto);
//获取活动详情 活动信息表 浏览数+1 banner表 浏览数+1
this.addActBrowseNumber(resultDTO);
return new Result<ActInfoDetailAppResultDTO>().ok(resultDTO);
}
@ -246,6 +244,8 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
Result<String> userVolunteerFlagResult = userInfoFeignClient.queryUserVolunteerFlag(formDto.getUserId());
detailResultDTO.setUserVolunteerFlag(userVolunteerFlagResult.getData());
ActInfoDetailAppResultDTO resultDTO = ConvertUtils.sourceToTarget(detailResultDTO, ActInfoDetailAppResultDTO.class);
//获取活动详情 活动信息表 浏览数+1 banner表 浏览数+1
this.addActBrowseNumber(resultDTO);
return new Result<ActInfoDetailAppResultDTO>().ok(resultDTO);
}

23
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserClockLogServiceImpl.java

@ -31,9 +31,11 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.ActStateConstant;
import com.elink.esua.epdc.constant.ActUserRelationStatusConstant;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.logs.PointsLogsDTO;
import com.elink.esua.epdc.modules.activity.dao.ActUserClockLogDao;
import com.elink.esua.epdc.modules.activity.dao.ActUserRelationDao;
import com.elink.esua.epdc.modules.activity.entity.ActUserClockLogEntity;
import com.elink.esua.epdc.modules.activity.redis.ActUserClockLogRedis;
import com.elink.esua.epdc.modules.activity.service.*;
@ -45,10 +47,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 用户打卡日志表 用户打卡日志表
@ -80,7 +79,8 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl<ActUserClockLogD
private UserInfoFeignClient userInfoFeignClient;
@Autowired
private PointsFeignClient pointsFeignClient;
@Autowired
private ActUserRelationDao actUserRelationDao;
@Override
@ -234,10 +234,13 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl<ActUserClockLogD
*/
@Override
public Result activityClock(AppActUserClockLogDTO appActUserClockLogDTO) {
//查询人员活动关系Id
ActUserRelationDTO actUserRelationDTO = actUserRelationService.getActUserRelationId(appActUserClockLogDTO.getUserId(),appActUserClockLogDTO.getActId());
//查询人员活动关系Id(可打卡的)
List<String> statusList = new ArrayList<>();
statusList.add(ActUserRelationStatusConstant.APPROVED);
statusList.add(ActUserRelationStatusConstant.CLOCK);
ActUserRelationDTO actUserRelationDTO = actUserRelationService.getActUserRelationId(appActUserClockLogDTO.getUserId(), appActUserClockLogDTO.getActId(), statusList);
ActUserClockLogDTO actUserClockLogDTO = ConvertUtils.sourceToTarget(appActUserClockLogDTO, ActUserClockLogDTO.class);
if(actUserRelationDTO.getId() == null){
if (actUserRelationDTO.getId() == null) {
return new Result().error("打卡失败");
}
actUserClockLogDTO.setActUserId(actUserRelationDTO.getId());
@ -249,11 +252,11 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl<ActUserClockLogD
//存储活动日志表 epdc_act_user_log
ActUserLogDTO actUserLogDTO = new ActUserLogDTO();
actUserLogDTO.setActUserRelationId(actUserRelationDTO.getId());
actUserLogDTO.setOperationType("2");//打卡
actUserLogDTO.setOperationType(ActUserRelationStatusConstant.CLOCK);//打卡
actUserLogDTO.setOperationTime(new Date());
actUserLogService.save(actUserLogDTO);
//更新人员活动关系表当前状态
actUserRelationDTO.setStatus("2");
actUserRelationDTO.setStatus(ActUserRelationStatusConstant.CLOCK);
actUserRelationService.updateActivityStatus(actUserRelationDTO);
//存储打卡图片
List<String> imgList = appActUserClockLogDTO.getImages();

109
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java

@ -26,19 +26,36 @@ import com.elink.esua.epdc.activity.result.ActUserClockResultDTO;
import com.elink.esua.epdc.activity.result.ActUserRelationResultDTO;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum;
import com.elink.esua.epdc.commons.tools.enums.pointsenum.PointsBehaviorCodeEnum;
import com.elink.esua.epdc.commons.tools.enums.pointsenum.PointsOperationEnum;
import com.elink.esua.epdc.commons.tools.enums.pointsenum.PointsOperationModeEnum;
import com.elink.esua.epdc.commons.tools.enums.pointsenum.PointsRuleCodeEnum;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.ActStateConstant;
import com.elink.esua.epdc.constant.ActUserPointsOperationTypeConstant;
import com.elink.esua.epdc.constant.ActUserRelationStatusConstant;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
import com.elink.esua.epdc.dto.logs.PointsLogsDTO;
import com.elink.esua.epdc.modules.activity.dao.ActInfoDao;
import com.elink.esua.epdc.modules.activity.dao.ActUserPointsLogDao;
import com.elink.esua.epdc.modules.activity.dao.ActUserRelationDao;
import com.elink.esua.epdc.modules.activity.entity.ActUserPointsLogEntity;
import com.elink.esua.epdc.modules.activity.entity.ActUserRelationEntity;
import com.elink.esua.epdc.modules.activity.redis.ActUserRelationRedis;
import com.elink.esua.epdc.modules.activity.service.ActInfoService;
import com.elink.esua.epdc.modules.activity.service.ActUserLogService;
import com.elink.esua.epdc.modules.activity.service.ActUserRelationService;
import com.elink.esua.epdc.modules.feign.PointsFeignClient;
import com.elink.esua.epdc.modules.feign.UserInfoFeignClient;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -53,7 +70,7 @@ import java.util.*;
*/
@Service
public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationDao, ActUserRelationEntity> implements ActUserRelationService {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private ActUserRelationRedis actUserRelationRedis;
@ -66,6 +83,15 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
@Autowired
private ActInfoDao actInfoDao;
@Autowired
private ActUserPointsLogDao actUserPointsLogDao;
@Autowired
private UserInfoFeignClient userInfoFeignClient;
@Autowired
private PointsFeignClient pointsFeignClient;
@Override
public PageData<ActUserRelationDTO> page(Map<String, Object> params) {
IPage<ActUserRelationEntity> page = baseDao.selectPage(
@ -74,6 +100,7 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
);
return getPageData(page, ActUserRelationDTO.class);
}
@Override
public PageData<ActUserRelationResultDTO> getActUserRelationPageFromPC(Map<String, Object> params) {
IPage<ActUserRelationResultDTO> page = getPage(params);
@ -196,37 +223,97 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
@Override
public Result activityCancelSignUp(AppActUserCancelsignupDTO appActUserCancelsignupDTO) {
//查询是否已报名
List<ActUserRelationDTO> data = baseDao.selectOneActUserRelationInfo(appActUserCancelsignupDTO.getUserId(), appActUserCancelsignupDTO.getActId());
List<String> statusList = new ArrayList<>();
statusList.add(ActUserRelationStatusConstant.SIGN_UP);
statusList.add(ActUserRelationStatusConstant.APPROVED);
List<ActUserRelationDTO> data = baseDao.selectOneActUserRelationInfo(appActUserCancelsignupDTO.getUserId(), appActUserCancelsignupDTO.getActId(), statusList);
if (data != null && data.size() > 0) {
ActUserRelationDTO actUserRelationDTO = data.get(0);
actUserRelationDTO.setStatus(ActUserRelationStatusConstant.CANCEL_SIGN_UP);//取消报名
actUserRelationDTO.setFailureReason(appActUserCancelsignupDTO.getFailureReason());//取消报名原因
//已报名该活动,进行取消报名
//更新活动人员关系表
//1、更新活动人员关系表
ActUserRelationEntity entity = ConvertUtils.sourceToTarget(actUserRelationDTO, ActUserRelationEntity.class);
updateById(entity);
//存储活动日志表
//2、存储活动日志表
Date currentTime = new Date();
ActUserLogDTO actUserLogDTO = new ActUserLogDTO();
actUserLogDTO.setActUserRelationId(actUserRelationDTO.getId());
actUserLogDTO.setOperationType(ActUserRelationStatusConstant.CANCEL_SIGN_UP);//取消报名
actUserLogDTO.setOperationTime(new Date());
actUserLogDTO.setOperationTime(currentTime);
actUserLogDTO.setFailureReason(appActUserCancelsignupDTO.getFailureReason());
actUserLogService.save(actUserLogDTO);
//更新epdc_act_info的已报名名额
ActInfoDTO actInfoDTO = actInfoDao.queryActSignupNum(actUserRelationDTO.getActId());
//3、更新epdc_act_info的已报名名额
//ActInfoDTO actInfoDTO = actInfoDao.queryActSignupNum(actUserRelationDTO.getActId());
ActInfoDTO actInfoDTO = actInfoService.get(actUserRelationDTO.getActId());
actInfoDTO.setSignupNum(actInfoDTO.getSignupNum() - 1);
actInfoService.update(actInfoDTO);
}else{
//4、判断是否扣除用户积分
if (currentTime.after(actInfoDTO.getSignupEndTime()) && currentTime.before(actInfoDTO.getActStartTime())) {
this.cancelActSubtractPoint(actUserRelationDTO, actInfoDTO);
}
} else {
return new Result().error("未报名");
}
return new Result().ok("取消报名成功");
}
/**
* @param actUserRelationDTO
* @param actInfoDTO
* @return void
* @Author yinzuomei
* @Description 活动报名结束到活动开始时间段内取消报名要扣除用户积分扣除积分值为当前活动的惩罚积分
* @Date 2020/2/6 12:00
**/
private void cancelActSubtractPoint(ActUserRelationDTO actUserRelationDTO, ActInfoDTO actInfoDTO) {
if (null == actInfoDTO.getPunishmentPoints() || actInfoDTO.getPunishmentPoints() == 0) {
return;
}
Result<VolunteerInfoDTO> volunteerInfoDTOResult = userInfoFeignClient.getVolunteerInfoDTOByUserId(actUserRelationDTO.getUserId());
if (!volunteerInfoDTOResult.success()) {
throw new RenException("查询志愿者信息异常");
}
//4、更新epdc_user表积分
//直接调用fegin,返回剩余积分值
EpdcUserPointsFormDTO userPointsFormDTO = new EpdcUserPointsFormDTO();
userPointsFormDTO.setUserId(actUserRelationDTO.getUserId());
userPointsFormDTO.setPoints(actInfoDTO.getPunishmentPoints());
userPointsFormDTO.setOperationType(PointsOperationEnum.OPERATION_TYPE_SUBSTRACT.getOperationType());
Result<UserDTO> result = userInfoFeignClient.handleUserPoints(userPointsFormDTO);
if (!result.success()) {
throw new RenException("更新用户积分异常");
}
//5、插入epdc_act_user_points_log记录
ActUserPointsLogDTO actUserPointsLogDTO = new ActUserPointsLogDTO();
actUserPointsLogDTO.setActUserId(actUserRelationDTO.getId());
actUserPointsLogDTO.setOperationType(ActUserPointsOperationTypeConstant.CANCEL_ACT_SUBTRACT);
actUserPointsLogDTO.setOperationPointsType(PointsOperationEnum.OPERATION_TYPE_SUBSTRACT.getOperationType());
actUserPointsLogDTO.setPoints(actInfoDTO.getPunishmentPoints());
ActUserPointsLogEntity entity = ConvertUtils.sourceToTarget(actUserPointsLogDTO, ActUserPointsLogEntity.class);
actUserPointsLogDao.insert(entity);
//6、插入points记录
PointsLogsDTO pointsLogsDTO = new PointsLogsDTO();
pointsLogsDTO.setVolunteerId(volunteerInfoDTOResult.getData().getId());
pointsLogsDTO.setUserId(actUserRelationDTO.getUserId());
pointsLogsDTO.setOperationType(PointsOperationEnum.OPERATION_TYPE_SUBSTRACT.getOperationType());
pointsLogsDTO.setPoints(actInfoDTO.getPunishmentPoints());
pointsLogsDTO.setOperationTime(new Date());
pointsLogsDTO.setOperationMode(PointsOperationModeEnum.OPERATION_MODE_USER.getOperationMode());
pointsLogsDTO.setRuleCode(PointsRuleCodeEnum.CANCEL_ACT.getRuleCode());//积分规则编码
pointsLogsDTO.setLavePoints(result.getData().getPoints());//剩余积分值
pointsLogsDTO.setBehaviorCode(PointsBehaviorCodeEnum.BREAK_PROMISE.getBehaviorCode());//积分行为编码
pointsLogsDTO.setStatus(YesOrNoEnum.YES.value());
pointsLogsDTO.setReferenceId(entity.getId());
pointsFeignClient.addPointsLog(pointsLogsDTO);
}
@Override
public ActUserRelationDTO getActUserRelationId(String userId,String actId) {
List<ActUserRelationDTO> data = baseDao.selectOneActUserRelationInfo(userId,actId);
public ActUserRelationDTO getActUserRelationId(String userId, String actId, List<String> statusList) {
List<ActUserRelationDTO> data = baseDao.selectOneActUserRelationInfo(userId, actId, statusList);
ActUserRelationDTO actUserRelationDTO = new ActUserRelationDTO();
if(data != null && data.size() > 0){
if (data != null && data.size() > 0) {
actUserRelationDTO = data.get(0);
}

23
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java

@ -3,8 +3,11 @@ package com.elink.esua.epdc.modules.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.UserDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
import com.elink.esua.epdc.modules.feign.fallback.UserInfoFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
@ -43,4 +46,24 @@ public interface UserInfoFeignClient {
**/
@GetMapping("app-user/volunteerinfo/queryUserVolunteerFlag/{userId}")
Result<String> queryUserVolunteerFlag(@PathVariable("userId") String userId);
/**
* @param userId 用户id
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.VolunteerInfoDTO>
* @Author yinzuomei 根据用户id查询志愿者信息
* @Description 根据用户id
* @Date 2020/2/6 12:20
**/
@GetMapping("app-user/volunteerinfo/getVolunteerInfoDTOByUserId/{userId}")
Result<VolunteerInfoDTO> getVolunteerInfoDTOByUserId(@PathVariable("userId") String userId);
/**
* @param formDTO
* @return com.elink.esua.epdc.dto.UserDTO
* @Author yinzuomei
* @Description 根据操作类型更新用户积分
* @Date 2019/12/13 15:12
**/
@PostMapping(value = "app-user/user/handleUserPoints", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<UserDTO> handleUserPoints(EpdcUserPointsFormDTO formDTO);
}

13
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java

@ -4,6 +4,8 @@ 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.UserDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
import com.elink.esua.epdc.modules.feign.UserInfoFeignClient;
import org.springframework.stereotype.Component;
@ -26,4 +28,15 @@ public class UserInfoFeignClientFallback implements UserInfoFeignClient {
public Result<String> queryUserVolunteerFlag(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "queryUserVolunteerFlag", userId);
}
@Override
public Result<VolunteerInfoDTO> getVolunteerInfoDTOByUserId(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getVolunteerInfoDTOByUserId", userId);
}
@Override
public Result<UserDTO> handleUserPoints(EpdcUserPointsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "handleUserPoints", formDTO);
}
}

11
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserRelationDao.xml

@ -50,13 +50,20 @@
and DEL_FLAG = 0
</select>
<select id="selectOneActUserRelationInfo" resultType="com.elink.esua.epdc.activity.ActUserRelationDTO" parameterType="String">
<select id="selectOneActUserRelationInfo" resultType="com.elink.esua.epdc.activity.ActUserRelationDTO"
parameterType="map">
select ID,ACT_ID,USER_ID,FACE_IMG,NICKNAME,REAL_NAME,PARTY_FLAG
from epdc_act_user_relation
where USER_ID = #{userId}
and ACT_ID = #{actId}
and status in ('0' ,'1')
<if test="statusList!=null and statusList.size()>0">
and status in
<foreach collection="statusList" item="status" index="index" open="(" close=")" separator=",">
#{status}
</foreach>
</if>
</select>
<select id="getActUserRelationPageFromPC" resultMap="actUserRelationResultMap">
SELECT
relation.ID,

10
esua-epdc/epdc-module/epdc-points/epdc-points-client/src/main/java/com/elink/esua/epdc/dto/logs/PointsLogsDTO.java

@ -17,9 +17,10 @@
package com.elink.esua.epdc.dto.logs;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
@ -78,11 +79,11 @@ public class PointsLogsDTO implements Serializable {
*/
private String ruleCode;
/**
* 是否操作成功(0-失败1-成功)
*/
private String status;
/**
* 操作失败原因
*/
@ -127,4 +128,9 @@ public class PointsLogsDTO implements Serializable {
* 积分行为编码
*/
private String behaviorCode;
/**
* 关联表ID关联表id
*/
private String referenceId;
}

4
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/feign/UserFeignClient.java

@ -21,13 +21,13 @@ public interface UserFeignClient {
/**
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @return com.elink.esua.epdc.dto.UserDTO
* @Author yinzuomei
* @Description 根据操作类型更新用户积分
* @Date 2019/12/13 15:12
**/
@PostMapping(value = "app-user/user/handleUserPoints", consumes = MediaType.APPLICATION_JSON_VALUE)
Result handleUserPoints(EpdcUserPointsFormDTO formDTO);
Result<UserDTO> handleUserPoints(EpdcUserPointsFormDTO formDTO);
/**
* 查询用户基础信息

2
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserFeignClientFallback.java

@ -17,7 +17,7 @@ import org.springframework.stereotype.Component;
public class UserFeignClientFallback implements UserFeignClient {
@Override
public Result handleUserPoints(EpdcUserPointsFormDTO formDTO) {
public Result<UserDTO> handleUserPoints(EpdcUserPointsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "handleUserPoints", formDTO);
}

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

@ -145,17 +145,17 @@ public class PointsLogsServiceImpl extends BaseServiceImpl<PointsLogsDao, Points
pointsLogsEntity.setOperationDesc(formDto.getAdjustReason());//操作描述
pointsLogsEntity.setPoints(formDto.getOperatePoints());
pointsLogsEntity.setOperationType(formDto.getOperationType());//积分操作类型(0-减积分,1-加积分)
EpdcUserPointsFormDTO userPointsFormDTO=new EpdcUserPointsFormDTO();
EpdcUserPointsFormDTO userPointsFormDTO = new EpdcUserPointsFormDTO();
userPointsFormDTO.setUserId(formDto.getUserId());
userPointsFormDTO.setPoints(formDto.getOperatePoints());
userPointsFormDTO.setOperationType(formDto.getOperationType());
Result result=userFeignClient.handleUserPoints(userPointsFormDTO);
Result<UserDTO> userDTOResult=userFeignClient.getUserInfoById(formDto.getUserId());
pointsLogsEntity.setLavePoints(userDTOResult.getData().getPoints());//剩余积分
pointsLogsEntity.setBehaviorCode(formDto.getBehaviorCode());
if(!result.success()){
Result<UserDTO> result = userFeignClient.handleUserPoints(userPointsFormDTO);
if (!result.success()) {
return new Result().error("调整用户积分失败");
}
//剩余积分
pointsLogsEntity.setLavePoints(result.getData().getPoints());
pointsLogsEntity.setBehaviorCode(formDto.getBehaviorCode());
this.insert(pointsLogsEntity);
return new Result();
}

3
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserPointsFormDTO.java

@ -25,5 +25,8 @@ public class EpdcUserPointsFormDTO {
private String userId;
@NotNull
/**
* 积分调整值
*/
private Integer points;
}

4
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcAdjustVolunteerPointsDTO.java

@ -61,13 +61,13 @@ public class EpdcAdjustVolunteerPointsDTO implements Serializable {
private String adjustReason;
/**
* 积分加值
* 积分操作类型
*/
@NotBlank(message = "操作类型不能为空")
private String operationType;
/**
* 积分
* 积分调整
*/
private Integer operatePoints;

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java

@ -139,7 +139,7 @@ public class UserController {
* @Date 2019/12/13 15:01
**/
@PostMapping("handleUserPoints")
public Result handleUserPoints(@RequestBody @Valid EpdcUserPointsFormDTO formDTO) {
public Result<UserDTO> handleUserPoints(@RequestBody @Valid EpdcUserPointsFormDTO formDTO) {
return userService.handleUserPoints(formDTO);
}
}

13
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java

@ -183,4 +183,17 @@ public class VolunteerInfoController {
public Result<String> queryUserVolunteerFlag(@PathVariable("userId") String userId) {
return volunteerInfoService.queryUserVolunteerFlag(userId);
}
/**
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.VolunteerInfoDTO>
* @Author yinzuomei
* @Description 根据用户id查询志愿者信息
* @Date 2020/2/6 12:23
**/
@GetMapping("getVolunteerInfoDTOByUserId/{userId}")
public Result<VolunteerInfoDTO> getVolunteerInfoDTOByUserId(@PathVariable("userId") String userId) {
return volunteerInfoService.getVolunteerInfoDTOByUserId(userId);
}
}

11
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java

@ -102,9 +102,18 @@ public interface VolunteerInfoDao extends BaseDao<VolunteerInfoEntity> {
/**
* 获取排行榜
* @author wanggongfeng
*
* @return
* @author wanggongfeng
*/
List<EpdcGetVolunteerRankDTO> getRankingList();
/**
* @param userId
* @return com.elink.esua.epdc.dto.VolunteerInfoDTO
* @Author yinzuomei
* @Description 根据用户id查询志愿者信息
* @Date 2020/2/6 12:25
**/
VolunteerInfoDTO selectOneVolunteerInfoDTO(String userId);
}

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -279,7 +279,7 @@ public interface UserService extends BaseService<UserEntity> {
* @Description 根据操作类型更新用户积分
* @Date 2019/12/13 15:10
**/
Result handleUserPoints(EpdcUserPointsFormDTO formDTO);
Result<UserDTO> handleUserPoints(EpdcUserPointsFormDTO formDTO);
/**
* @param userId

9
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java

@ -180,4 +180,13 @@ public interface VolunteerInfoService extends BaseService<VolunteerInfoEntity> {
* @Date 2020/2/5 16:48
**/
Result<String> queryUserVolunteerFlag(String userId);
/**
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.VolunteerInfoDTO>
* @Author yinzuomei
* @Description 根据用户id查询志愿者信息
* @Date 2020/2/6 12:23
**/
Result<VolunteerInfoDTO> getVolunteerInfoDTOByUserId(String userId);
}

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

@ -18,7 +18,6 @@
package com.elink.esua.epdc.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -1006,7 +1005,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
* @Date 2019/12/13 15:02
**/
@Override
public Result handleUserPoints(EpdcUserPointsFormDTO formDTO) {
public Result<UserDTO> handleUserPoints(EpdcUserPointsFormDTO formDTO) {
UserEntity userEntity = baseDao.selectById(formDTO.getUserId());
//规则操作类型(0-减积分,1-加积分)
if (PointsOperationEnum.OPERATION_TYPE_ADD.getOperationType().equals(formDTO.getOperationType())) {
@ -1015,7 +1014,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
userEntity.setPoints(userEntity.getPoints() - formDTO.getPoints());
}
baseDao.updateById(userEntity);
return new Result();
return new Result().ok(userEntity);
}
/**

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

@ -305,4 +305,16 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
return new Result<String>().ok(list.get(0).getAuditStatus());
}
/**
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.VolunteerInfoDTO>
* @Author yinzuomei
* @Description 根据用户id查询志愿者信息
* @Date 2020/2/6 12:23
**/
@Override
public Result<VolunteerInfoDTO> getVolunteerInfoDTOByUserId(String userId) {
return new Result<VolunteerInfoDTO>().ok(baseDao.selectOneVolunteerInfoDTO(userId));
}
}

9
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml

@ -186,5 +186,12 @@
order by vi.KINDNESS_TIME desc,vi.PARTICIPATION_NUM desc,vi.REGIST_TIME ) as info, (select @i:=0) j ) volunteerInfo
where sort &lt; 11
</select>
<!-- 根据用户id查询志愿者信息 -->
<select id="selectOneVolunteerInfoDTO" parameterType="java.lang.String"
resultType="com.elink.esua.epdc.dto.VolunteerInfoDTO">
select *
from epdc_volunteer_info m
where m.DEL_FLAG='0'
and m.USER_ID=#{userId}
</select>
</mapper>

Loading…
Cancel
Save