Browse Source

heart-work:审核、拒绝api

dev
yinzuomei 5 years ago
parent
commit
f476450398
  1. 10
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java
  2. 31
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/AuditUserFormDTO.java
  3. 6
      epmet-module/epmet-heart/epmet-heart-server/pom.xml
  4. 32
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/ActConstant.java
  5. 13
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/ActMessageConstant.java
  6. 31
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActUserController.java
  7. 19
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActUserService.java
  8. 123
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java

10
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java

@ -63,4 +63,14 @@ public interface StrConstant {
* true
*/
String FALSE = "false";
/**
* *
*/
String STAR="*";
/**
* 空字符串
*/
String EPMETY_STR="";
}

31
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/AuditUserFormDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.form.work;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 审核通过拒绝入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/7/23 17:28
*/
@Data
public class AuditUserFormDTO implements Serializable {
private static final long serialVersionUID = 243279409415285207L;
public interface AddUserInternalGroup {
}
public interface UserShowGroup extends CustomerClientShowGroup {
}
/**
* 列表页返回的主键
*/
@NotBlank(message = "主键不能为空", groups = {AddUserInternalGroup.class})
private String actUserRelationId;
@NotBlank(message = "拒绝理由不能为空", groups = {UserShowGroup.class})
private String rejectReason;
}

6
epmet-module/epmet-heart/epmet-heart-server/pom.xml

@ -76,6 +76,12 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-message-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

32
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/ActConstant.java

@ -49,22 +49,22 @@ public interface ActConstant {
String SPONSOR_GRID="grid";
/**
* 活动操作日志取消活动
* act_operation_rec活动操作日志取消活动
*/
String ACT_OPER_TYPE_CANCEL="cancel";
/**
* 活动操作日志发布活动
* act_operation_rec活动操作日志发布活动
*/
String ACT_OPER_TYPE_PUBLISH="publish";
/**
* 活动操作日志结束活动
* act_operation_rec活动操作日志结束活动
*/
String ACT_OPER_TYPE_FINISH="finish";
/**
* 活动操作日志重新发布活动
* act_operation_rec活动操作日志重新发布活动
*/
String ACT_OPER_TYPE_UPDATE="update";
@ -87,4 +87,28 @@ public interface ActConstant {
* (4)act_user_relation表的status取消报名canceld
*/
String ACT_USER_STATUS_CANCELD="canceld";
/*操作类型已报名/待审核auditing
审核通过passed
审核不通过refused
取消报名canceld
已签到signedin
发放积分rewarded
拒绝发放积分refuse_reward
重新处理processing
*/
String ACT_USER_LOG_OPER_AUDITING="auditing";
String ACT_USER_LOG_OPER_PASSED="passed";
String ACT_USER_LOG_OPER_REFUSED="refused";
String ACT_USER_LOG_OPER_CANCELD="canceld";
String ACT_USER_LOG_OPER_SIGNEDIN="signedin";
String ACT_USER_LOG_OPER_REWARDED="rewarded";
String ACT_USER_LOG_OPER_REFUSE_REWARD="refuse_reward";
String ACT_USER_LOG_OPER_PROCESSING="processing";
/**
* 审核通过类型auto, manual
*/
String PASSEDTYPE_AUTO="auto";
String PASSEDTYPE_MANUAL="manual";
}

13
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/ActMessageConstant.java

@ -0,0 +1,13 @@
package com.epmet.constant;
/**
* 描述一下
*
* @author yinzuomei@elink-cn.com
* @date 2020/7/23 17:55
*/
public interface ActMessageConstant {
String TITLE="您有一条活动消息";
String AUDIT_PASSED="您报名的活动%s,已审核通过";
String AUDIT_REFUSED="您报名的活动%s,审核未通过,原因:%s";
}

31
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActUserController.java

@ -3,6 +3,7 @@ package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.work.AactUserDetailFormDTO;
import com.epmet.dto.form.work.AuditUserFormDTO;
import com.epmet.dto.form.work.AuditingActUserFormDTO;
import com.epmet.dto.form.work.UserHistoricalActFormDTO;
import com.epmet.dto.result.work.*;
@ -98,7 +99,7 @@ public class WorkActUserController {
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.work.AuditingUserDetailResultDTO>
* @author yinzuomei
* @description 报名审核-人员详情
* @description 报名审核-人员详情(待审核已通过已拒绝已取消报名用的是一个api)
* @Date 2020/7/22 22:44
**/
@PostMapping("userdetail")
@ -119,4 +120,32 @@ public class WorkActUserController {
ValidatorUtils.validateEntity(formDTO, UserHistoricalActFormDTO.AddUserInternalGroup.class);
return new Result<UserHistoricalActResultDTO>().ok(workActUserService.queryUserHistoricalAct(formDTO));
}
/**
* @return com.epmet.commons.tools.utils.Result
* @param formDTO
* @author yinzuomei
* @description 报名审核-审核通过
* @Date 2020/7/23 17:31
**/
@PostMapping("auditpass")
public Result auditPass(@RequestBody AuditUserFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, AuditUserFormDTO.AddUserInternalGroup.class);
workActUserService.auditPass(formDTO.getActUserRelationId());
return new Result();
}
/**
* @return com.epmet.commons.tools.utils.Result
* @param formDTO
* @author yinzuomei
* @description 报名审核-拒绝报名
* @Date 2020/7/23 18:08
**/
@PostMapping("auditrefuse")
public Result auditrefuse(@RequestBody AuditUserFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, AuditUserFormDTO.UserShowGroup.class,AuditUserFormDTO.AddUserInternalGroup.class);
workActUserService.auditRefuse(formDTO);
return new Result();
}
}

19
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActUserService.java

@ -1,6 +1,7 @@
package com.epmet.service;
import com.epmet.dto.form.work.AactUserDetailFormDTO;
import com.epmet.dto.form.work.AuditUserFormDTO;
import com.epmet.dto.form.work.AuditingActUserFormDTO;
import com.epmet.dto.form.work.UserHistoricalActFormDTO;
import com.epmet.dto.result.work.*;
@ -76,4 +77,22 @@ public interface WorkActUserService {
* @Date 2020/7/23 16:16
**/
UserHistoricalActResultDTO queryUserHistoricalAct(UserHistoricalActFormDTO formDTO);
/**
* @return void
* @param actUserRelationId
* @author yinzuomei
* @description 报名审核-审核通过
* @Date 2020/7/23 17:30
**/
void auditPass(String actUserRelationId);
/**
* @return void
* @param formDTO
* @author yinzuomei
* @description 报名审核-拒绝报名
* @Date 2020/7/23 18:14
**/
void auditRefuse(AuditUserFormDTO formDTO);
}

123
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java

@ -1,19 +1,31 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.ActConstant;
import com.epmet.constant.ActMessageConstant;
import com.epmet.constant.ReadFlagConstant;
import com.epmet.dao.ActInfoDao;
import com.epmet.dao.ActUserLogDao;
import com.epmet.dao.ActUserRelationDao;
import com.epmet.dto.ActUserLogDTO;
import com.epmet.dto.ActUserRelationDTO;
import com.epmet.dto.HeartUserInfoDTO;
import com.epmet.dto.form.UserMessageFormDTO;
import com.epmet.dto.form.work.AactUserDetailFormDTO;
import com.epmet.dto.form.work.AuditUserFormDTO;
import com.epmet.dto.form.work.AuditingActUserFormDTO;
import com.epmet.dto.form.work.UserHistoricalActFormDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.dto.result.work.*;
import com.epmet.entity.ActInfoEntity;
import com.epmet.entity.ActUserLogEntity;
import com.epmet.entity.ActUserRelationEntity;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.service.ActUserRelationService;
import com.epmet.service.HeartUserInfoService;
@ -24,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -47,6 +60,10 @@ public class WorkActUserServiceImpl implements WorkActUserService {
private ActUserLogDao actUserLogDao;
@Autowired
private ActUserRelationDao actUserRelationDao;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private LoginUserUtil loginUserUtil;
/**
* @param formDTO
* @return java.util.List<com.epmet.dto.result.work.AuditingActUserResultDTO>
@ -333,6 +350,112 @@ public class WorkActUserServiceImpl implements WorkActUserService {
return resultDTO;
}
/**
* @param actUserRelationId
* @return void
* @author yinzuomei
* @description 报名审核-审核通过
* @Date 2020/7/23 17:30
**/
@Override
public void auditPass(String actUserRelationId) {
ActUserRelationEntity actUserRelationEntity=actUserRelationDao.selectById(actUserRelationId);
if(null==actUserRelationEntity||!ActConstant.ACT_USER_STATUS_AUDITING.equals(actUserRelationEntity.getStatus())){
logger.info("当前用户不处理待审核状态");
return ;
}
ActInfoEntity actInfo = actInfoDao.selectById(actUserRelationEntity.getActId());
if(!actInfo.getCreatedBy().equals(loginUserUtil.getLoginUserId())){
throw new RenException(EpmetErrorCode.REQUIRE_PERMISSION.getCode());
}
Date auditTime=new Date();
actUserRelationEntity.setStatus(ActConstant.ACT_USER_STATUS_PASSED);
actUserRelationEntity.setPassedType(ActConstant.PASSEDTYPE_MANUAL);
actUserRelationEntity.setAuditTime(auditTime);
actUserRelationEntity.setFailureReason(StrConstant.EPMETY_STR);
//更新关系记录表改为已通过
actUserRelationDao.updateById(actUserRelationEntity);
ActUserLogEntity actUserLogEntity=new ActUserLogEntity();
actUserLogEntity.setActId(actUserRelationEntity.getActId());
actUserLogEntity.setUserId(actUserRelationEntity.getUserId());
actUserLogEntity.setOperationType(ActConstant.ACT_USER_LOG_OPER_PASSED);
actUserLogEntity.setReason(StrConstant.EPMETY_STR);
actUserLogEntity.setCreatedTime(auditTime);
//插入一条日志
actUserLogDao.insert(actUserLogEntity);
//给居民发消息
this.saveUserMessage(actUserRelationEntity,ActConstant.ACT_USER_STATUS_PASSED,actInfo);
}
/**
* @param formDTO
* @return void
* @author yinzuomei
* @description 报名审核-拒绝报名
* @Date 2020/7/23 18:14
**/
@Override
public void auditRefuse(AuditUserFormDTO formDTO) {
ActUserRelationEntity actUserRelationEntity=actUserRelationDao.selectById(formDTO.getActUserRelationId());
if(null==actUserRelationEntity||!ActConstant.ACT_USER_STATUS_AUDITING.equals(actUserRelationEntity.getStatus())){
logger.info("当前用户不处理待审核状态");
return ;
}
ActInfoEntity actInfo = actInfoDao.selectById(actUserRelationEntity.getActId());
if(!actInfo.getCreatedBy().equals(loginUserUtil.getLoginUserId())){
throw new RenException(EpmetErrorCode.REQUIRE_PERMISSION.getCode());
}
Date auditTime=new Date();
actUserRelationEntity.setStatus(ActConstant.ACT_USER_STATUS_REFUSED);
actUserRelationEntity.setPassedType(ActConstant.PASSEDTYPE_MANUAL);
actUserRelationEntity.setAuditTime(auditTime);
//拒绝理由必填
actUserRelationEntity.setFailureReason(formDTO.getRejectReason());
//更新关系记录表改为已拒绝
actUserRelationDao.updateById(actUserRelationEntity);
ActUserLogEntity actUserLogEntity=new ActUserLogEntity();
actUserLogEntity.setActId(actUserRelationEntity.getActId());
actUserLogEntity.setUserId(actUserRelationEntity.getUserId());
actUserLogEntity.setOperationType(ActConstant.ACT_USER_LOG_OPER_REFUSED);
actUserLogEntity.setReason(StrConstant.EPMETY_STR);
actUserLogEntity.setCreatedTime(auditTime);
//插入一条日志
actUserLogDao.insert(actUserLogEntity);
//给居民发消息
this.saveUserMessage(actUserRelationEntity,ActConstant.ACT_USER_STATUS_REFUSED,actInfo);
}
/**
* @param actUserRelationEntity
* @param type
* @return void
* @author yinzuomei
* @description 报名审核通过拒绝通知居民
* @Date 2020/7/23 18:01
**/
private void saveUserMessage(ActUserRelationEntity actUserRelationEntity, String type,ActInfoEntity actInfo) {
try {
UserMessageFormDTO userMessageFormDTO = new UserMessageFormDTO();
userMessageFormDTO.setUserId(actUserRelationEntity.getUserId());
userMessageFormDTO.setGridId(StrConstant.STAR);
userMessageFormDTO.setApp(AppClientConstant.APP_RESI);
userMessageFormDTO.setTitle(ActMessageConstant.TITLE);
userMessageFormDTO.setReadFlag(ReadFlagConstant.UN_READ);
if (ActConstant.ACT_USER_STATUS_PASSED.equals(type)) {
userMessageFormDTO.setMessageContent(String.format(ActMessageConstant.AUDIT_PASSED, actInfo.getTitle()));
} else if (ActConstant.ACT_USER_STATUS_REFUSED.equals(type)) {
userMessageFormDTO.setMessageContent(String.format(ActMessageConstant.AUDIT_REFUSED, actInfo.getTitle(), actUserRelationEntity.getFailureReason()));
}
Result result = epmetMessageOpenFeignClient.saveUserMessage(userMessageFormDTO);
if (result.success()) {
logger.info("审核成功,已成功发送站内信");
}
} catch (Exception e) {
logger.error("审核结果,发送站内信异常", e.getMessage());
}
}
/**
* @return com.epmet.dto.result.work.HistoricalActInfo
* @param userId

Loading…
Cancel
Save