From 95ff4c76c68947034a38f76a01379024e6f4b879 Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期五, 24 九月 2021 18:54:02 +0800
Subject: [PATCH] Merge branch 'four_member' into 'test'
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java | 305 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 257 insertions(+), 48 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java
index 90a6729..d0a6cf3 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java
@@ -1,26 +1,39 @@
package com.panzhihua.service_community.service.impl;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.base.Joiner;
import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenMicroListDTO;
import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.ComActMicroWishFeedbackVO;
+import com.panzhihua.common.model.vos.community.ComActMicroWishOperationRecordVO;
import com.panzhihua.common.model.vos.community.ComActMicroWishVO;
import com.panzhihua.common.model.vos.community.TodoEventsVO;
import com.panzhihua.common.model.vos.community.screen.work.MicroListVO;
+import com.panzhihua.common.model.vos.user.SysUserVO;
import com.panzhihua.common.utlis.SensitiveUtil;
+import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.ComActMicroWishDAO;
+import com.panzhihua.service_community.dao.ComActMicroWishFeedbackMapper;
+import com.panzhihua.service_community.dao.ComActMicroWishOperationRecordMapper;
import com.panzhihua.service_community.dao.ComActMicroWishUserDAO;
import com.panzhihua.service_community.model.dos.ComActMicroWishDO;
+import com.panzhihua.service_community.model.dos.ComActMicroWishFeedbackDO;
+import com.panzhihua.service_community.model.dos.ComActMicroWishOperationRecordDO;
import com.panzhihua.service_community.model.dos.ComActMicroWishUserDO;
+import com.panzhihua.service_community.service.ComActMicroWishOperationRecordService;
import com.panzhihua.service_community.service.ComActMicroWishService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -37,7 +50,12 @@
private ComActMicroWishDAO comActMicroWishDAO;
@Resource
private ComActMicroWishUserDAO comActMicroWishUserDAO;
-
+ @Resource
+ private ComActMicroWishFeedbackMapper comActMicroWishFeedbackMapper;
+ @Resource
+ private ComActMicroWishOperationRecordMapper comActMicroWishOperationRecordMapper;
+ @Resource
+ private ComActMicroWishOperationRecordService wishOperationRecordService;
/**
* 分页查询微心愿
*
@@ -59,19 +77,48 @@
page.setSize(pageSize);
page.setCurrent(pageNum);
IPage<ComActMicroWishVO> iPage = comActMicroWishDAO.pageMicroWish(page, comActMicroWishVO);
+
List<ComActMicroWishVO> records = iPage.getRecords();
if (!ObjectUtils.isEmpty(records)) {
records.forEach(comActMicroWishVO1 -> {
- Long id = comActMicroWishVO1.getId();
- ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
- .eq(ComActMicroWishUserDO::getUserId, userId));
- if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
- comActMicroWishVO1.setHaveGiveThumbsUp(0);
- } else {
- comActMicroWishVO1.setHaveGiveThumbsUp(1);
+ if(userId != null){
+ Long id = comActMicroWishVO1.getId();
+ ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
+ .eq(ComActMicroWishUserDO::getUserId, userId));
+ if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
+ comActMicroWishVO1.setHaveGiveThumbsUp(0);
+ } else {
+ comActMicroWishVO1.setHaveGiveThumbsUp(1);
+ }
}
comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone()));
+ //查询处理人
+ comActMicroWishVO1.setResponsibleName(this.getWishHandleName(comActMicroWishVO1.getHandleId()));
+ });
+ iPage.setRecords(records);
+ }
+ return R.ok(iPage);
+ }
+ @Override
+ public R pageMicroWishApplets(ComActMicroWishVO comActMicroWishVO) {
+ Long userId = comActMicroWishVO.getResponsibleId();
+ IPage<ComActMicroWishVO> iPage = comActMicroWishDAO.pageMicroWishApplets(new Page(comActMicroWishVO.getPageNum()
+ ,comActMicroWishVO.getPageSize()), comActMicroWishVO);
+ List<ComActMicroWishVO> records = iPage.getRecords();
+ if (!ObjectUtils.isEmpty(records)) {
+ records.forEach(comActMicroWishVO1 -> {
+ if(userId != null){
+ Long id = comActMicroWishVO1.getId();
+ ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
+ .eq(ComActMicroWishUserDO::getUserId, userId));
+ if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
+ comActMicroWishVO1.setHaveGiveThumbsUp(0);
+ } else {
+ comActMicroWishVO1.setHaveGiveThumbsUp(1);
+ }
+ }
+ comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone()));
});
iPage.setRecords(records);
}
@@ -98,13 +145,32 @@
if (ObjectUtils.isEmpty(comActMicroWishVO)) {
return R.fail("心愿不存在");
}
- ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id));
- if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
- comActMicroWishVO.setHaveGiveThumbsUp(0);
- }else {
- comActMicroWishVO.setHaveGiveThumbsUp(1);
+ if(userId != null){
+ ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id));
+ if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
+ comActMicroWishVO.setHaveGiveThumbsUp(0);
+ }else {
+ comActMicroWishVO.setHaveGiveThumbsUp(1);
+ }
+ }
+ //查询反馈列表
+ List<ComActMicroWishFeedbackVO> feedList=comActMicroWishFeedbackMapper.selectByWishId(id);
+ if(!feedList.isEmpty()){
+ comActMicroWishVO.setFeedbackVOList(feedList);
+ }
+ //查询操作记录
+ List<ComActMicroWishOperationRecordVO> operationList=comActMicroWishOperationRecordMapper.getByWishId(id);
+ if(!operationList.isEmpty()){
+ comActMicroWishVO.setOperationRecordVOList(operationList);
}
comActMicroWishVO.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO.getSponsorPhone()));
+ //查询同类型id数组
+ List<Long> idList=comActMicroWishOperationRecordMapper.selectId(comActMicroWishVO);
+ if(!idList.isEmpty()){
+ comActMicroWishVO.setIdList(idList);
+ }
+ //查询处理人
+ comActMicroWishVO.setResponsibleName(this.getWishHandleName(comActMicroWishVO.getHandleId()));
return R.ok(comActMicroWishVO);
}
@@ -115,6 +181,7 @@
* @return 操作结果
*/
@Override
+ @Transactional
public R putlMicroWish(ComActMicroWishVO comActMicroWishVO) {
Long id = comActMicroWishVO.getId();
int type = comActMicroWishVO.getType().intValue();
@@ -124,44 +191,121 @@
String feedbackPhotoPathList = comActMicroWishVO.getFeedbackPhotoPathList();
ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO();
comActMicroWishDO.setId(id);
+ Boolean isUpdate = false;
Date date = new Date();
+ ComActMicroWishOperationRecordDO comActMicroWishOperationRecordDO=new ComActMicroWishOperationRecordDO();
+ comActMicroWishOperationRecordDO.setCreateTime(date);
+ comActMicroWishOperationRecordDO.setUserId(comActMicroWishVO.getUserId());
+ comActMicroWishOperationRecordDO.setWishId(comActMicroWishVO.getId());
+ ComActMicroWishDO microWishDO = this.baseMapper.selectById(id);
+ if(microWishDO == null){
+ return R.fail("未查询到该微心愿记录");
+ }
// 1 审核通过 2驳回 3分配人员 4发起活动 5反馈
switch (type){
case 1:
+ isUpdate = true;
+ if(!microWishDO.getStatus().equals(ComActMicroWishDO.status.dsh)){
+ return R.fail("该微心愿已审核,不可重复审核");
+ }
comActMicroWishDO.setExamineAt(date);
- comActMicroWishDO.setStatus(2);//待分配
+ comActMicroWishDO.setAimNum(comActMicroWishVO.getAimNum());
+ comActMicroWishDO.setStatus(7);//集心中
+ comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.sh);
+ comActMicroWishOperationRecordDO.setContent("审核通过");
+ comActMicroWishOperationRecordDO.setRemark("微心愿审核通过");
+ comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
break;
case 2:
+ isUpdate = true;
+ if(!microWishDO.getStatus().equals(ComActMicroWishDO.status.dsh)){
+ return R.fail("该微心愿已审核,不可重复审核");
+ }
comActMicroWishDO.setExamineAt(date);
comActMicroWishDO.setRejectReason(rejectReason);
comActMicroWishDO.setStatus(4);//驳回
+ comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.bh);
+ comActMicroWishOperationRecordDO.setContent(rejectReason);
+ comActMicroWishOperationRecordDO.setRemark("微心愿审核未通过");
+ comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
break;
case 3:
+ isUpdate = true;
comActMicroWishDO.setDistributionAt(date);
comActMicroWishDO.setResponsibleId(responsibleId);
comActMicroWishDO.setStatus(3);//进行中
comActMicroWishDO.setForm(1);
+ if(comActMicroWishVO.getHandleIds() != null && comActMicroWishVO.getHandleIds().size() > 0){
+ comActMicroWishDO.setHandleId(Joiner.on(",").join(comActMicroWishVO.getHandleIds()));
+ }
+ //添加操作记录
+ comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fp);
+ comActMicroWishOperationRecordDO.setContent("分配心愿");
+ comActMicroWishOperationRecordDO.setRemark("分配心愿");
+ comActMicroWishOperationRecordDO.setUserId(responsibleId);
+ comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
break;
case 4:
+ isUpdate = true;
comActMicroWishDO.setDistributionAt(date);
comActMicroWishDO.setResponsibleId(responsibleId);
comActMicroWishDO.setStatus(3);//待确认
comActMicroWishDO.setForm(2);
+ if(comActMicroWishVO.getHandleIds() != null && comActMicroWishVO.getHandleIds().size() > 0){
+ comActMicroWishDO.setHandleId(Joiner.on(",").join(comActMicroWishVO.getHandleIds()));
+ }
+ //添加操作记录
+ comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fp);
+ comActMicroWishOperationRecordDO.setContent("分配心愿");
+ comActMicroWishOperationRecordDO.setRemark("分配心愿");
+ comActMicroWishOperationRecordDO.setUserId(responsibleId);
+ comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
break;
case 5:
- comActMicroWishDO.setFeedbackAt(date);
- comActMicroWishDO.setStatus(5);//待确认
- comActMicroWishDO.setFeedback(feedback);
- comActMicroWishDO.setFinish(feedback);
- comActMicroWishDO.setFinishPhotoPathList(feedbackPhotoPathList);
- comActMicroWishDO.setFinishAt(date);
- comActMicroWishDO.setFeedbackPhotoPathList(feedbackPhotoPathList);
- break;
+ if(comActMicroWishVO.getFeedback().length() > 200){
+ return R.fail("反馈字数不得超过200字");
+ }
+ //新增反馈记录
+ ComActMicroWishFeedbackDO comActMicroWishFeedbackDO=new ComActMicroWishFeedbackDO();
+ comActMicroWishFeedbackDO.setCreateTime(date);
+ comActMicroWishFeedbackDO.setContent(feedback);
+ comActMicroWishFeedbackDO.setImgUrl(feedbackPhotoPathList);
+ comActMicroWishFeedbackDO.setMicroId(comActMicroWishVO.getId());
+ comActMicroWishFeedbackDO.setUserId(comActMicroWishVO.getUserId());
+ if(comActMicroWishVO.getStatus() != null && comActMicroWishVO.getStatus().equals(ComActMicroWishDO.status.dqr)){
+ isUpdate = true;
+ comActMicroWishDO.setStatus(ComActMicroWishDO.status.dqr);
+ comActMicroWishDO.setFinishAt(date);
+ comActMicroWishDO.setFinish(feedback);
+ comActMicroWishDO.setFinishPhotoPathList(feedbackPhotoPathList);
+
+ //添加操作记录
+ comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fk);
+ comActMicroWishOperationRecordDO.setContent(feedback);
+ comActMicroWishOperationRecordDO.setRemark("心愿已完成");
+ comActMicroWishOperationRecordDO.setImgUrl(feedbackPhotoPathList);
+ comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
+ }else{
+ //添加操作记录
+ comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fk);
+ comActMicroWishOperationRecordDO.setContent(feedback);
+ comActMicroWishOperationRecordDO.setRemark("社区反馈");
+ comActMicroWishOperationRecordDO.setImgUrl(feedbackPhotoPathList);
+ comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
+ }
+// else {
+// comActMicroWishDO.setStatus(3);
+// }
+ comActMicroWishFeedbackMapper.insert(comActMicroWishFeedbackDO);
default:
break;
}
- int update = comActMicroWishDAO.updateById(comActMicroWishDO);
- if (update>0) {
+ if(isUpdate){
+ int update = comActMicroWishDAO.updateById(comActMicroWishDO);
+ if (update>0) {
+ return R.ok();
+ }
+ }else{
return R.ok();
}
return R.fail();
@@ -174,33 +318,41 @@
* @return 操作结果
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public R comActMicroWishVO(ComActMicroWishVO comActMicroWishVO) {
- Integer haveGiveThumbsUp = comActMicroWishVO.getHaveGiveThumbsUp();
Long userId = comActMicroWishVO.getSponsorId();
Long microWishId = comActMicroWishVO.getId();
- ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId).eq(ComActMicroWishUserDO::getUserId, userId));
- boolean empty = ObjectUtils.isEmpty(comActMicroWishUserDO);
- int num=0;
- if (haveGiveThumbsUp.intValue()==1) {
- if (empty) {
- ComActMicroWishUserDO comActMicroWishUserDO1=new ComActMicroWishUserDO();
- comActMicroWishUserDO1.setMicroWishId(microWishId);
- comActMicroWishUserDO1.setUserId(userId);
- num=comActMicroWishUserDAO.insert(comActMicroWishUserDO1);
- }else{
- return R.ok();
- }
- }else {
- if (empty) {
- return R.ok();
- } else {
- num= comActMicroWishUserDAO.deleteById(comActMicroWishUserDO.getId());
+ //查询微心愿集心数并判断修改微心愿状态
+ ComActMicroWishDO comActMicroWishDO=comActMicroWishDAO.selectById(microWishId);
+ Integer count=comActMicroWishUserDAO.selectCount(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId));
+ if(comActMicroWishDO!=null&&comActMicroWishDO.getAimNum()!=null&&count<comActMicroWishDO.getAimNum()){
+ if(comActMicroWishDO.getStatus()==ComActMicroWishDO.status.jx){
+ ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId).eq(ComActMicroWishUserDO::getUserId, userId));
+ boolean empty = ObjectUtils.isEmpty(comActMicroWishUserDO);
+ int num=0;
+ if (empty) {
+ ComActMicroWishUserDO comActMicroWishUserDO1=new ComActMicroWishUserDO();
+ comActMicroWishUserDO1.setMicroWishId(microWishId);
+ comActMicroWishUserDO1.setUserId(userId);
+ num=comActMicroWishUserDAO.insert(comActMicroWishUserDO1);
+ }else{
+ return R.fail("无法重新点心");
+ }
+ if (num>0) {
+ if(count>=comActMicroWishDO.getAimNum()-1){
+ comActMicroWishDO.setStatus(ComActMicroWishDO.status.dfp);
+ comActMicroWishDO.setFeedbackAt(DateUtil.date());
+ comActMicroWishDAO.updateById(comActMicroWishDO);
+
+ //完成集心添加操作记录
+ wishOperationRecordService.addOperationRecord("完成集心",comActMicroWishDO.getSponsorId()
+ ,comActMicroWishDO.getId(),ComActMicroWishOperationRecordDO.type.jx,"用户完成集心",null);
+ }
+ return R.ok();
+ }
}
}
- if (num>0) {
- return R.ok();
- }
- return R.fail();
+ return R.fail("该微心愿不可点心");
}
/**
@@ -216,8 +368,8 @@
return R.fail("心愿不存在");
}
Integer status = comActMicroWishDO1.getStatus();
- if (status.intValue()!=5) {
- return R.fail("心愿状态不是待确认");
+ if (!status.equals(ComActMicroWishDO.status.dqr)) {
+ return R.fail("心愿状态不是待确认状态");
}
ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO();
comActMicroWishDO.setId(comActMicroWishVO.getId());
@@ -227,6 +379,9 @@
comActMicroWishDO.setEvaluate(comActMicroWishVO.getEvaluate());
int update = comActMicroWishDAO.updateById(comActMicroWishDO);
if (update>0) {
+ //用户确认心愿添加操作记录
+ wishOperationRecordService.addOperationRecord(comActMicroWishVO.getEvaluate(),comActMicroWishDO1.getSponsorId()
+ ,comActMicroWishDO1.getId(),ComActMicroWishOperationRecordDO.type.wc,"用户已确认",null);
return R.ok();
}
return R.fail();
@@ -258,6 +413,14 @@
@Override
public R timedTaskActMicroWishAll() {
+
+ //微心愿自动确认前需要添加操作记录
+ List<Long> wishIds = comActMicroWishDAO.getWishAutoConfirmIds();
+ wishIds.forEach(wishId -> {
+ //需要添加操作记录
+ wishOperationRecordService.addOperationRecord("系统自动确认微心愿",null
+ ,wishId, ComActMicroWishOperationRecordDO.type.zd,"系统自动确认微心愿",null);
+ });
int num=comActMicroWishDAO.updateStatusAutoConfirm();
log.info("定时任务--修改待自动确认微心愿状态数量【{}】",num);
return R.ok();
@@ -275,4 +438,50 @@
}
return R.ok(microListVOIPage);
}
+
+ /**
+ * 微心愿处理人列表
+ * @param communityId 社区id
+ * @param type 处理人类型(1.后台用户 2.党员 3.志愿者)
+ * @return 处理人列表
+ */
+ @Override
+ public R wishHandleListAdmin(Long communityId,Integer type){
+ return R.ok(comActMicroWishDAO.getWishHandleListAdmin(type,communityId));
+ }
+
+ /**
+ * 拼接处理人
+ * @param handleId 处理人id字符串
+ * @return 处理人名称
+ */
+ private String getWishHandleName(String handleId){
+ StringBuffer sb = new StringBuffer();
+ if(StringUtils.isNotEmpty(handleId)){
+ String []handleIds = handleId.split(",");
+ if(handleIds.length > 0){
+ for (String id : handleIds) {
+ SysUserVO user = comActMicroWishDAO.getUserByUserId(Long.parseLong(id));
+ if(user != null){
+ if(user.getType().equals(SysUserVO.type.xcx)){
+ if(user.getIsPartymember().equals(SysUserVO.isOk.yes)){
+ sb.append(user.getName() + "(党员),");
+ }else if(user.getIsVolunteer().equals(SysUserVO.isOk.yes)){
+ sb.append(user.getName() + "(志愿者),");
+ }else{
+ sb.append(user.getName());
+ }
+ }else if(user.getType().equals(SysUserVO.type.sqht)){
+ sb.append(user.getName() + "(后台用户),");
+ }
+ }
+ }
+ }
+ }
+ String result = sb.toString();
+ if(result.length() > 0){
+ result = result.substring(0,result.length()-1);
+ }
+ return result;
+ }
}
--
Gitblit v1.7.1