diff --git a/pusong-admin/src/main/java/com/pusong/web/controller/AuthController.java b/pusong-admin/src/main/java/com/pusong/web/controller/AuthController.java index 9d3b848..9a45d59 100644 --- a/pusong-admin/src/main/java/com/pusong/web/controller/AuthController.java +++ b/pusong-admin/src/main/java/com/pusong/web/controller/AuthController.java @@ -125,6 +125,7 @@ public class AuthController { dto = new WebSocketMessageDto(); // dto.setMessage(sysNotice.getNoticeContent()); SysNoticeVo vo = MapstructUtils.convert(sysNotice, SysNoticeVo.class); + vo.setLogin(true); dto.setMessage(JsonUtils.toJsonString(vo)); dto.setSessionKeys(List.of(userId)); WebSocketUtils.publishMessage(dto); diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/FreeApproverServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/FreeApproverServiceImpl.java index d6ad250..45dfb85 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/FreeApproverServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/FreeApproverServiceImpl.java @@ -78,7 +78,7 @@ public class FreeApproverServiceImpl extends ApproverAbstractServiceImpl { // contractInfoService.updateByCode(info); // } noticeService.sendNotice(SysNoticeBo.getFreeTaskInstance(psApproverRecord.getCreateBy(), psCompanyInfoVo.getCompanyName())); - noticeService.sendNotice(SysNoticeBo.getFreeTaskToRoleInstance(psCompanyInfoVo.getCompanyName())); +// noticeService.sendNotice(SysNoticeBo.getFreeTaskToRoleInstance(psCompanyInfoVo.getCompanyName())); } @@ -91,7 +91,7 @@ public class FreeApproverServiceImpl extends ApproverAbstractServiceImpl { public void fail(PsApproverRecord psApproverRecord) { PsCompanyInfoVo psCompanyInfoVo = companyInfoService.queryById(Long.valueOf(psApproverRecord.getBusinessId())); noticeService.sendNotice(SysNoticeBo.getFreeTaskErrorToUidInstance(psApproverRecord.getCreateBy(), psCompanyInfoVo.getCompanyName(), psApproverRecord.getApproverDesc())); - noticeService.sendNotice(SysNoticeBo.getFreeTaskErrorToRoleInstance(psCompanyInfoVo.getCompanyName(), psApproverRecord.getApproverDesc())); +// noticeService.sendNotice(SysNoticeBo.getFreeTaskErrorToRoleInstance(psCompanyInfoVo.getCompanyName(), psApproverRecord.getApproverDesc())); } /** diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/PayContractApproverServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/PayContractApproverServiceImpl.java index df6adbe..ce43d51 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/PayContractApproverServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/PayContractApproverServiceImpl.java @@ -46,6 +46,7 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl public void success(PsApproverRecord psApproverRecord) { //查询合同信息 PsContractInfoVo info = psContractInfoService.queryContractByCode(psApproverRecord.getContractCode()); + psContractInfoService.fillMoney(info); //修改回款记录状态 PsContractPay update = new PsContractPay(); // if(StringUtils.isNotBlank(psApproverRecord.getUpdateData())){ @@ -60,8 +61,10 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl updateInfo.setContractCode(info.getContractCode()); if("1".equals(info.getIsDue())){ if(StringUtils.equals(ContractStatusEnum.CREATE.getCode(), info.getContractStatus())){ - updateInfo.setContractStatus(ContractStatusEnum.SUCCESS.getCode()); - psContractInfoService.updateByCode(updateInfo); + if (info.getResidualMoney().doubleValue() <= 0){ + updateInfo.setContractStatus(ContractStatusEnum.SUCCESS.getCode()); + psContractInfoService.updateByCode(updateInfo); + } } }else{ if(StringUtils.equals(ContractStatusEnum.CREATE.getCode(), info.getContractStatus())){ @@ -93,7 +96,7 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl taskMainService.insertBatch(psTaskMainList); } - psContractInfoService.fillMoney(info); + if (ContractStatusEnum.CREATE.getCode().equals(info.getContractStatus())){ noticeService.sendNotice(SysNoticeBo.getFirstPayInstance(info.getCustomManager(), info.getPsCustomInfoVo().getCustomName())); }else{ diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCompanyInfoServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCompanyInfoServiceImpl.java index 5bdc2ee..a378e9d 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCompanyInfoServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCompanyInfoServiceImpl.java @@ -38,6 +38,7 @@ import jakarta.annotation.Resource; import lombok.RequiredArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; @@ -66,8 +67,9 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService { private final PsCompanyFollowMapper psCompanyFollowMapper; @Resource + @Autowired private PsApproverRecordMapper recordMapper; - + @Autowired private SysUserMapper sysUserMapper; private final ISysNoticeService noticeService; @@ -225,13 +227,21 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService { psCompanyFollowMapper.delete(lqw); PsCompanyInfoVo psCompanyInfoVo = queryById(bo.getCompanyId()); List listInsert = new ArrayList<>(); + + QueryWrapper userQuery = new QueryWrapper<>(); + userQuery.select("nick_name"); + userQuery.in("user_id", bo.getListUserId()); + List sysUserVos = sysUserMapper.selectUserList2(userQuery); + + String followNames = sysUserVos.stream().map(SysUserVo::getNickName).collect(Collectors.joining(",")); + for (Long followUser : bo.getListUserId()) { PsCompanyFollow psCompanyFollow = new PsCompanyFollow(); psCompanyFollow.setCompanyId(bo.getCompanyId()); psCompanyFollow.setUserId(followUser); listInsert.add(psCompanyFollow); - noticeService.sendNotice(SysNoticeBo.getFollowInstance(followUser, psCompanyInfoVo.getCompanyName())); + noticeService.sendNotice(SysNoticeBo.getFollowInstance(followUser, psCompanyInfoVo.getCompanyName(), followNames)); } psCompanyFollowMapper.insertBatch(listInsert); } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java index 9ebbd14..eb9bb8e 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java @@ -522,6 +522,7 @@ public class PsTaskServiceImpl implements IPsTaskService { QueryWrapper removeParam = new QueryWrapper<>(); removeParam.eq("task_id", id); + removeParam.eq("appoint_type", appointType); removeParam.in("executor", remove); appointMapper.delete(removeParam); diff --git a/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/bo/SysNoticeBo.java b/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/bo/SysNoticeBo.java index e7b846f..a576e58 100644 --- a/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/bo/SysNoticeBo.java +++ b/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/bo/SysNoticeBo.java @@ -370,12 +370,12 @@ public class SysNoticeBo extends BaseEntity { noticeBo.setJumpType(0); return noticeBo; } - public static SysNoticeBo getFollowInstance(long uid, String serviceCompanyName){ + public static SysNoticeBo getFollowInstance(long uid, String serviceCompanyName, String followNames){ SysNoticeBo noticeBo = new SysNoticeBo(); noticeBo.setNoticeType("1"); noticeBo.setNoticeTitle("通知"); noticeBo.setStatus("0"); - noticeBo.setNoticeContent("【"+ serviceCompanyName +"】的跟进人员分配成功,跟进服务人员:财务人员1、财务人员2"); + noticeBo.setNoticeContent("【"+ serviceCompanyName +"】的跟进人员分配成功,跟进服务人员:" + followNames); noticeBo.setRecUid(uid); noticeBo.setJumpType(0); return noticeBo; @@ -478,7 +478,7 @@ public class SysNoticeBo extends BaseEntity { noticeBo.setNoticeType("1"); noticeBo.setNoticeTitle("通知"); noticeBo.setStatus("0"); - noticeBo.setNoticeContent("外勤人员【"+ executeName +"】已完成【"+ serviceCompanyName +"】的外勤任务"); + noticeBo.setNoticeContent("特勤人员【"+ executeName +"】已完成【"+ serviceCompanyName +"】的特勤任务"); noticeBo.setRecRole(Arrays.asList(RoleEnum.zxzg.getCode())); noticeBo.setJumpType(0); return noticeBo; diff --git a/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/vo/SysNoticeVo.java b/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/vo/SysNoticeVo.java index 5553573..1aecc60 100644 --- a/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/vo/SysNoticeVo.java +++ b/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/vo/SysNoticeVo.java @@ -80,4 +80,9 @@ public class SysNoticeVo implements Serializable { */ private int readed; + /** + * 是否为登录时的推送,前端用来判断最大弹窗数 + */ + private boolean login; + } diff --git a/pusong-modules/pusong-system/src/main/java/com/pusong/system/mapper/SysUserMapper.java b/pusong-modules/pusong-system/src/main/java/com/pusong/system/mapper/SysUserMapper.java index c6e0d69..0dcdb82 100644 --- a/pusong-modules/pusong-system/src/main/java/com/pusong/system/mapper/SysUserMapper.java +++ b/pusong-modules/pusong-system/src/main/java/com/pusong/system/mapper/SysUserMapper.java @@ -32,6 +32,8 @@ public interface SysUserMapper extends BaseMapperPlus { }) List selectUserList(@Param(Constants.WRAPPER) Wrapper queryWrapper); + List selectUserList2(@Param(Constants.WRAPPER) Wrapper queryWrapper); + /** * 根据条件分页查询用户列表 * @@ -55,6 +57,7 @@ public interface SysUserMapper extends BaseMapperPlus { @DataColumn(key = "userName", value = "u.user_id") }) Page selectAllocatedList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + Page selectAllocatedListIgnorePermission(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); /** * 根据条件分页查询未分配用户角色列表 diff --git a/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/ISysUserService.java b/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/ISysUserService.java index e9798e0..2db61ca 100644 --- a/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/ISysUserService.java +++ b/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/ISysUserService.java @@ -33,6 +33,7 @@ public interface ISysUserService { * @return 用户信息集合信息 */ TableDataInfo selectAllocatedList(SysUserBo user, PageQuery pageQuery); + TableDataInfo selectAllocatedListIgnorePermission(SysUserBo user, PageQuery pageQuery); /** * 根据条件分页查询未分配用户角色列表 diff --git a/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysNoticeServiceImpl.java b/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysNoticeServiceImpl.java index e7d7411..6cfae32 100644 --- a/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysNoticeServiceImpl.java +++ b/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysNoticeServiceImpl.java @@ -130,7 +130,7 @@ public class SysNoticeServiceImpl implements ISysNoticeService { query.setRoleKey(bo.getRecRole()); PageQuery pageQuery = new PageQuery(); pageQuery.setPageSize(999); - TableDataInfo sysUserVoTableDataInfo = userService.selectAllocatedList(query, pageQuery); + TableDataInfo sysUserVoTableDataInfo = userService.selectAllocatedListIgnorePermission(query, pageQuery); for (SysUserVo row : sysUserVoTableDataInfo.getRows()) { uids.add(row.getUserId()); SysNotice sysNoticeBo = MapstructUtils.convert(bo, SysNotice.class); diff --git a/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysUserServiceImpl.java b/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysUserServiceImpl.java index 1a1fe9e..cec0c34 100644 --- a/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysUserServiceImpl.java +++ b/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysUserServiceImpl.java @@ -138,6 +138,25 @@ public class SysUserServiceImpl implements ISysUserService, UserService { Page page = baseMapper.selectAllocatedList(pageQuery.build(), wrapper); return TableDataInfo.build(page); } + /** + * 根据条件分页查询已分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + public TableDataInfo selectAllocatedListIgnorePermission(SysUserBo user, PageQuery pageQuery) { + QueryWrapper wrapper = Wrappers.query(); + wrapper.eq("u.del_flag", UserConstants.USER_NORMAL) + .eq(ObjectUtil.isNotNull(user.getRoleId()), "r.role_id", user.getRoleId()) + .in(ObjectUtil.isNotNull(user.getRoleKey()), "r.role_key", user.getRoleKey()) + .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName()) + .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus()) + .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber()) + .orderByAsc("u.user_id"); + Page page = baseMapper.selectAllocatedListIgnorePermission(pageQuery.build(), wrapper); + return TableDataInfo.build(page); + } /** * 根据条件分页查询未分配用户角色列表 diff --git a/pusong-modules/pusong-system/src/main/resources/mapper/system/SysUserMapper.xml b/pusong-modules/pusong-system/src/main/resources/mapper/system/SysUserMapper.xml index f4521d8..64389ea 100644 --- a/pusong-modules/pusong-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/pusong-modules/pusong-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -36,6 +36,18 @@ from sys_user u ${ew.getCustomSqlSegment} + +