From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java | 64 +++++++++++++++++++++++++++++++- 1 files changed, 62 insertions(+), 2 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 e8a53c8..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,11 +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.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.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; @@ -26,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; @@ -48,6 +55,10 @@ private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper; @Resource private ComActReserveOperationRecordService comActReserveOperationRecordService; + @Resource + private ComActActSignDAO comActActSignDAO; + @Resource + private UserService userService; private final static String CANCEL="用户取消"; @Override @@ -63,7 +74,13 @@ 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); @@ -71,7 +88,7 @@ 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(); @@ -127,12 +144,16 @@ 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(); @@ -216,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); } }); @@ -277,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