| | |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.reserve.*; |
| | | 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 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; |
| | |
| | | private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper; |
| | | @Resource |
| | | private ComActReserveOperationRecordService comActReserveOperationRecordService; |
| | | @Resource |
| | | private ComActActSignDAO comActActSignDAO; |
| | | |
| | | private final static String CANCEL="用户取消"; |
| | | @Override |
| | |
| | | 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); |
| | |
| | | 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(); |
| | |
| | | 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(); |
| | |
| | | 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()); |
| | | |
| | | //判断处理是否通过 |
| | | 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.getAppAccessToken(), "预约成功", |
| | | reserveDO.getTitle(), reserveRecordDO.getName(), makeHandleDTO.getMakeTime()); |
| | | } 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.getAppAccessToken(), "预约失败", |
| | | reserveDO.getTitle(), reserveRecordDO.getName(), DateUtils.format(reserveRecordDO.getReserveTime(),DateUtils.ymdhms_format)); |
| | | } 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); |
| | | } |
| | | }); |