推送
This commit is contained in:
parent
3b21dd9a41
commit
a8880c12cf
@ -129,7 +129,7 @@ public class PsTaskController extends BaseController {
|
||||
@SaCheckPermission("business:task:list")
|
||||
@GetMapping("/childFinish")
|
||||
@RepeatSubmit()
|
||||
public R<Void> childFinish(@NotNull Long id,String desc) {
|
||||
public R<Void> childFinish(@NotNull Long id, String desc) {
|
||||
psTaskMainService.finishChild(id, desc);
|
||||
return R.ok();
|
||||
}
|
||||
@ -155,7 +155,7 @@ public class PsTaskController extends BaseController {
|
||||
@PostMapping("/reset")
|
||||
@RepeatSubmit()
|
||||
public R<Void> taskReset(@Validated @RequestBody ResetAppointBo appointBo) {
|
||||
psTaskMainService.taskReset(appointBo.getId(), appointBo.getExecutorId());
|
||||
psTaskMainService.taskReset(appointBo.getId(), appointBo.getAppointType(), appointBo.getExecutorId());
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,11 @@ public class ResetAppointBo {
|
||||
*/
|
||||
@NotNull
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 任务委派类型(1内勤,2外勤,3特勤)
|
||||
*/
|
||||
private String appointType;
|
||||
/**
|
||||
* 执行者用户id
|
||||
*/
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.pusong.business.enums;
|
||||
|
||||
import com.pusong.system.MenuEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@ -9,17 +10,18 @@ import lombok.Getter;
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ApproverTypeEnum {
|
||||
UPDATE("update","修改合同审批"),
|
||||
CANCELLA("cancellation","作废合同审批"),
|
||||
PAY("pay","合同回款审批"),
|
||||
SIGN("sign","合同签章审批"),
|
||||
ROLBACK("rolback","回传合同审批"),
|
||||
TASKFINISH("taskFinish","任务完成审批"),
|
||||
PUBLIC("public","公海认领审批"),
|
||||
TASKCANCE("taskcance","任务作废审批"),
|
||||
RETURN("RETURN","退款审批"),
|
||||
FREE("free","免费工单审批"),
|
||||
STOPACCOUNT("stopAccount","停止代账");
|
||||
UPDATE("update","修改合同审批", MenuEnum.updateContract),
|
||||
CANCELLA("cancellation","作废合同审批", MenuEnum.zuofei),
|
||||
PAY("pay","合同回款审批", MenuEnum.pay),
|
||||
SIGN("sign","合同签章审批", MenuEnum.sign),
|
||||
ROLBACK("rolback","回传合同审批", MenuEnum.rollpdf),
|
||||
TASKFINISH("taskFinish","任务完成审批", MenuEnum.taskFinish),
|
||||
PUBLIC("public","公海认领审批", MenuEnum.gonghai),
|
||||
TASKCANCE("taskcance","任务作废审批", MenuEnum.zuofei),
|
||||
RETURN("RETURN","退款审批", MenuEnum.returnPay),
|
||||
FREE("free","免费工单审批", MenuEnum.freeTask),
|
||||
STOPACCOUNT("stopAccount","停止代账", MenuEnum.stopAcc);
|
||||
private String code;
|
||||
private String text;
|
||||
private MenuEnum menuEnum;
|
||||
}
|
||||
|
@ -24,10 +24,10 @@ import java.util.List;
|
||||
public interface PsCompanyInfoMapper extends BaseMapperPlus<PsCompanyInfo, PsCompanyInfoVo> {
|
||||
|
||||
Page<PsCompanyInfoVo> selectPageList(@Param("page") Page<PsApproverRecord> page, @Param(Constants.WRAPPER) Wrapper<PsCompanyInfo> queryWrapper);
|
||||
@DataPermission({
|
||||
// @DataColumn(key = "deptName", value = "appo.create_dept"),
|
||||
@DataColumn(key = "userName", value = "usr.user_id")
|
||||
})
|
||||
// @DataPermission({
|
||||
//// @DataColumn(key = "deptName", value = "appo.create_dept"),
|
||||
// @DataColumn(key = "userName", value = "fsu.user_id")
|
||||
// })
|
||||
Page<PsCompanyInfoVo> selectPageList2(@Param("page") Page<PsApproverRecord> page, @Param(Constants.WRAPPER) Wrapper<PsCompanyInfo> queryWrapper);
|
||||
|
||||
List<PsCompanyInfoVo> selectServiceCompanyList(@Param(Constants.WRAPPER) Wrapper<PsCompanyInfoVo> queryWrapper);
|
||||
|
@ -125,7 +125,7 @@ public interface IPsTaskService {
|
||||
* @param id 任务委派表id
|
||||
* @param executorId 任务新的执行者id
|
||||
*/
|
||||
void taskReset(Long id, List<Long> executorId);
|
||||
void taskReset(Long id, String appointType, List<Long> executorId);
|
||||
/**
|
||||
* 免费工单任务作废
|
||||
* @param id 任务主表id
|
||||
|
@ -19,10 +19,14 @@ import com.pusong.business.mapper.PsContractPayMapper;
|
||||
import com.pusong.business.service.IPsCompanyInfoService;
|
||||
import com.pusong.business.service.approver.ApproverContainer;
|
||||
import com.pusong.business.service.approver.ApproverService;
|
||||
import com.pusong.common.core.domain.model.LoginUser;
|
||||
import com.pusong.common.core.exception.ServiceException;
|
||||
import com.pusong.common.core.utils.DateUtils;
|
||||
import com.pusong.common.core.utils.StringUtils;
|
||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||
import com.pusong.common.satoken.utils.LoginHelper;
|
||||
import com.pusong.system.domain.bo.SysNoticeBo;
|
||||
import com.pusong.system.service.ISysNoticeService;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
@ -47,6 +51,8 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
|
||||
private PsContractPayMapper baseMapper;
|
||||
@Resource
|
||||
private IPsCompanyInfoService companyInfoService;
|
||||
@Resource
|
||||
private ISysNoticeService noticeService;
|
||||
/**
|
||||
* 通用申请方法
|
||||
* @param bussinessId
|
||||
@ -58,7 +64,7 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
|
||||
LambdaQueryWrapper<PsApproverRecord> wq = Wrappers.<PsApproverRecord>lambdaQuery().eq(PsApproverRecord::getDelFlag, "0")
|
||||
.eq(PsApproverRecord::getBusinessType, approverType())
|
||||
.eq(PsApproverRecord::getApproverStatus, ApproverStatusEnum.INIT.getCode());
|
||||
if(StringUtils.equals(approverType(), ApproverTypeEnum.RETURN.getCode()) || StringUtils.equals(approverType(), ApproverTypeEnum.PAY.getCode())){
|
||||
if(StringUtils.equals(approverType().getCode(), ApproverTypeEnum.RETURN.getCode()) || StringUtils.equals(approverType().getCode(), ApproverTypeEnum.PAY.getCode())){
|
||||
wq.eq(PsApproverRecord::getContractCode,contractCode);
|
||||
}else{
|
||||
wq.eq(PsApproverRecord::getBusinessId,bussinessId);
|
||||
@ -71,19 +77,22 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
|
||||
PsApproverRecord record = new PsApproverRecord();
|
||||
record.setBusinessId(bussinessId);
|
||||
record.setContractCode(contractCode);
|
||||
record.setBusinessType(approverType());
|
||||
record.setBusinessType(approverType().getCode());
|
||||
record.setApplyDesc(desc);
|
||||
record.setUpdateData(updateData);
|
||||
record.setApplyDate(new Date());
|
||||
record.setApproverStatus(ApproverStatusEnum.INIT.getCode());
|
||||
approverRecordMapper.insert(record);
|
||||
|
||||
LoginUser loginUser = LoginHelper.getLoginUser();
|
||||
|
||||
noticeService.sendNotice(SysNoticeBo.getWaitApplyInstance(loginUser.getNickname(), approverType().getMenuEnum()));
|
||||
}
|
||||
|
||||
protected abstract String approverType();
|
||||
protected abstract ApproverTypeEnum approverType();
|
||||
@PostConstruct
|
||||
public void register() {
|
||||
approverContainer.registerService(approverType(), this);
|
||||
approverContainer.registerService(approverType().getCode(), this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -30,8 +30,8 @@ import java.util.List;
|
||||
@Slf4j
|
||||
public class CancellaApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.CANCELLA.getCode();
|
||||
public ApproverTypeEnum approverType() {
|
||||
return ApproverTypeEnum.CANCELLA;
|
||||
}
|
||||
private final IPsContractInfoService contractInfoService;
|
||||
private final PsTaskMainMapper taskMainMapper;
|
||||
|
@ -41,8 +41,8 @@ import java.util.List;
|
||||
@Slf4j
|
||||
public class FreeApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.FREE.getCode();
|
||||
public ApproverTypeEnum approverType() {
|
||||
return ApproverTypeEnum.FREE;
|
||||
}
|
||||
private final PsTaskMainMapper taskMainMapper;
|
||||
private final PsTaskAppointMapper taskAppointMapper;
|
||||
@ -90,7 +90,8 @@ public class FreeApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Override
|
||||
public void fail(PsApproverRecord psApproverRecord) {
|
||||
PsCompanyInfoVo psCompanyInfoVo = companyInfoService.queryById(Long.valueOf(psApproverRecord.getBusinessId()));
|
||||
// noticeService.sendNotice(SysNoticeBo.getFreeTaskErrorInstance(psCompanyInfoVo.getCompanyName()));
|
||||
noticeService.sendNotice(SysNoticeBo.getFreeTaskErrorToUidInstance(psApproverRecord.getCreateBy(), psCompanyInfoVo.getCompanyName(), psApproverRecord.getApproverDesc()));
|
||||
noticeService.sendNotice(SysNoticeBo.getFreeTaskErrorToRoleInstance(psCompanyInfoVo.getCompanyName(), psApproverRecord.getApproverDesc()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -33,8 +33,8 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl
|
||||
private final IPsTaskService taskMainService;
|
||||
private final ISysNoticeService noticeService;
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.PAY.getCode();
|
||||
public ApproverTypeEnum approverType() {
|
||||
return ApproverTypeEnum.PAY;
|
||||
}
|
||||
|
||||
|
||||
@ -87,6 +87,8 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl
|
||||
psTaskMain.setCustomId(info.getCustomId());
|
||||
psTaskMain.setServiceCompanyId(psCompanyInfoVo.getId());
|
||||
psTaskMainList.add(psTaskMain);
|
||||
|
||||
noticeService.sendNotice(SysNoticeBo.getNewTaskInstance(psCompanyInfoVo.getCompanyName()));
|
||||
}
|
||||
taskMainService.insertBatch(psTaskMainList);
|
||||
}
|
||||
|
@ -42,8 +42,8 @@ import java.util.stream.Collectors;
|
||||
@Slf4j
|
||||
public class PublicApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.PUBLIC.getCode();
|
||||
public ApproverTypeEnum approverType() {
|
||||
return ApproverTypeEnum.PUBLIC;
|
||||
}
|
||||
private final PsCustomInfoMapper customInfoMapper;
|
||||
@Resource
|
||||
|
@ -44,8 +44,8 @@ public class ReturnApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Resource
|
||||
private PsApproverRecordMapper recordMapper;
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.RETURN.getCode();
|
||||
public ApproverTypeEnum approverType() {
|
||||
return ApproverTypeEnum.RETURN;
|
||||
}
|
||||
private final PsContractPayMapper baseMapper;
|
||||
|
||||
|
@ -29,8 +29,8 @@ import java.util.List;
|
||||
@Slf4j
|
||||
public class RolbackApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.ROLBACK.getCode();
|
||||
public ApproverTypeEnum approverType() {
|
||||
return ApproverTypeEnum.ROLBACK;
|
||||
}
|
||||
private final IPsContractBusinessService businessService;
|
||||
private final IPsContractInfoService contractInfoService;
|
||||
|
@ -31,8 +31,8 @@ import java.util.List;
|
||||
@Slf4j
|
||||
public class SignApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.SIGN.getCode();
|
||||
public ApproverTypeEnum approverType() {
|
||||
return ApproverTypeEnum.SIGN;
|
||||
}
|
||||
private final IPsContractBusinessService businessService;
|
||||
private final ISysNoticeService noticeService;
|
||||
|
@ -22,6 +22,8 @@ import com.pusong.business.service.IPsContractInfoService;
|
||||
import com.pusong.common.core.utils.DateUtils;
|
||||
import com.pusong.common.core.utils.StringUtils;
|
||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||
import com.pusong.system.domain.bo.SysNoticeBo;
|
||||
import com.pusong.system.service.ISysNoticeService;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -38,8 +40,8 @@ import java.util.List;
|
||||
@Slf4j
|
||||
public class StopAccountServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.STOPACCOUNT.getCode();
|
||||
public ApproverTypeEnum approverType() {
|
||||
return ApproverTypeEnum.STOPACCOUNT;
|
||||
}
|
||||
private final PsTaskMainMapper taskMainMapper;
|
||||
private final PsTaskAppointMapper taskAppointMapper;
|
||||
@ -49,12 +51,17 @@ public class StopAccountServiceImpl extends ApproverAbstractServiceImpl {
|
||||
private PsApproverRecordMapper recordMapper;
|
||||
|
||||
private final IPsCompanyInfoService psCompanyInfoService;
|
||||
|
||||
private final ISysNoticeService noticeService;
|
||||
@Override
|
||||
public void success(PsApproverRecord psApproverRecord) {
|
||||
if (ApproverStepEnum.INIT.getCode().equals(psApproverRecord.getUpdateData())){
|
||||
//转给总裁
|
||||
psApproverRecord.setUpdateData(ApproverStepEnum.CW_APPLY.getCode());
|
||||
psApproverRecord.setApproverStatus(ApproverStatusEnum.INIT.getCode());
|
||||
|
||||
PsCompanyInfoVo psCompanyInfoVo = psCompanyInfoService.queryById(Long.valueOf(psApproverRecord.getBusinessId()));
|
||||
noticeService.sendNotice(SysNoticeBo.getStopAccount1Instance(psApproverRecord.getCreateBy(), psCompanyInfoVo.getCompanyName()));
|
||||
return;
|
||||
}
|
||||
if (ApproverStepEnum.CW_APPLY.getCode().equals(psApproverRecord.getUpdateData())){
|
||||
@ -64,6 +71,9 @@ public class StopAccountServiceImpl extends ApproverAbstractServiceImpl {
|
||||
bo.setId(Long.valueOf(psApproverRecord.getBusinessId()));
|
||||
bo.setServiceStatus(0);
|
||||
psCompanyInfoService.update(bo);
|
||||
|
||||
PsCompanyInfoVo psCompanyInfoVo = psCompanyInfoService.queryById(Long.valueOf(psApproverRecord.getBusinessId()));
|
||||
noticeService.sendNotice(SysNoticeBo.getStopAccount2Instance(psApproverRecord.getCreateBy(), psCompanyInfoVo.getCompanyName()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -73,7 +83,8 @@ public class StopAccountServiceImpl extends ApproverAbstractServiceImpl {
|
||||
*/
|
||||
@Override
|
||||
public void fail(PsApproverRecord psApproverRecord) {
|
||||
|
||||
PsCompanyInfoVo psCompanyInfoVo = psCompanyInfoService.queryById(Long.valueOf(psApproverRecord.getBusinessId()));
|
||||
noticeService.sendNotice(SysNoticeBo.getStopAccountErrorInstance(psApproverRecord.getCreateBy(), psCompanyInfoVo.getCompanyName(), psApproverRecord.getApproverDesc()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -29,8 +29,8 @@ import java.util.List;
|
||||
@Slf4j
|
||||
public class TaskCancellaApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.TASKCANCE.getCode();
|
||||
public ApproverTypeEnum approverType() {
|
||||
return ApproverTypeEnum.TASKCANCE;
|
||||
}
|
||||
private final PsTaskMainMapper taskMainMapper;
|
||||
private final PsTaskAppointMapper taskAppointMapper;
|
||||
|
@ -26,8 +26,8 @@ import java.util.Date;
|
||||
@Slf4j
|
||||
public class TaskFinishApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.TASKFINISH.getCode();
|
||||
public ApproverTypeEnum approverType() {
|
||||
return ApproverTypeEnum.TASKFINISH;
|
||||
}
|
||||
private final PsTaskAppointMapper taskAppointMapper;
|
||||
|
||||
|
@ -28,8 +28,8 @@ import org.springframework.stereotype.Service;
|
||||
@Slf4j
|
||||
public class UpdateContractApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.UPDATE.getCode();
|
||||
public ApproverTypeEnum approverType() {
|
||||
return ApproverTypeEnum.UPDATE;
|
||||
}
|
||||
private final IPsContractBusinessService businessService;
|
||||
private final IPsContractInfoService contractInfoService;
|
||||
|
@ -18,15 +18,22 @@ import com.pusong.business.mapper.*;
|
||||
import com.pusong.business.service.IPsCompanyInfoService;
|
||||
import com.pusong.business.service.approver.ApproverContainer;
|
||||
import com.pusong.business.service.approver.ApproverService;
|
||||
import com.pusong.common.core.domain.dto.RoleDTO;
|
||||
import com.pusong.common.core.domain.model.LoginUser;
|
||||
import com.pusong.common.core.exception.ServiceException;
|
||||
import com.pusong.common.core.utils.DateUtils;
|
||||
import com.pusong.common.core.utils.MapstructUtils;
|
||||
import com.pusong.common.core.utils.StringUtils;
|
||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
||||
import com.pusong.common.mybatis.enums.DataScopeType;
|
||||
import com.pusong.common.mybatis.helper.DataPermissionHelper;
|
||||
import com.pusong.common.satoken.utils.LoginHelper;
|
||||
import com.pusong.system.domain.SysUser;
|
||||
import com.pusong.system.domain.bo.SysNoticeBo;
|
||||
import com.pusong.system.domain.vo.SysUserVo;
|
||||
import com.pusong.system.mapper.SysUserMapper;
|
||||
import com.pusong.system.service.ISysNoticeService;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.slf4j.Logger;
|
||||
@ -63,6 +70,8 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
|
||||
private SysUserMapper sysUserMapper;
|
||||
|
||||
private final ISysNoticeService noticeService;
|
||||
|
||||
/**
|
||||
* 查询公司信息
|
||||
*
|
||||
@ -142,7 +151,23 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
lqw.like(bo.getMobile() != null,"com.contact_person_phone", bo.getMobile());
|
||||
lqw.like(bo.getCompanyName() != null,"com.company_name", bo.getCompanyName());
|
||||
lqw.eq(bo.getServiceStatus() != null,"com.service_status", bo.getServiceStatus());
|
||||
lqw.exists(StringUtils.isNotBlank(bo.getUserName()),"select 1 from sys_user fsu LEFT JOIN ps_company_follow cf on com.id = cf.company_id where fsu.user_id = cf.user_id and fsu.nick_name like '%"+bo.getUserName()+"%'");
|
||||
|
||||
|
||||
|
||||
String followUserSql = "";
|
||||
if (StringUtils.isNotBlank(bo.getUserName())){
|
||||
followUserSql += " and fsu.nick_name like '%" + bo.getUserName() + "%'";
|
||||
}
|
||||
LoginUser user = LoginHelper.getLoginUser();
|
||||
for (RoleDTO role : user.getRoles()) {
|
||||
DataScopeType type = DataScopeType.findCode(role.getDataScope());
|
||||
if (type == DataScopeType.ALL) {
|
||||
continue;
|
||||
}
|
||||
followUserSql += " and fsu.user_id = " + user.getUserId();
|
||||
break;
|
||||
}
|
||||
lqw.exists(StringUtils.isNotBlank(followUserSql), "select 1 from sys_user fsu LEFT JOIN ps_company_follow cf on com.id = cf.company_id where fsu.user_id = cf.user_id " + followUserSql);
|
||||
|
||||
//合同未作废,有回款的续费合同 或 合同未作废有完成主任务的
|
||||
lqw.and( wrapper -> wrapper
|
||||
@ -199,13 +224,15 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
LambdaQueryWrapper<PsCompanyFollow> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(PsCompanyFollow::getCompanyId, bo.getCompanyId());
|
||||
psCompanyFollowMapper.delete(lqw);
|
||||
|
||||
PsCompanyInfoVo psCompanyInfoVo = queryById(bo.getCompanyId());
|
||||
List<PsCompanyFollow> listInsert = new ArrayList<>();
|
||||
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()));
|
||||
}
|
||||
psCompanyFollowMapper.insertBatch(listInsert);
|
||||
}
|
||||
|
@ -39,6 +39,7 @@ import jodd.util.StringUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -80,7 +81,9 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
@Resource
|
||||
private final ApproverContainer container;
|
||||
|
||||
private final IPsTaskService taskMainService;
|
||||
@Autowired
|
||||
@Lazy
|
||||
private IPsTaskService taskMainService;
|
||||
private final PsTaskMainMapper taskMainMapper;
|
||||
private final PsTaskAppointMapper taskAppointMapper;
|
||||
private final PsApproverRecordMapper recordMapper;
|
||||
|
@ -30,6 +30,7 @@ import com.pusong.system.service.ISysOssService;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@ -56,8 +57,9 @@ public class PsContractPayServiceImpl implements IPsContractPayService {
|
||||
@Resource
|
||||
private final ApproverContainer container;
|
||||
private final IPsApproverRecordService approverRecordService;
|
||||
// @Autowired
|
||||
// private IPsContractInfoService contractInfoService;
|
||||
@Autowired
|
||||
@Lazy
|
||||
private IPsContractInfoService contractInfoService;
|
||||
private final ISysNoticeService noticeService;
|
||||
/**
|
||||
* 查询合同回款记录列表
|
||||
@ -235,8 +237,8 @@ public class PsContractPayServiceImpl implements IPsContractPayService {
|
||||
info.setPayStatus(PayStatusEnum.SUCCESS.getCode());
|
||||
baseMapper.updateById(info);
|
||||
|
||||
// PsContractInfoVo src = contractInfoService.queryContractByCode(info.getContractCode());
|
||||
// noticeService.sendNotice(SysNoticeBo.getReturnPayingInstance(info.getCreateBy(), src.getPsCustomInfoVo().getCustomName()));
|
||||
PsContractInfoVo src = contractInfoService.queryContractByCode(info.getContractCode());
|
||||
noticeService.sendNotice(SysNoticeBo.getReturnPayingInstance(info.getCreateBy(), src.getPsCustomInfoVo().getCustomName()));
|
||||
|
||||
return info.getContractCode();
|
||||
}
|
||||
|
@ -25,8 +25,11 @@ import com.pusong.common.core.utils.StringUtils;
|
||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
||||
import com.pusong.common.satoken.utils.LoginHelper;
|
||||
import com.pusong.system.domain.SysUser;
|
||||
import com.pusong.system.domain.bo.SysNoticeBo;
|
||||
import com.pusong.system.domain.vo.SysOssVo;
|
||||
import com.pusong.system.domain.vo.SysUserVo;
|
||||
import com.pusong.system.mapper.SysUserMapper;
|
||||
import com.pusong.system.service.ISysNoticeService;
|
||||
import com.pusong.system.service.ISysOssService;
|
||||
import jakarta.annotation.Resource;
|
||||
@ -35,6 +38,7 @@ import org.apache.ibatis.executor.BatchResult;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@ -69,7 +73,11 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
@Autowired
|
||||
private PsContractBusinessMapper businessMapper;
|
||||
private final ISysNoticeService noticeService;
|
||||
// private final IPsContractInfoService contractInfoService;
|
||||
@Autowired
|
||||
@Lazy
|
||||
private final IPsContractInfoService contractInfoService;
|
||||
|
||||
private SysUserMapper sysUserMapper;
|
||||
|
||||
/**
|
||||
* 新增主任务
|
||||
@ -411,8 +419,8 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
main.setFinishDate(new Date());
|
||||
baseMapper.updateById(main);
|
||||
|
||||
// PsContractInfoVo contract = contractInfoService.queryContractByCode(main.getContractCode());
|
||||
// noticeService.sendNotice(SysNoticeBo.getTaskFinishInstance(contract.getCustomManager(), contract.getPsCustomInfoVo().getCustomName()));
|
||||
PsContractInfoVo contract = contractInfoService.queryContractByCode(main.getContractCode());
|
||||
noticeService.sendNotice(SysNoticeBo.getTaskFinishInstance(contract.getCustomManager(), contract.getPsCustomInfoVo().getCustomName()));
|
||||
|
||||
return main.getContractCode();
|
||||
}
|
||||
@ -437,6 +445,27 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
appoint.setFinishDate(new Date());
|
||||
appoint.setTaskDesc(desc);
|
||||
appointMapper.updateById(appoint);
|
||||
|
||||
|
||||
PsTaskMain mainTask = baseMapper.selectById(appoint.getTaskId());
|
||||
PsCompanyInfoVo psCompanyInfoVo = null;
|
||||
if (mainTask != null){
|
||||
psCompanyInfoVo = companyInfoService.queryById(mainTask.getServiceCompanyId());
|
||||
}
|
||||
SysUserVo sysUserVo = sysUserMapper.selectVoById(appoint.getExecutor());
|
||||
String excuterName = sysUserVo == null ? "" : sysUserVo.getNickName();
|
||||
|
||||
if (psCompanyInfoVo != null){
|
||||
if ("1".equals(appoint.getAppointType())){
|
||||
noticeService.sendNotice(SysNoticeBo.getNqFinishInstance(psCompanyInfoVo.getCompanyName(), excuterName));
|
||||
}else if ("2".equals(appoint.getAppointType())){
|
||||
noticeService.sendNotice(SysNoticeBo.getWqFinishInstance(psCompanyInfoVo.getCompanyName(), excuterName));
|
||||
}else if ("3".equals(appoint.getAppointType())){
|
||||
noticeService.sendNotice(SysNoticeBo.getTqFinishInstance(psCompanyInfoVo.getCompanyName(), excuterName));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -463,9 +492,13 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
* @param id 任务委派表id
|
||||
* @param executorId 任务新的执行者id
|
||||
*/
|
||||
public void taskReset(Long id, List<Long> executorIds){
|
||||
public void taskReset(Long id, String appointType, List<Long> executorIds){
|
||||
if (appointType == null){
|
||||
appointType = "1";
|
||||
}
|
||||
QueryWrapper<PsTaskAppoint> lqw = new QueryWrapper<>();
|
||||
lqw.eq("task_id", id);
|
||||
lqw.eq("appoint_type", appointType);
|
||||
List<PsTaskAppoint> appoints = appointMapper.selectList(lqw);
|
||||
if (appoints.isEmpty()){
|
||||
throw new ServiceException("当前未指派任何人, 任务状态无法改派");
|
||||
@ -490,6 +523,15 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
removeParam.in("executor", remove);
|
||||
appointMapper.delete(removeParam);
|
||||
|
||||
PsTaskMain mainTask = baseMapper.selectById((appoints.get(0).getTaskId()));
|
||||
PsCompanyInfoVo psCompanyInfoVo = null;
|
||||
if (mainTask != null){
|
||||
psCompanyInfoVo = companyInfoService.queryById(mainTask.getServiceCompanyId());
|
||||
}
|
||||
QueryWrapper<SysUser> userQuery = new QueryWrapper<>();
|
||||
userQuery.in("user_id", updateExecutorIdSet);
|
||||
List<SysUserVo> sysUserVos = sysUserMapper.selectUserList(userQuery);
|
||||
String excuterNames = sysUserVos.stream().map(SysUserVo::getUserName).collect(Collectors.joining("、"));
|
||||
|
||||
List<PsTaskAppoint> insertList = new ArrayList<>();
|
||||
for (Long userIdStr : updateExecutorIdSet) {
|
||||
@ -501,6 +543,17 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
psTaskAppoint.setExecutor(userIdStr);
|
||||
psTaskAppoint.setTaskContentDesc(appoints.get(0).getTaskContentDesc());
|
||||
insertList.add(psTaskAppoint);
|
||||
|
||||
if (psCompanyInfoVo != null){
|
||||
if ("1".equals(appointType)){
|
||||
noticeService.sendNotice(SysNoticeBo.getNqResetInstance(userIdStr, psCompanyInfoVo.getCompanyName(), excuterNames));
|
||||
}else if ("2".equals(appointType)){
|
||||
noticeService.sendNotice(SysNoticeBo.getWqResetInstance(userIdStr, psCompanyInfoVo.getCompanyName(), excuterNames));
|
||||
}else if ("3".equals(appointType)){
|
||||
noticeService.sendNotice(SysNoticeBo.getTqResetInstance(userIdStr, psCompanyInfoVo.getCompanyName(), excuterNames));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
appointMapper.insert(insertList);
|
||||
}
|
||||
@ -606,8 +659,8 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
info.setTaskStatus(TaskStatusEnum.FINISH.getCode());
|
||||
baseMapper.updateById(info);
|
||||
|
||||
// PsContractInfoVo contract = contractInfoService.queryContractByCode(info.getContractCode());
|
||||
// noticeService.sendNotice(SysNoticeBo.getFapiaoInstance(contract.getCustomManager(), contract.getPsCustomInfoVo().getCustomName()));
|
||||
PsContractInfoVo contract = contractInfoService.queryContractByCode(info.getContractCode());
|
||||
noticeService.sendNotice(SysNoticeBo.getFapiaoInstance(contract.getCustomManager(), contract.getPsCustomInfoVo().getCustomName()));
|
||||
}
|
||||
/**
|
||||
* 任务暂停
|
||||
|
@ -0,0 +1,26 @@
|
||||
package com.pusong.system;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* sys_role表 角色
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum MenuEnum {
|
||||
sign("approval1","电子签章审批"),
|
||||
rollpdf("approval2","回传合同审批"),
|
||||
zuofei("approval4","合同作废审批"),
|
||||
zxzg("approval5","任务作废审批"),
|
||||
freeTask("approval8","免费工单审批"),
|
||||
updateContract("approval3","合同修改审批"),
|
||||
taskFinish("approval6","任务完成审批"),
|
||||
pay("approval9","回款审批"),
|
||||
returnPay("approval7","退款审批"),
|
||||
stopAcc("approval11","停止代账审批"),
|
||||
gonghai("approval10","公海审批"),
|
||||
;
|
||||
private String path;
|
||||
private String text;
|
||||
}
|
@ -52,7 +52,7 @@ public class SysNotice extends TenantEntity {
|
||||
/**
|
||||
* 接收角色
|
||||
*/
|
||||
private String recRole;
|
||||
// private String recRole;
|
||||
|
||||
/**
|
||||
* 接收uid
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.pusong.system.domain.bo;
|
||||
|
||||
import com.pusong.system.MenuEnum;
|
||||
import com.pusong.system.RoleEnum;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
@ -11,6 +12,8 @@ import com.pusong.common.mybatis.core.domain.BaseEntity;
|
||||
import com.pusong.system.domain.SysNotice;
|
||||
|
||||
import javax.management.relation.Role;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 通知公告业务对象 sys_notice
|
||||
@ -64,7 +67,11 @@ public class SysNoticeBo extends BaseEntity {
|
||||
/**
|
||||
* 接收角色
|
||||
*/
|
||||
private String recRole;
|
||||
private List<String> recRole;
|
||||
/**
|
||||
* 拥有该菜单的角色
|
||||
*/
|
||||
private String recMenuRole;
|
||||
|
||||
/**
|
||||
* 接收uid
|
||||
@ -83,7 +90,7 @@ public class SysNoticeBo extends BaseEntity {
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("\uD83C\uDF89【公海商机来袭!】\uD83C\uDF89,【公海】有新客户啦!速来认领,抢占先机!");
|
||||
noticeBo.setRecRole(RoleEnum.xiaoshou.getCode());
|
||||
noticeBo.setRecRole(Arrays.asList(RoleEnum.xiaoshou.getCode()));
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
@ -259,7 +266,7 @@ public class SysNoticeBo extends BaseEntity {
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("有一笔【"+ coustomName +"】的待处理的退款,请及时处理。");
|
||||
noticeBo.setRecRole(RoleEnum.caiwu.getCode());
|
||||
noticeBo.setRecRole(Arrays.asList(RoleEnum.caiwu.getCode()));
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
@ -301,7 +308,7 @@ public class SysNoticeBo extends BaseEntity {
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("新增【"+ coustomName +"】的开票需求,请及时处理。");
|
||||
noticeBo.setRecRole(RoleEnum.caiwu.getCode());
|
||||
noticeBo.setRecRole(Arrays.asList(RoleEnum.caiwu.getCode()));
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
@ -332,7 +339,7 @@ public class SysNoticeBo extends BaseEntity {
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("【"+ serviceCompanyName +"】的免费工单已审批通过,免费工单任务已生成,请继续跟进。");
|
||||
noticeBo.setRecRole(RoleEnum.zxzg.getCode());
|
||||
noticeBo.setRecRole(Arrays.asList(RoleEnum.zxzg.getCode()));
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
@ -346,5 +353,140 @@ public class SysNoticeBo extends BaseEntity {
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
public static SysNoticeBo getFreeTaskErrorToRoleInstance(String serviceCompanyName, String desc){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("【"+ serviceCompanyName +"】的免费工单已拒绝,请确认相关信息,拒绝原因:" + desc);
|
||||
noticeBo.setRecRole(Arrays.asList(RoleEnum.zxzg.getCode()));
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
public static SysNoticeBo getFollowInstance(long uid, String serviceCompanyName){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("【"+ serviceCompanyName +"】的跟进人员分配成功,跟进服务人员:财务人员1、财务人员2");
|
||||
noticeBo.setRecUid(uid);
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
|
||||
|
||||
public static SysNoticeBo getStopAccount1Instance(long uid, String serviceCompanyName){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("【"+ serviceCompanyName+"】的停止代账服务一级审批已通过,二级审批审批中,请继续跟进。");
|
||||
noticeBo.setRecUid(uid);
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
public static SysNoticeBo getStopAccount2Instance(long uid, String serviceCompanyName){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("【"+ serviceCompanyName +"】的停止代账服务二级审批已通过,该公司的代账服务已终止。" );
|
||||
noticeBo.setRecUid(uid);
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
public static SysNoticeBo getStopAccountErrorInstance(long uid, String serviceCompanyName, String desc){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("【"+ serviceCompanyName +"】的停止代账服务被拒,请确认相关信息,拒绝原因:" + desc);
|
||||
noticeBo.setRecUid(uid);
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
public static SysNoticeBo getNewTaskInstance(String serviceCompanyName){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("【"+ serviceCompanyName +"】的合同任务已生成,请及时进行派单!");
|
||||
noticeBo.setRecRole(Arrays.asList(RoleEnum.zxzg.getCode()));
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
|
||||
public static SysNoticeBo getNqResetInstance(Long uid, String serviceCompanyName, String executeNames){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("【"+ serviceCompanyName +"】的内勤任务已派单/改派成功,内勤服务人员:" + executeNames);
|
||||
noticeBo.setRecUid(uid);
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
public static SysNoticeBo getWqResetInstance(Long uid, String serviceCompanyName, String executeNames){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("【"+ serviceCompanyName +"】的外勤任务已派单/改派成功,外勤服务人员:" + executeNames );
|
||||
noticeBo.setRecUid(uid);
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
public static SysNoticeBo getTqResetInstance(Long uid, String serviceCompanyName, String executeNames){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("【"+ serviceCompanyName +"】的特勤任务已派单/改派成功,特勤服务人员:"+ executeNames);
|
||||
noticeBo.setRecUid(uid);
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
public static SysNoticeBo getNqFinishInstance(String serviceCompanyName, String executeName){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("内勤人员【"+ executeName +"】已完成【"+ serviceCompanyName +"】的内勤任务");
|
||||
noticeBo.setRecRole(Arrays.asList(RoleEnum.zxzg.getCode()));
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
public static SysNoticeBo getWqFinishInstance(String serviceCompanyName, String executeName){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("外勤人员【"+ executeName +"】已完成【"+ serviceCompanyName +"】的外勤任务");
|
||||
noticeBo.setRecRole(Arrays.asList(RoleEnum.zxzg.getCode()));
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
public static SysNoticeBo getTqFinishInstance(String serviceCompanyName, String executeName){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("外勤人员【"+ executeName +"】已完成【"+ serviceCompanyName +"】的外勤任务");
|
||||
noticeBo.setRecRole(Arrays.asList(RoleEnum.zxzg.getCode()));
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
|
||||
|
||||
public static SysNoticeBo getWaitApplyInstance(String applyUserName, MenuEnum menuEnum){
|
||||
SysNoticeBo noticeBo = new SysNoticeBo();
|
||||
noticeBo.setNoticeType("1");
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("【"+ applyUserName +"】提交的【" + menuEnum.getText() + "】待你审批!");
|
||||
noticeBo.setRecMenuRole(menuEnum.getPath());
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -12,6 +12,8 @@ import com.pusong.common.core.xss.Xss;
|
||||
import com.pusong.common.mybatis.core.domain.BaseEntity;
|
||||
import com.pusong.system.domain.SysUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户信息业务对象 sys_user
|
||||
*
|
||||
@ -110,7 +112,7 @@ public class SysUserBo extends BaseEntity {
|
||||
/**
|
||||
* 数据权限 当前角色key
|
||||
*/
|
||||
private String roleKey;
|
||||
private List<String> roleKey;
|
||||
|
||||
/**
|
||||
* 排除不查询的用户(工作流用)
|
||||
|
@ -3,6 +3,7 @@ package com.pusong.system.mapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.pusong.system.domain.SysMenu;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.pusong.common.mybatis.annotation.DataColumn;
|
||||
import com.pusong.common.mybatis.annotation.DataPermission;
|
||||
@ -59,4 +60,7 @@ public interface SysRoleMapper extends BaseMapperPlus<SysRole, SysRoleVo> {
|
||||
*/
|
||||
List<SysRoleVo> selectRolesByUserId(Long userId);
|
||||
|
||||
|
||||
List<SysRoleVo> selectRoleByMenuPath(@Param(Constants.WRAPPER) Wrapper<SysMenu> queryWrapper);
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,9 @@
|
||||
package com.pusong.system.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.pusong.common.core.domain.R;
|
||||
@ -13,13 +15,16 @@ import com.pusong.common.mybatis.core.page.TableDataInfo;
|
||||
import com.pusong.common.websocket.dto.WebSocketMessageDto;
|
||||
import com.pusong.common.websocket.holder.WebSocketSessionHolder;
|
||||
import com.pusong.common.websocket.utils.WebSocketUtils;
|
||||
import com.pusong.system.domain.SysMenu;
|
||||
import com.pusong.system.domain.SysNotice;
|
||||
import com.pusong.system.domain.SysUser;
|
||||
import com.pusong.system.domain.bo.SysNoticeBo;
|
||||
import com.pusong.system.domain.bo.SysUserBo;
|
||||
import com.pusong.system.domain.vo.SysNoticeVo;
|
||||
import com.pusong.system.domain.vo.SysRoleVo;
|
||||
import com.pusong.system.domain.vo.SysUserVo;
|
||||
import com.pusong.system.mapper.SysNoticeMapper;
|
||||
import com.pusong.system.mapper.SysRoleMapper;
|
||||
import com.pusong.system.mapper.SysUserMapper;
|
||||
import com.pusong.system.service.ISysNoticeService;
|
||||
import com.pusong.system.service.ISysUserService;
|
||||
@ -30,6 +35,7 @@ import org.springframework.web.socket.WebSocketSession;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 公告 服务层实现
|
||||
@ -44,6 +50,7 @@ public class SysNoticeServiceImpl implements ISysNoticeService {
|
||||
private final SysUserMapper userMapper;
|
||||
private final DictService dictService;
|
||||
private final ISysUserService userService;
|
||||
private final SysRoleMapper roleMapper;
|
||||
|
||||
@Override
|
||||
public TableDataInfo<SysNoticeVo> selectPageNoticeList(SysNoticeBo notice, PageQuery pageQuery) {
|
||||
@ -103,6 +110,15 @@ public class SysNoticeServiceImpl implements ISysNoticeService {
|
||||
String type = dictService.getDictLabel("sys_notice_type", bo.getNoticeType());
|
||||
List<SysNotice> insertData = new ArrayList<>();
|
||||
List<Long> uids = new ArrayList<>();
|
||||
|
||||
if (bo.getRecMenuRole() != null){
|
||||
QueryWrapper<SysMenu> qw = Wrappers.query();
|
||||
qw.eq("menu.path", bo.getRecMenuRole());
|
||||
List<SysRoleVo> sysRoleVos = roleMapper.selectRoleByMenuPath(qw);
|
||||
List<String> roleKeyList = sysRoleVos.stream().map(SysRoleVo::getRoleKey).toList();
|
||||
bo.setRecRole(roleKeyList);
|
||||
}
|
||||
|
||||
if (bo.getRecRole() != null){
|
||||
SysUserBo query = new SysUserBo();
|
||||
query.setRoleKey(bo.getRecRole());
|
||||
|
@ -130,7 +130,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
||||
QueryWrapper<SysUser> 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().split(","))
|
||||
.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())
|
||||
|
@ -58,4 +58,10 @@
|
||||
WHERE r.del_flag = '0' and r.role_id = #{roleId}
|
||||
</select>
|
||||
|
||||
<select id="selectRoleByMenuPath" resultMap="SysRoleResult">
|
||||
select r.role_key from sys_menu menu
|
||||
left join sys_role_menu rm on rm.menu_id = menu.menu_id
|
||||
left join sys_role r on r.role_id = rm.role_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
|
Loading…
Reference in New Issue
Block a user