This commit is contained in:
2025-03-07 09:22:28 +08:00
2 changed files with 101 additions and 73 deletions

View File

@ -1,5 +1,6 @@
package com.ruoyi.web.controller.bgt; package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.domain.BgtMessage;
import com.ruoyi.bgt.domain.dto.BgtMessageDetailDTO; import com.ruoyi.bgt.domain.dto.BgtMessageDetailDTO;
import com.ruoyi.bgt.domain.dto.BgtMessageMyListDTO; import com.ruoyi.bgt.domain.dto.BgtMessageMyListDTO;
import com.ruoyi.bgt.domain.vo.BgtMessageCountVO; import com.ruoyi.bgt.domain.vo.BgtMessageCountVO;
@ -13,9 +14,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 消息Controller * 消息Controller
@ -49,5 +48,14 @@ public class AppBgtMessageController extends BaseController {
return iBgtMessageService.queryDetailPageList(dto); return iBgtMessageService.queryDetailPageList(dto);
} }
@ApiOperation("已读")
@PutMapping("/read/{id}")
public AjaxResult<Boolean> read(@PathVariable(value = "id") Long id) {
BgtMessage bgtMessage = new BgtMessage();
bgtMessage.setId(id);
bgtMessage.setReadStatus("1");
return AjaxResult.success(iBgtMessageService.updateById(bgtMessage));
}
} }

View File

@ -72,72 +72,71 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
@Autowired @Autowired
private IWgzUserService wgzUserService; private IWgzUserService wgzUserService;
@Override @Override
public WgzReissueacard queryById(Long id){ public WgzReissueacard queryById(Long id) {
return getById(id); return getById(id);
} }
@Override
public TableDataInfo<WgzReissueacard> queryPageList(WgzReissueacardQueryBo bo) {
Page<WgzReissueacard> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override @Override
public TableDataInfo<WgzReissueacard> queryPageList(WgzReissueacardQueryBo bo) { public List<WgzReissueacard> queryList(WgzReissueacardQueryBo bo) {
Page<WgzReissueacard> result = page(PageUtils.buildPage(), buildQueryWrapper(bo)); return list(buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result); }
}
@Override private LambdaQueryWrapper<WgzReissueacard> buildQueryWrapper(WgzReissueacardQueryBo bo) {
public List<WgzReissueacard> queryList(WgzReissueacardQueryBo bo) { Map<String, Object> params = bo.getParams();
return list(buildQueryWrapper(bo)); LambdaQueryWrapper<WgzReissueacard> lqw = Wrappers.lambdaQuery();
} lqw.eq(bo.getRecruitId() != null, WgzReissueacard::getRecruitId, bo.getRecruitId());
lqw.eq(bo.getUserId() != null, WgzReissueacard::getUserId, bo.getUserId());
lqw.eq(bo.getAttendanceId() != null, WgzReissueacard::getAttendanceId, bo.getAttendanceId());
lqw.eq(StrUtil.isNotBlank(bo.getType()), WgzReissueacard::getType, bo.getType());
lqw.like(StrUtil.isNotBlank(bo.getRecruitName()), WgzReissueacard::getRecruitName, bo.getRecruitName());
lqw.eq(StrUtil.isNotBlank(bo.getRawTime()), WgzReissueacard::getRawTime, bo.getRawTime());
lqw.eq(bo.getNowTime() != null, WgzReissueacard::getNowTime, bo.getNowTime());
lqw.eq(StrUtil.isNotBlank(bo.getReason()), WgzReissueacard::getReason, bo.getReason());
lqw.eq(bo.getAuditorUserId() != null, WgzReissueacard::getAuditorUserId, bo.getAuditorUserId());
lqw.eq(StrUtil.isNotBlank(bo.getAuditorType()), WgzReissueacard::getAuditorType, bo.getAuditorType());
lqw.eq(StrUtil.isNotBlank(bo.getAuditorOpinion()), WgzReissueacard::getAuditorOpinion, bo.getAuditorOpinion());
lqw.eq(bo.getAuditorTime() != null, WgzReissueacard::getAuditorTime, bo.getAuditorTime());
return lqw;
}
private LambdaQueryWrapper<WgzReissueacard> buildQueryWrapper(WgzReissueacardQueryBo bo) { @Override
Map<String, Object> params = bo.getParams(); public Boolean insert(WgzReissueacard bo) {
LambdaQueryWrapper<WgzReissueacard> lqw = Wrappers.lambdaQuery(); WgzReissueacard add = BeanUtil.toBean(bo, WgzReissueacard.class);
lqw.eq(bo.getRecruitId() != null, WgzReissueacard::getRecruitId, bo.getRecruitId()); validEntityBeforeSave(add);
lqw.eq(bo.getUserId() != null, WgzReissueacard::getUserId, bo.getUserId()); return save(add);
lqw.eq(bo.getAttendanceId() != null, WgzReissueacard::getAttendanceId, bo.getAttendanceId()); }
lqw.eq(StrUtil.isNotBlank(bo.getType()), WgzReissueacard::getType, bo.getType());
lqw.like(StrUtil.isNotBlank(bo.getRecruitName()), WgzReissueacard::getRecruitName, bo.getRecruitName());
lqw.eq(StrUtil.isNotBlank(bo.getRawTime()), WgzReissueacard::getRawTime, bo.getRawTime());
lqw.eq(bo.getNowTime() != null, WgzReissueacard::getNowTime, bo.getNowTime());
lqw.eq(StrUtil.isNotBlank(bo.getReason()), WgzReissueacard::getReason, bo.getReason());
lqw.eq(bo.getAuditorUserId() != null, WgzReissueacard::getAuditorUserId, bo.getAuditorUserId());
lqw.eq(StrUtil.isNotBlank(bo.getAuditorType()), WgzReissueacard::getAuditorType, bo.getAuditorType());
lqw.eq(StrUtil.isNotBlank(bo.getAuditorOpinion()), WgzReissueacard::getAuditorOpinion, bo.getAuditorOpinion());
lqw.eq(bo.getAuditorTime() != null, WgzReissueacard::getAuditorTime, bo.getAuditorTime());
return lqw;
}
@Override @Override
public Boolean insert(WgzReissueacard bo) { public Boolean update(WgzReissueacard bo) {
WgzReissueacard add = BeanUtil.toBean(bo, WgzReissueacard.class); WgzReissueacard update = BeanUtil.toBean(bo, WgzReissueacard.class);
validEntityBeforeSave(add); validEntityBeforeSave(update);
return save(add); return updateById(update);
} }
@Override /**
public Boolean update(WgzReissueacard bo) { * 保存前的数据校验
WgzReissueacard update = BeanUtil.toBean(bo, WgzReissueacard.class); *
validEntityBeforeSave(update); * @param entity 实体类数据
return updateById(update); */
} private void validEntityBeforeSave(WgzReissueacard entity) {
//TODO 做一些数据校验,如唯一约束
}
/** @Override
* 保存前的数据校验 public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
* if (isValid) {
* @param entity 实体类数据 //TODO 做一些业务上的校验,判断是否需要校验
*/ }
private void validEntityBeforeSave(WgzReissueacard entity){ return removeByIds(ids);
//TODO 做一些数据校验,如唯一约束 }
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return removeByIds(ids);
}
/** /**
* APP相关 * APP相关
@ -162,7 +161,7 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
String rawTime = ""; String rawTime = "";
if (attendanceInfo.getClockInTime() == null) { if (attendanceInfo.getClockInTime() == null) {
rawTime = "缺卡"; rawTime = "缺卡";
}else{ } else {
rawTime = attendanceInfo.getClockInTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); rawTime = attendanceInfo.getClockInTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
} }
//5、组装补卡申请数据 //5、组装补卡申请数据
@ -182,19 +181,19 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
Map<String, String> mp = new HashMap<>(); Map<String, String> mp = new HashMap<>();
mp.put("projectName", recruit.getRecruitName()); mp.put("projectName", recruit.getRecruitName());
mp.put("userName", byId.getUsername()); mp.put("userName", byId.getUsername());
mp.put("data",String.valueOf(req.getNowTime())); mp.put("data", String.valueOf(req.getNowTime()));
if (insert > 0) { if (insert > 0) {
WgzMessage wgzMessage = new WgzMessage(). WgzMessage wgzMessage = new WgzMessage().
setSenderType(USERTYPE_SYSTEM). setSenderType(USERTYPE_SYSTEM).
setRecipientType(USERTYPE_WGZ). setRecipientType(USERTYPE_WGZ).
setRecipientId(appUserId). setRecipientId(appUserId).
setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"109")). setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp, "109")).
setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"110")). setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp, "110")).
setTableId(wgzReissueacard.getId()). setTableId(wgzReissueacard.getId()).
setTableName(SqlHelper.table(WgzReissueacard.class).getTableName()). setTableName(SqlHelper.table(WgzReissueacard.class).getTableName()).
setMessageLargeType(LARGE_OTHER). setMessageLargeType(LARGE_OTHER).
setMessageSmallType(SMALL_CARD); setMessageSmallType(SMALL_CARD);
if (!iWgzMessageService.sendAMessage(wgzMessage)){ if (!iWgzMessageService.sendAMessage(wgzMessage)) {
throw new RuntimeException("系统补卡消息发送失败!"); throw new RuntimeException("系统补卡消息发送失败!");
} }
BgtMessage bgtMessage = new BgtMessage(). BgtMessage bgtMessage = new BgtMessage().
@ -202,13 +201,13 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
setSenderId(appUserId). setSenderId(appUserId).
setRecipientType(USERTYPE_BGT). setRecipientType(USERTYPE_BGT).
setRecipientId(recruit.getUserId()). setRecipientId(recruit.getUserId()).
setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"207")). setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp, "207")).
setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"208")). setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp, "208")).
setTableId(wgzReissueacard.getId()). setTableId(wgzReissueacard.getId()).
setTableName(SqlHelper.table(BgtProjectRecruitApply.class).getTableName()). setTableName(SqlHelper.table(BgtProjectRecruitApply.class).getTableName()).
setMessageLargeType(BGT_TYPE_SIGN_UP). setMessageLargeType(BGT_TYPE_SIGN_UP).
setMessageSmallType(BGT_SMALL_MAKE_UP); setMessageSmallType(BGT_SMALL_MAKE_UP);
if (!iBgtMessageService.sendAMessage(bgtMessage)){ if (!iBgtMessageService.sendAMessage(bgtMessage)) {
throw new RuntimeException("发送补卡消息失败!"); throw new RuntimeException("发送补卡消息失败!");
} }
return true; return true;
@ -223,7 +222,7 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
Page<WgzAppReplacementCardRecordReq> queryDTOPage = new Page<>(); Page<WgzAppReplacementCardRecordReq> queryDTOPage = new Page<>();
queryDTOPage.setCurrent(req.getPageNum()); queryDTOPage.setCurrent(req.getPageNum());
queryDTOPage.setSize(req.getPageSize()); queryDTOPage.setSize(req.getPageSize());
return PageUtils.buildDataInfo(baseMapper.userReplacementCardRecordListPage(queryDTOPage,userId)); return PageUtils.buildDataInfo(baseMapper.userReplacementCardRecordListPage(queryDTOPage, userId));
} }
@Override @Override
@ -232,7 +231,7 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
Page<BgtReissueacardListDTO> queryDTOPage = new Page<>(); Page<BgtReissueacardListDTO> queryDTOPage = new Page<>();
queryDTOPage.setCurrent(dto.getPageNum()); queryDTOPage.setCurrent(dto.getPageNum());
queryDTOPage.setSize(dto.getPageSize()); queryDTOPage.setSize(dto.getPageSize());
return PageUtils.buildDataInfo(baseMapper.appQueryPageList(queryDTOPage,dto)); return PageUtils.buildDataInfo(baseMapper.appQueryPageList(queryDTOPage, dto));
} }
@Override @Override
@ -241,10 +240,31 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
WgzReissueacard byId = getById(dto.getId()); WgzReissueacard byId = getById(dto.getId());
BeanUtil.copyProperties(dto, byId); BeanUtil.copyProperties(dto, byId);
boolean b = updateById(byId); boolean b = updateById(byId);
//修改考勤标记
WgzAttendance attendance = iWgzAttendanceService.getById(byId.getAttendanceId());
String exceptionType = attendance.getExceptionType();
if ("0".equals(byId.getType())) { //上班补卡
exceptionType = exceptionType.replace("\\b1\\b", "5");
exceptionType = exceptionType.replace("\\b3\\b", "5");
attendance.setExceptionType(exceptionType);
attendance.setLate(1);
attendance.setMissedIn(1);
} else {
exceptionType = exceptionType.replace("\\b2\\b", "6");
exceptionType = exceptionType.replace("\\b4\\b", "6");
attendance.setExceptionType(exceptionType);
attendance.setEarlyLeave(1);
attendance.setMissedOut(1);
}
iWgzAttendanceService.updateById(attendance);
//发消息 //发消息
HashMap<String, String> mp = new HashMap<>(); HashMap<String, String> mp = new HashMap<>();
mp.put("projectName",iBgtProjectRecruitService.getById(byId.getRecruitId()).getRecruitName()); mp.put("projectName", iBgtProjectRecruitService.getById(byId.getRecruitId()).getRecruitName());
mp.put("auditor",SecurityUtils.getUsername()); mp.put("auditor", SecurityUtils.getUsername());
Map<String, String> map = bgtMessage(mp, BGT_TYPE_MAKE_UP, true); Map<String, String> map = bgtMessage(mp, BGT_TYPE_MAKE_UP, true);
WgzMessage wgzMessage = new WgzMessage() WgzMessage wgzMessage = new WgzMessage()
.setSenderType(USERTYPE_BGT) .setSenderType(USERTYPE_BGT)