From ccd28a0c35e8fff74da6ef63042fb8a896d78f7f Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期三, 29 六月 2022 09:45:52 +0800
Subject: [PATCH] 单位服务统计
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java | 78 +++++++++++++++++++++++++++++++++++---
1 files changed, 71 insertions(+), 7 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java
index a128e4c..137c772 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java
@@ -7,13 +7,16 @@
import com.panzhihua.common.model.dtos.community.reserve.*;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.reserve.*;
+import com.panzhihua.common.model.vos.user.SysTemplateConfigVO;
+import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.DateUtils;
-import com.panzhihua.service_community.dao.ComActReserveAnswerContentMapper;
-import com.panzhihua.service_community.dao.ComActReserveOperationRecordMapper;
+import com.panzhihua.common.utlis.WxUtil;
+import com.panzhihua.common.utlis.WxXCXTempSend;
+import com.panzhihua.service_community.dao.*;
import com.panzhihua.common.model.dtos.community.CancelRecordDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.service_community.dao.ComActReserveOperationRecordMapper;
-import com.panzhihua.service_community.dao.ComActReserveRecordMapper;
+import com.panzhihua.service_community.model.dos.ComActReserveDO;
import com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO;
import com.panzhihua.service_community.model.dos.ComActReserveRecordDO;
import com.panzhihua.service_community.service.ComActReserveOperationRecordService;
@@ -28,6 +31,8 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Map;
+
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@@ -43,11 +48,17 @@
@Resource
private ComActReserveRecordMapper comActReserveRecordMapper;
@Resource
+ private ComActReserveMapper comActReserveMapper;
+ @Resource
private ComActReserveAnswerContentMapper comActReserveAnswerContentMapper;
@Resource
private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper;
@Resource
private ComActReserveOperationRecordService comActReserveOperationRecordService;
+ @Resource
+ private ComActActSignDAO comActActSignDAO;
+ @Resource
+ private UserService userService;
private final static String CANCEL="用户取消";
@Override
@@ -58,11 +69,18 @@
ComActReserveRecordDO comActReserveRecordDO=comActReserveRecordMapper.selectById(comActReserveRecord.getId());
if(comActReserveRecordDO!=null&&comActReserveRecordDO.getStatus()!=ComActReserveRecordDO.status.yqx){
comActReserveRecordDO.setStatus(ComActReserveRecordDO.status.yqx);
- comActReserveRecordDO.setContent(comActReserveRecord.getContent());
+ comActReserveRecordDO.setRemark(comActReserveRecord.getContent());
+ comActReserveRecordDO.setReserveTime(DateUtil.date());
int result =comActReserveRecordMapper.updateById(comActReserveRecordDO);
//判断取消状态并添加操作记录
if(result>0){
+ //更新回答用户数量
+ ComActReserveDO comActReserveDO=comActReserveMapper.selectById(comActReserveRecordDO.getReserveId());
+ Integer joinCount = comActReserveDO.getJoinCount();
+ comActReserveDO.setJoinCount(joinCount != null ? joinCount - 1 : 0);
+ comActReserveMapper.updateById(comActReserveDO);
ComActReserveOperationRecordDO comActReserveOperationRecordDO=new ComActReserveOperationRecordDO();
+ comActReserveOperationRecordDO.setRemark(comActReserveRecord.getContent());
comActReserveOperationRecordDO.setReserveId(comActReserveRecordDO.getReserveId());
comActReserveOperationRecordDO.setReserveRecordId(comActReserveRecordDO.getId());
comActReserveOperationRecordDO.setType(ComActReserveOperationRecordDO.type.br);
@@ -70,7 +88,8 @@
comActReserveOperationRecordDO.setReserveContent(CANCEL);
comActReserveOperationRecordDO.setPhone(comActReserveRecordDO.getPhone());
comActReserveOperationRecordDO.setStatus(ComActReserveOperationRecordDO.status.qx);
- comActReserveOperationRecordDO.setUserId(comActReserveRecordDO.getUserId());
+ comActReserveOperationRecordDO.setUserId(comActReserveRecord.getUserId());
+ comActReserveOperationRecordDO.setReserveTime(DateUtil.date());
comActReserveOperationRecordMapper.insert(comActReserveOperationRecordDO);
return R.ok();
}
@@ -118,17 +137,23 @@
public R makeCancelAdmin(CancelReserveRecordDTO reserveRecordDTO){
Integer count = this.baseMapper.getReserveStatusById(reserveRecordDTO.getIds());
if(count > 0){
- return R.ok("您选择的记录中存在未预约成功,不可进行批量取消");
+ return R.fail("仅预约成功的可以进行取消操作");
}
if(this.baseMapper.editReserveStatusById(reserveRecordDTO.getIds()) > 0){
Long userId = reserveRecordDTO.getUserId();
reserveRecordDTO.getIds().forEach(id -> {
ComActReserveRecordDO reserveRecordDO = comActReserveRecordMapper.selectById(id);
if(reserveRecordDO != null){
+ //更新预约记录社区备注字段
+ reserveRecordDO.setActRemark(reserveRecordDTO.getRemark());
+ reserveRecordDO.setHandleId(userId);
+ comActReserveRecordMapper.updateById(reserveRecordDO);
+ //取消预约返还可参加名额
+ comActReserveMapper.addReserveCountById(reserveRecordDO.getReserveId());
//添加操作记录
comActReserveOperationRecordService.addReserveOperationRecord(reserveRecordDO.getReserveId()
,reserveRecordDO.getId(),reserveRecordDO.getUserId(),ComActReserveOperationRecordDO.type.sq,null
- ,"社区管理员取消预约",reserveRecordDTO.getRemark(),ComActReserveOperationRecordDO.status.qx,userId,null);
+ ,"社区管理员取消预约",reserveRecordDTO.getRemark(),ComActReserveOperationRecordDO.status.qx,userId,new Date());
}
});
return R.ok();
@@ -212,27 +237,56 @@
Date nowDate = new Date();
Long userId = makeHandleDTO.getUserId();
String remark = makeHandleDTO.getRemark();
+ WxXCXTempSend util = new WxXCXTempSend();
List<ComActReserveRecordDO> updateList = new ArrayList<>();
makeHandleDTO.getIds().forEach(id -> {
ComActReserveRecordDO reserveRecordDO = this.baseMapper.selectById(id);
if(reserveRecordDO != null){
Date reserveTime = DateUtils.stringToDate(makeHandleDTO.getMakeTime(),DateUtils.ymdhms_format);
+
+ //查询预约登记信息
+ ComActReserveDO reserveDO = comActReserveMapper.selectById(reserveRecordDO.getReserveId());
+ // 预约以后给用户推送消息
+ Map<String, String> map = comActActSignDAO.getUserOpenId(reserveRecordDO.getUserId());
+ R<SysTemplateConfigVO> sysTemplateConfigVO=userService.selectTemplate(makeHandleDTO.getAreaCode(),10);
//判断处理是否通过
if(makeHandleDTO.getIsOk().equals(MakeHandleAdminDTO.isOk.yes)){
reserveRecordDO.setStatus(ComActReserveRecordDO.status.cg);
comActReserveOperationRecordService.addReserveOperationRecord(reserveRecordDO.getReserveId()
,id,reserveRecordDO.getUserId(),ComActReserveOperationRecordDO.type.sq,null
,"社区管理员处理预约成功",remark,ComActReserveOperationRecordDO.status.cg,userId,reserveTime);
+ if (map != null) {
+ String openid = map.get("openid");
+ try {
+ WxUtil.sendSubscribeYYTX(openid, util.getAccessToken(), "预约成功",
+ reserveDO.getTitle(), reserveRecordDO.getName(), makeHandleDTO.getMakeTime(),sysTemplateConfigVO.getData().getTemplateId());
+ } catch (Exception e) {
+ log.error("消息推送失败,失败原因:" + e.getMessage());
+ }
+ }
}else if(makeHandleDTO.getIsOk().equals(MakeHandleAdminDTO.isOk.no)){
reserveRecordDO.setStatus(ComActReserveRecordDO.status.sb);
comActReserveOperationRecordService.addReserveOperationRecord(reserveRecordDO.getReserveId()
,id,reserveRecordDO.getUserId(),ComActReserveOperationRecordDO.type.sq,null
,"社区管理员处理预约失败",remark,ComActReserveOperationRecordDO.status.sb,userId,null);
+
+ if (map != null) {
+ String openid = map.get("openid");
+ try {
+ WxUtil.sendSubscribeYYTX(openid, util.getAccessToken(), "预约失败",
+ reserveDO.getTitle(), reserveRecordDO.getName(), DateUtils.format(reserveRecordDO.getReserveTime(),DateUtils.ymdhms_format),sysTemplateConfigVO.getData().getTemplateId());
+ } catch (Exception e) {
+ log.error("消息推送失败,失败原因:" + e.getMessage());
+ }
+ }
+ //预约失败时需要更新预约登记参与人数
+ comActReserveMapper.addReserveCountById(reserveRecordDO.getReserveId());
}
reserveRecordDO.setActRemark(remark);
reserveRecordDO.setReserveTime(reserveTime);
reserveRecordDO.setUpdateAt(nowDate);
reserveRecordDO.setUpdateBy(userId);
+ reserveRecordDO.setHandleId(userId);
updateList.add(reserveRecordDO);
}
});
@@ -273,9 +327,19 @@
registerDetailedVO.setIdentity(identity.substring(0,identity.length()-1));
//查询答题数据
List<ComActReserveRegisterDetailedAnswerVO> answerList = comActReserveAnswerContentMapper.getRegisterDetailedAnswerList(reserveRecordId);
+ answerList.forEach(answer ->{
+ if(answer.getType()==4){
+ answer.setAnswerContent(answer.getAnswerContent().replaceAll("(?<=\\w{3})\\w(?=\\w{4})", "*"));
+ }
+ });
registerDetailedVO.setAnswerList(answerList);
}
return R.ok(registerDetailedVO);
}
+ @Override
+ public R fiveCount(Long reserveId) {
+ return R.ok(comActReserveAnswerContentMapper.fiveCount(reserveId));
+ }
+
}
--
Gitblit v1.7.1