Browse Source

修复登陆异常;统一规范我的客户,下属的客户

contract
Yen 2 years ago
parent
commit
03e6d36ae5
  1. 131
      src/main/java/com/qs/serve/modules/biz/controller/my/BizVisitMyController.java
  2. 1
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java
  3. 40
      src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelMyController.java
  4. 15
      src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java
  5. 69
      src/main/java/com/qs/serve/modules/bms/controller/my/BmsSupplierContactsMyController.java
  6. 28
      src/main/java/com/qs/serve/modules/bms/controller/my/BmsSupplierMyController.java
  7. 11
      src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java
  8. 6
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java
  9. 1
      src/main/java/com/qs/serve/modules/his/service/HisUserSupplierService.java
  10. 31
      src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java
  11. 67
      src/main/java/com/qs/serve/modules/qms/controller/my/QmsDraftMyController.java
  12. 165
      src/main/java/com/qs/serve/modules/qms/controller/my/QmsSubmitMyController.java
  13. 15
      src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java
  14. 32
      src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java

131
src/main/java/com/qs/serve/modules/biz/controller/my/BizVisitMyController.java

@ -0,0 +1,131 @@
package com.qs.serve.modules.biz.controller.my;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.biz.entity.BizVisit;
import com.qs.serve.modules.biz.service.BizVisitService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserSalesService;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.service.WxUserService;
import com.tencentcloudapi.mongodb.v20190725.models.Auth;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* 业务 拜访日志(我的)
* @author YenHex
* @since 2022-10-26
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/my/visit")
public class BizVisitMyController {
private BizVisitService bizVisitService;
private SysUserService sysUserService;
private SysUserSalesService sysUserSalesService;
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<BizVisit>> getPage(BizVisit param){
String userId = AuthContextUtils.getSysUserId();
param.setVisitorId(userId);
PageUtil.startPage();
LambdaQueryWrapper<BizVisit> visitWrapper = new LambdaQueryWrapper<>(param);
if(param.getQueryStartTime()!=null){
visitWrapper.ge(BizVisit::getCreateTime,param.getQueryStartTime());
}
if(param.getQueryEndTime()!=null){
visitWrapper.le(BizVisit::getCreateTime,param.getQueryEndTime());
}
visitWrapper.orderByDesc(BizVisit::getCreateTime);
List<BizVisit> list = bizVisitService.list(visitWrapper);
return R.byPageHelperList(list);
}
/**
* 翻页我的下属拜访记录
* @param param
* @return
*/
@GetMapping("/page4Under")
public R<PageVo<BizVisit>> page4Under(BizVisit param){
String userId = AuthContextUtils.getSysUserId();
List<String> userIds = sysUserSalesService.listByChildIds(userId);
if(userIds.size()<1){
return R.byEmptyList();
}
PageUtil.startPage();
LambdaQueryWrapper<BizVisit> visitWrapper = new LambdaQueryWrapper<>(param);
visitWrapper.in(BizVisit::getVisitorId,userIds);
visitWrapper.orderByDesc(BizVisit::getCreateTime);
List<BizVisit> list = bizVisitService.list(visitWrapper);
return R.byPageHelperList(list);
}
/**
* 更新
* @param param
* @return
*/
@PostMapping("/updateById")
public R<?> updateById(@RequestBody @Valid BizVisit param){
String userId = AuthContextUtils.getSysUserId();
BizVisit bizVisit = bizVisitService.getById(param.getId());
if(!bizVisit.getVisitorId().equals(userId)){
return R.ok();
}
boolean result = bizVisitService.updateById(param);
return R.isTrue(result);
}
/**
* 新增
* @param param
* @return
*/
@PostMapping("/save")
public R<?> save(@RequestBody @Valid BizVisit param){
String userId = AuthContextUtils.getSysUserId();
SysUser sysUser = sysUserService.getById(userId);
param.setVisitorId(userId);
param.setVisitorCode(sysUser.getCode());
param.setVisitorName(sysUser.getName());
boolean result = bizVisitService.save(param);
return R.isTrue(result);
}
/**
* 删除
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
public R<?> deleteById(@PathVariable("id") Long id){
String userId = AuthContextUtils.getSysUserId();
BizVisit bizVisit = bizVisitService.getById(id);
if(!bizVisit.getVisitorId().equals(userId)){
return R.ok();
}
boolean result = bizVisitService.removeById(id);
return R.isTrue(result);
}
}

1
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java

@ -99,7 +99,6 @@ public class BmsSupplierController {
LambdaQueryWrapper<HisUserSupplier> lqw = new LambdaQueryWrapper<>(userSupplier); LambdaQueryWrapper<HisUserSupplier> lqw = new LambdaQueryWrapper<>(userSupplier);
lqw.ne(HisUserSupplier::getSupplierId,0); lqw.ne(HisUserSupplier::getSupplierId,0);
PageHelper.startPage(param.getPageNum(),param.getPageSize()); PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<HisUserSupplier> list = hisUserSupplierService.list(lqw); List<HisUserSupplier> list = hisUserSupplierService.list(lqw);
List<BmsSupplier> supplierList = list.stream().map(HisUserSupplier::toSupplier).collect(Collectors.toList()); List<BmsSupplier> supplierList = list.stream().map(HisUserSupplier::toSupplier).collect(Collectors.toList());
return R.byPageHelperList(list,supplierList); return R.byPageHelperList(list,supplierList);

40
src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelMyController.java

@ -9,16 +9,20 @@ import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.bms.common.MasterUserType; import com.qs.serve.modules.bms.common.MasterUserType;
import com.qs.serve.modules.bms.entity.BmsChannel; import com.qs.serve.modules.bms.entity.BmsChannel;
import com.qs.serve.modules.bms.entity.BmsChannelPoint; import com.qs.serve.modules.bms.entity.BmsChannelPoint;
import com.qs.serve.modules.bms.entity.BmsMasterUser; import com.qs.serve.modules.bms.entity.BmsMasterUser;
import com.qs.serve.modules.bms.entity.BmsRegionUser;
import com.qs.serve.modules.bms.mapper.BmsMasterUserMapper; import com.qs.serve.modules.bms.mapper.BmsMasterUserMapper;
import com.qs.serve.modules.bms.service.BmsChannelPointService; import com.qs.serve.modules.bms.service.BmsChannelPointService;
import com.qs.serve.modules.bms.service.BmsChannelService; import com.qs.serve.modules.bms.service.BmsChannelService;
import com.qs.serve.modules.bms.service.BmsMasterUserService; import com.qs.serve.modules.bms.service.BmsMasterUserService;
import com.qs.serve.modules.bms.service.BmsRegionUserService;
import com.qs.serve.modules.his.entity.HisUserChannelPoint; import com.qs.serve.modules.his.entity.HisUserChannelPoint;
import com.qs.serve.modules.his.service.HisUserChannelPointService; import com.qs.serve.modules.his.service.HisUserChannelPointService;
import com.qs.serve.modules.sys.service.SysUserSalesService;
import com.qs.serve.modules.tbs.entity.TbsActivityChannel; import com.qs.serve.modules.tbs.entity.TbsActivityChannel;
import com.qs.serve.modules.tbs.service.TbsActivityChannelService; import com.qs.serve.modules.tbs.service.TbsActivityChannelService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -42,14 +46,11 @@ import java.util.stream.Collectors;
public class BmsChannelMyController { public class BmsChannelMyController {
private BmsChannelService bmsChannelService; private BmsChannelService bmsChannelService;
private BmsChannelPointService bmsChannelPointService;
private TbsActivityChannelService activityChannelService;
private HisUserChannelPointService hisUserChannelPointService;
private BmsMasterUserMapper bmsMasterUserMapper;
private BmsMasterUserService bmsMasterUserService; private BmsMasterUserService bmsMasterUserService;
private SysUserSalesService sysUserSalesService;
/** /**
* 翻页 * 翻页(我负责的)
* @param param * @param param
* @return * @return
*/ */
@ -73,5 +74,34 @@ public class BmsChannelMyController {
} }
/**
* 翻页(下属负责的渠道)
* @param param
* @return
*/
@GetMapping("/page4Under")
public R<PageVo<BmsChannel>> getPage4Under(BmsChannel param){
String loginUserId = AuthContextUtils.getSysUserId();
List<String> userIds = sysUserSalesService.listByChildIds(loginUserId);
if(CollectionUtil.isEmpty(userIds)){
return R.byEmptyList();
}
LambdaQueryWrapper<BmsMasterUser> lqw = new LambdaQueryWrapper<>();
lqw.in(BmsMasterUser::getUserId, userIds);
lqw.eq(BmsMasterUser::getType,MasterUserType.Channel);
lqw.select(BmsMasterUser::getTargetId);
List<BmsMasterUser> masterUsers = bmsMasterUserService.list(lqw);
List<String> targetIds = masterUsers.stream().map(BmsMasterUser::getTargetId).distinct().collect(Collectors.toList());
if(CollectionUtil.isEmpty(targetIds)){
return R.byEmptyList();
}
PageUtil.startPage();
LambdaQueryWrapper<BmsChannel> channelWrapper = new LambdaQueryWrapper<>(param);
channelWrapper.orderByDesc(BmsChannel::getCreateTime);
channelWrapper.in(BmsChannel::getId,targetIds);
List<BmsChannel> list = bmsChannelService.list(channelWrapper);
return R.byPageHelperList(list);
}
} }

15
src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java

@ -6,10 +6,7 @@ import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.*;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.baz.common.BazTargetTypeConsts; import com.qs.serve.modules.baz.common.BazTargetTypeConsts;
import com.qs.serve.modules.baz.entity.BazVisitInfo; import com.qs.serve.modules.baz.entity.BazVisitInfo;
import com.qs.serve.modules.baz.service.BazVisitInfoService; import com.qs.serve.modules.baz.service.BazVisitInfoService;
@ -105,12 +102,14 @@ public class BmsChannelPointMyController {
List<String> userIds = sysUserSalesService.listByChildIds(loginUserId); List<String> userIds = sysUserSalesService.listByChildIds(loginUserId);
param.setUserIdList(userIds); param.setUserIdList(userIds);
LambdaQueryWrapper<BmsRegionUser> rulqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BmsRegionUser> rulqw = new LambdaQueryWrapper<>();
//rulqw.select(BmsRegionUser::getPathIds); rulqw.select(BmsRegionUser::getPathIds,BmsRegionUser::getId);
rulqw.eq(BmsRegionUser::getUserId,loginUserId); rulqw.eq(BmsRegionUser::getUserId,loginUserId);
List<BmsRegionUser> regionUserList = bmsRegionUserService.list(rulqw); List<BmsRegionUser> regionUserList = bmsRegionUserService.list(rulqw);
List<String> regionPaths = regionUserList.stream().filter(a->StringUtils.hasText(a.getPathIds())) if(CollectionUtil.isNotEmpty(regionUserList)){
.map(BmsRegionUser::getPathIds).collect(Collectors.toList()); List<String> regionPaths = regionUserList.stream().map(BmsRegionUser::getPathIds)
param.setSourceIdsList(regionPaths); .filter(StringUtils::hasText).distinct().collect(Collectors.toList());
param.setSourceIdsList(regionPaths);
}
PageUtil.startPage(); PageUtil.startPage();
param.setTenantId(AuthContextUtils.getTenant()); param.setTenantId(AuthContextUtils.getTenant());
List<BmsChannelPoint> list = bmsChannelPointService.selectChannelPointMyUnderList(param); List<BmsChannelPoint> list = bmsChannelPointService.selectChannelPointMyUnderList(param);

69
src/main/java/com/qs/serve/modules/bms/controller/my/BmsSupplierContactsMyController.java

@ -0,0 +1,69 @@
package com.qs.serve.modules.bms.controller.my;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageHelper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.*;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.BmsSupplierContacts;
import com.qs.serve.modules.bms.entity.bo.BmsSupplierContactsBo;
import com.qs.serve.modules.bms.entity.so.BmsSupplierContactsSo;
import com.qs.serve.modules.bms.service.BmsSupplierContactsService;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.his.entity.HisUserSupplier;
import com.qs.serve.modules.his.service.HisUserSupplierService;
import com.qs.serve.modules.sys.common.enums.BusinessLogType;
import com.qs.serve.modules.sys.service.SysBusinessLogService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
import java.util.stream.Collectors;
/**
* 基础档案 供应商联系人
* @author YenHex
* @since 2023-04-19
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("my/supplierMyContacts")
public class BmsSupplierContactsMyController {
private final HisUserSupplierService hisUserSupplierService;
private BmsSupplierContactsService bmsSupplierContactsService;
/**
* 翻页(我负责的)
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<BmsSupplierContacts>> getPage(BmsSupplierContactsSo param){
List<HisUserSupplier> list = hisUserSupplierService.selectSupplier(null,false);
List<BmsSupplier> supplierList = list.stream().map(HisUserSupplier::toSupplier).collect(Collectors.toList());
List<String> supplierIds = supplierList.stream().map(a->a.getId()).distinct().collect(Collectors.toList());
PageUtil.startPage();
BmsSupplierContacts query = CopierUtil.copy(param,new BmsSupplierContacts());
LambdaQueryWrapper<BmsSupplierContacts> contactsLambdaQueryWrapper = new LambdaQueryWrapper<>(query);
contactsLambdaQueryWrapper.eq(BmsSupplierContacts::getSupplierId,supplierIds);
List<BmsSupplierContacts> supplierContactsList = bmsSupplierContactsService.list(contactsLambdaQueryWrapper);
return R.byPageHelperList(supplierContactsList);
}
}

28
src/main/java/com/qs/serve/modules/bms/controller/my/BmsSupplierMyController.java

@ -1,5 +1,7 @@
package com.qs.serve.modules.bms.controller.my; package com.qs.serve.modules.bms.controller.my;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageHelper;
import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.AuthContextUtils;
@ -9,6 +11,9 @@ import com.qs.serve.common.util.TreeUtil;
import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo;
import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.his.entity.HisUserSupplier;
import com.qs.serve.modules.his.service.HisUserSupplierService;
import com.qs.serve.modules.sys.service.SysUserSalesService;
import com.qs.serve.modules.wx.entity.WxUser; import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.service.WxUserService; import com.qs.serve.modules.wx.service.WxUserService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -34,19 +39,19 @@ import java.util.stream.Collectors;
public class BmsSupplierMyController { public class BmsSupplierMyController {
private final BmsSupplierService bmsSupplierService; private final BmsSupplierService bmsSupplierService;
private final HisUserSupplierService hisUserSupplierService;
private final SysUserSalesService sysUserSalesService;
/** /**
* 翻页查询 * 翻页查询我负责的
* @param param * @param param
* @return * @return
*/ */
@GetMapping("/page") @GetMapping("/page")
public R<PageVo<BmsSupplier>> getPage(BmsSupplier param){ public R<PageVo<BmsSupplier>> getPage(BmsSupplier param){
param.setCurrUserId(AuthContextUtils.getSysUserId()); List<HisUserSupplier> list = hisUserSupplierService.selectSupplier(param,true);
param.setStopFlag(0); List<BmsSupplier> supplierList = list.stream().map(HisUserSupplier::toSupplier).collect(Collectors.toList());
PageUtil.startPage(); return R.byPageHelperList(list,supplierList);
List<BmsSupplier> list = bmsSupplierService.selectSupplierList(param);
return R.byPageHelperList(list);
} }
/** /**
@ -56,11 +61,12 @@ public class BmsSupplierMyController {
*/ */
@GetMapping("/underlingPage") @GetMapping("/underlingPage")
public R<PageVo<BmsSupplier>> getUnderlingPage(BmsSupplier param){ public R<PageVo<BmsSupplier>> getUnderlingPage(BmsSupplier param){
param.setCurrUserId(AuthContextUtils.getSysUserId()); List<String> childIds = sysUserSalesService.listByChildIds(AuthContextUtils.getSysUserId());
param.setStopFlag(0); param.setSelectUserIds(childIds);
PageUtil.startPage(); param.setSelectUserIdsFlag(true);
List<BmsSupplier> list = bmsSupplierService.selectSupplierList(param); List<HisUserSupplier> list = hisUserSupplierService.selectSupplier(param,true);
return R.byPageHelperList(list); List<BmsSupplier> supplierList = list.stream().map(HisUserSupplier::toSupplier).collect(Collectors.toList());
return R.byPageHelperList(list,supplierList);
} }
} }

11
src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java

@ -241,6 +241,17 @@ public class BmsSupplier implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private Integer pageSize; private Integer pageSize;
@TableField(exist = false)
private List<String> selectSaleRegionIds;
@TableField(exist = false)
private List<String> selectBizRegionIds;
@TableField(exist = false)
private List<String> selectUserIds;
@TableField(exist = false)
private Boolean selectUserIdsFlag;
public List<String> listBizRegionIds(){ public List<String> listBizRegionIds(){
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();

6
src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java

@ -3,10 +3,7 @@ package com.qs.serve.modules.bms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.model.consts.BudgetLogOptFlag; import com.qs.serve.common.model.consts.BudgetLogOptFlag;
import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.*;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion;
import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.BmsRegion2;
import com.qs.serve.modules.bms.entity.bo.BmsSupplierBatchBo; import com.qs.serve.modules.bms.entity.bo.BmsSupplierBatchBo;
@ -51,6 +48,7 @@ public class BmsSupplierServiceImpl extends ServiceImpl<BmsSupplierMapper,BmsSup
private BmsRegion2Service region2Service; private BmsRegion2Service region2Service;
private SysUserService sysUserService; private SysUserService sysUserService;
private BmsSupplierApplicationService supplierApplicationService; private BmsSupplierApplicationService supplierApplicationService;
@Override @Override
public List<BmsSupplier> selectSupplierList(BmsSupplier bmsSupplier) { public List<BmsSupplier> selectSupplierList(BmsSupplier bmsSupplier) {
return baseMapper.selectSupplierList(bmsSupplier); return baseMapper.selectSupplierList(bmsSupplier);

1
src/main/java/com/qs/serve/modules/his/service/HisUserSupplierService.java

@ -13,6 +13,7 @@ import java.util.List;
*/ */
public interface HisUserSupplierService extends IService<HisUserSupplier> { public interface HisUserSupplierService extends IService<HisUserSupplier> {
List<HisUserSupplier> selectSupplier(BmsSupplier param,boolean usePage);
/** /**
* 初始化 * 初始化

31
src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java

@ -3,7 +3,10 @@ package com.qs.serve.modules.his.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion;
import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.BmsRegion2;
import com.qs.serve.modules.bms.entity.BmsRegionUser; import com.qs.serve.modules.bms.entity.BmsRegionUser;
@ -37,6 +40,34 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe
private BmsRegion2Service bizRegionService; private BmsRegion2Service bizRegionService;
private BmsRegionUserService regionUserService; private BmsRegionUserService regionUserService;
@Override
public List<HisUserSupplier> selectSupplier(BmsSupplier param, boolean usePage) {
if(param==null){
param = new BmsSupplier();
}
List<String> userIds = param.getSelectUserIds();
if(param.getSelectUserIdsFlag()!=null&&param.getSelectUserIdsFlag()){
for (String userId : param.getSelectUserIds()) {
this.initByUserId(userId,false);
}
}else {
String userId = AuthContextUtils.getSysUserId();
this.initByUserId(userId,false);
userIds = Arrays.asList(userId);
}
if(CollectionUtil.isNotEmpty(userIds)){
return new ArrayList<>();
}
HisUserSupplier userSupplier = param.toHisUserSupplier(null,null);
LambdaQueryWrapper<HisUserSupplier> lqw = new LambdaQueryWrapper<>(userSupplier);
lqw.in(HisUserSupplier::getUserId,userIds);
lqw.ne(HisUserSupplier::getSupplierId,0);
if(usePage){
PageUtil.startPage();
}
return this.list(lqw);
}
@Override @Override
public boolean checkInit(String userId) { public boolean checkInit(String userId) {
LambdaQueryWrapper<HisUserSupplier> lqwExist = new LambdaQueryWrapper<>(); LambdaQueryWrapper<HisUserSupplier> lqwExist = new LambdaQueryWrapper<>();

67
src/main/java/com/qs/serve/modules/qms/controller/my/QmsDraftMyController.java

@ -0,0 +1,67 @@
package com.qs.serve.modules.qms.controller.my;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.qms.entity.QmsDraft;
import com.qs.serve.modules.qms.entity.bo.QmsDraftBo;
import com.qs.serve.modules.qms.entity.vo.QmsDraftVo;
import com.qs.serve.modules.qms.service.QmsDraftService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* 问卷 问卷草稿(我的)
* @author YenHex
* @since 2022-09-13
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/my/qms/draft")
public class QmsDraftMyController {
private QmsDraftService qmsDraftService;
/**
* 获取表单草稿
* @param formId
* @return
*/
@GetMapping("/{groupId}")
public R<QmsDraftVo> getDraft(@PathVariable("groupId") Long formId){
QmsDraft qmsDraft = qmsDraftService.getUserFormDraft(formId);
if(qmsDraft==null){
return R.ok();
}
return R.ok(CopierUtil.copy(qmsDraft,new QmsDraftVo()));
}
/**
* 保存草稿
* @param param
* @return
*/
@PostMapping("/save")
public R<?> saveDraft(@Valid @RequestBody QmsDraftBo param) {
QmsDraft qmsDraft = qmsDraftService.getUserFormDraft(param.getGroupId());
if(qmsDraft==null){
qmsDraft = new QmsDraft();
qmsDraft.setGroupId(param.getGroupId());
qmsDraft.setContext(param.getContext());
qmsDraft.setUserId(AuthContextUtils.getSysUserId());
qmsDraft.setPubFlag("0");
qmsDraftService.save(qmsDraft);
}else {
qmsDraft.setContext(param.getContext());
qmsDraftService.updateById(qmsDraft);
}
return R.ok();
}
}

165
src/main/java/com/qs/serve/modules/qms/controller/my/QmsSubmitMyController.java

@ -0,0 +1,165 @@
package com.qs.serve.modules.qms.controller.my;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.InterType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.qms.entity.QmsFormSubmit;
import com.qs.serve.modules.qms.entity.QmsGroup;
import com.qs.serve.modules.qms.entity.QmsGroupScope;
import com.qs.serve.modules.qms.entity.bo.QmsSubmitBo;
import com.qs.serve.modules.qms.entity.so.QmsGroupSo;
import com.qs.serve.modules.qms.mapper.QmsGroupScopeMapper;
import com.qs.serve.modules.qms.service.QmsFormSubmitService;
import com.qs.serve.modules.qms.service.QmsGroupScopeService;
import com.qs.serve.modules.qms.service.QmsGroupService;
import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.service.WxUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
/**
* 问卷 问卷提交记录(我的)
* @author YenHex
* @since 2022-09-13
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/my/qms/submit")
public class QmsSubmitMyController {
private QmsFormSubmitService qmsFormSubmitService;
private QmsGroupScopeService qmsGroupScopeService;
private QmsGroupScopeMapper qmsGroupScopeMapper;
private QmsGroupService qmsGroupService;
private WxUserService wxUserService;
/**
* 我的代办已办列表
* @param param
* @return
*/
@GetMapping("/myGroupList")
public R<?> todoPage(QmsGroupSo param){
String userId = AuthContextUtils.getSysUserId();
// LambdaQueryWrapper<QmsGroupScope> lqw = new LambdaQueryWrapper<>();
// lqw.in(QmsGroupScope::getScopeType,1,3,4);
// lqw.eq(QmsGroupScope::getScopeValue,userId);
// lqw.orderByDesc(QmsGroupScope::getCreateTime);
// if(StringUtils.hasText(finished)){
// //查询是否已完成
// lqw.eq(QmsGroupScope::getFinished,finished);
// }else {
// //查询所有
// lqw.ne(QmsGroupScope::getFinished,-1);
// }
// PageUtil.startPage();
// List<QmsGroupScope> groupScopes = qmsGroupScopeService.list(lqw);
PageUtil.startPage();
List<QmsGroupScope> groupScopes = qmsGroupScopeMapper.listScope(param,userId);
List<QmsGroup> result = new ArrayList<>();
for (QmsGroupScope groupScope : groupScopes) {
QmsGroup qmsGroup = qmsGroupService.getById(groupScope.getGroupId());
if(qmsGroup==null){
continue;
}
//当 finished==0 and groupFinished ==1 表示人数达标,已过期
qmsGroup.setFinished(groupScope.getFinished());
result.add(qmsGroup);
}
return R.byPageHelperList(groupScopes,result);
}
/**
* 已提交列表
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<QmsFormSubmit>> getPage(QmsFormSubmit param){
LambdaQueryWrapper<QmsFormSubmit> formSubmitWrapper = new LambdaQueryWrapper<>(param);
formSubmitWrapper.orderByDesc(QmsFormSubmit::getCreateTime);
formSubmitWrapper.eq(QmsFormSubmit::getUserId,AuthContextUtils.getSysUserId());
PageUtil.startPage();
List<QmsFormSubmit> list = qmsFormSubmitService.list(formSubmitWrapper);
return R.byPageHelperList(list);
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.QUESTION, title = "问卷提交记录", biz = BizType.QUERY, inter = InterType.API)
public R<QmsFormSubmit> getById(@PathVariable("id") String id){
QmsFormSubmit qmsFormSubmit = qmsFormSubmitService.getById(id);
if(!qmsFormSubmit.getUserId().equals(AuthContextUtils.getSysUserId())){
return R.ok();
}
return R.ok(qmsFormSubmit);
}
/**
* 根据发布组ID查询
* @param groupId
* @return
*/
@GetMapping("/getByFormId/{groupId}")
@SysLog(module = SystemModule.QUESTION, title = "问卷提交记录", biz = BizType.QUERY, inter = InterType.API)
public R<QmsFormSubmit> getByFormId(@PathVariable("groupId") String groupId){
LambdaQueryWrapper<QmsFormSubmit> lqw = new LambdaQueryWrapper<>();
String userId = AuthContextUtils.getSysUserId();
lqw.eq(QmsFormSubmit::getGroupId,groupId);
lqw.eq(QmsFormSubmit::getUserId,userId);
QmsGroup qmsGroup = qmsGroupService.getById(groupId);
QmsFormSubmit formSubmit = qmsFormSubmitService.getOne(lqw,false);
QmsGroupScope groupScope = qmsGroupScopeService.getByGroupAndUid(groupId,userId);
if(formSubmit==null){
formSubmit = CopierUtil.copy(qmsGroup,new QmsFormSubmit());
formSubmit.setTitle(qmsGroup.getName());
}
formSubmit.setGroupFinished(qmsGroup.getGroupFinished());
formSubmit.setFinished(groupScope.getFinished());
return R.ok(formSubmit);
}
/**
* 提交问卷
* @param param
* @return
*/
@PostMapping("/submit")
@SysLog(module = SystemModule.QUESTION, title = "问卷提交记录", biz = BizType.UPDATE, inter = InterType.API)
public R<?> updateById(@RequestBody @Valid QmsSubmitBo param){
qmsFormSubmitService.submit(param);
return R.ok();
}
/**
* 删除问卷提交记录
* @param id
* @return
*/
//@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.QUESTION, title = "问卷提交记录", biz = BizType.DELETE, inter = InterType.API)
public R<?> deleteById(@PathVariable("id") String id){
boolean result = qmsFormSubmitService.removeById(id);
return R.isTrue(result);
}
}

15
src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java

@ -14,6 +14,8 @@ import com.qs.serve.modules.qms.entity.bo.QmsSubmitBo;
import com.qs.serve.modules.qms.service.QmsFormService; import com.qs.serve.modules.qms.service.QmsFormService;
import com.qs.serve.modules.qms.service.QmsGroupScopeService; import com.qs.serve.modules.qms.service.QmsGroupScopeService;
import com.qs.serve.modules.qms.service.QmsGroupService; import com.qs.serve.modules.qms.service.QmsGroupService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.mapper.SysUserMapper;
import com.qs.serve.modules.wx.entity.WxUser; import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.service.WxUserService; import com.qs.serve.modules.wx.service.WxUserService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -40,11 +42,14 @@ public class QmsFormSubmitServiceImpl extends ServiceImpl<QmsFormSubmitMapper,Qm
private final QmsGroupService qmsGroupService; private final QmsGroupService qmsGroupService;
private final QmsGroupScopeService qmsGroupScopeService; private final QmsGroupScopeService qmsGroupScopeService;
private final WxUserService wxUserService; private final WxUserService wxUserService;
private final SysUserMapper sysUserMapper;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void submit(QmsSubmitBo param) { public void submit(QmsSubmitBo param) {
WxUser wxUser = wxUserService.getCurrentWxUser(); //WxUser wxUser = wxUserService.getCurrentWxUser();
String userId = AuthContextUtils.getSysUserId();
SysUser sysUser = sysUserMapper.selectById(userId);
QmsGroup qmsGroup = qmsGroupService.getById(param.getGroupId()); QmsGroup qmsGroup = qmsGroupService.getById(param.getGroupId());
if(qmsGroup.getPublishState().equals(0)){ if(qmsGroup.getPublishState().equals(0)){
Assert.throwEx("问卷未发布,无法提交"); Assert.throwEx("问卷未发布,无法提交");
@ -55,7 +60,7 @@ public class QmsFormSubmitServiceImpl extends ServiceImpl<QmsFormSubmitMapper,Qm
QmsForm form = qmsFormService.getById(qmsGroup.getFormId()); QmsForm form = qmsFormService.getById(qmsGroup.getFormId());
LambdaQueryWrapper<QmsFormSubmit> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<QmsFormSubmit> lqw = new LambdaQueryWrapper<>();
lqw.eq(QmsFormSubmit::getGroupId,param.getGroupId()); lqw.eq(QmsFormSubmit::getGroupId,param.getGroupId());
lqw.eq(QmsFormSubmit::getUserId,wxUser.getSysUserId()); lqw.eq(QmsFormSubmit::getUserId,userId);
//lqw.eq(QmsFormSubmit::getVersion,param.getVersion()); //lqw.eq(QmsFormSubmit::getVersion,param.getVersion());
QmsFormSubmit formSubmit = this.getOne(lqw,false); QmsFormSubmit formSubmit = this.getOne(lqw,false);
if(formSubmit==null){ if(formSubmit==null){
@ -73,8 +78,8 @@ public class QmsFormSubmitServiceImpl extends ServiceImpl<QmsFormSubmitMapper,Qm
//参数关联 //参数关联
formSubmit.setFormSubmitContext(param.getSubmitContext()); formSubmit.setFormSubmitContext(param.getSubmitContext());
//关联用户 //关联用户
formSubmit.setUserId(wxUser.getSysUserId()); formSubmit.setUserId(userId);
formSubmit.setUserName(wxUser.getEmpName()); formSubmit.setUserName(sysUser.getName());
//时间 //时间
formSubmit.setSubmitTime(LocalDateTime.now()); formSubmit.setSubmitTime(LocalDateTime.now());
if(formSubmit.getId()==null){ if(formSubmit.getId()==null){
@ -83,7 +88,7 @@ public class QmsFormSubmitServiceImpl extends ServiceImpl<QmsFormSubmitMapper,Qm
this.updateById(formSubmit); this.updateById(formSubmit);
} }
//修改完成进度 //修改完成进度
QmsGroupScope qmsGroupScope = qmsGroupScopeService.getByGroupAndUid(param.getGroupId(),wxUser.getSysUserId()); QmsGroupScope qmsGroupScope = qmsGroupScopeService.getByGroupAndUid(param.getGroupId(),userId);
qmsGroupScope.setFinished(1); qmsGroupScope.setFinished(1);
qmsGroupScopeService.updateById(qmsGroupScope); qmsGroupScopeService.updateById(qmsGroupScope);
long count = this.countGroupFinished(qmsGroup.getId()); long count = this.countGroupFinished(qmsGroup.getId());

32
src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java

@ -3,6 +3,7 @@ package com.qs.serve.modules.wx.api;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.framework.redis.RedisService; import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.framework.security.model.LoginUser; import com.qs.serve.common.framework.security.model.LoginUser;
import com.qs.serve.common.framework.security.model.LoginUserType;
import com.qs.serve.common.model.annotation.LimitSubmit; import com.qs.serve.common.model.annotation.LimitSubmit;
import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.consts.RedisCacheKeys; import com.qs.serve.common.model.consts.RedisCacheKeys;
@ -11,6 +12,8 @@ import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.InterType; import com.qs.serve.common.model.enums.InterType;
import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.IdUtil; import com.qs.serve.common.util.IdUtil;
import com.qs.serve.common.util.JwtUtils;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.base.TencentYunSmsService; import com.qs.serve.modules.base.TencentYunSmsService;
import com.qs.serve.modules.sys.entity.SysDept; import com.qs.serve.modules.sys.entity.SysDept;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
@ -24,6 +27,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
@ -47,13 +52,15 @@ public class WxSvcUserApi {
@GetMapping("/info") @GetMapping("/info")
public R<?> info(){ public R<?> info(){
WxUser wxUser = wxUserService.getCurrentWxUser(true); WxUser wxUser = wxUserService.getCurrentWxUser(true);
LoginUser loginUser = AuthContextUtils.getLoginUser(); if(StringUtils.hasText(wxUser.getSysUserId())){
if(loginUser!=null){ LoginUser loginUser = AuthContextUtils.getLoginUser();
SysUser sysUser = sysUserService.getById(loginUser.getUserId()); if(loginUser!=null&&loginUser.getUserId()!=null){
sysUser.setAuthorIds(loginUser.getAuthorIds()); SysUser sysUser = sysUserService.getById(loginUser.getUserId());
sysUser.setAuthorList(loginUser.getAuthorList()); sysUser.setAuthorIds(loginUser.getAuthorIds());
SysUserVo sysUserVo = sysUser.toSysUserVo(false); sysUser.setAuthorList(loginUser.getAuthorList());
wxUser.setSysUserInfo(sysUserVo); SysUserVo sysUserVo = sysUser.toSysUserVo(false);
wxUser.setSysUserInfo(sysUserVo);
}
} }
return R.ok(wxUser); return R.ok(wxUser);
} }
@ -108,6 +115,17 @@ public class WxSvcUserApi {
wxUserService.updateById(wxUser); wxUserService.updateById(wxUser);
//便于多设备登陆 //便于多设备登陆
redisService.remove(key); redisService.remove(key);
//返回登陆信息
// String client = "wx_app";
// String redisKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_APP,client,wxUser.getSysUserId());
// String pctoken = JwtUtils.generateToken(wxUser.getSysUserId(), LoginUserType.APP_USER,client);
// redisService.set(redisKey,pctoken);
// Map<String,Object> tokenMap = new HashMap<>(10);
// tokenMap.put("token", pctoken);
// tokenMap.put("userId", wxUser.getSysUserId());
// tokenMap.put("loginType",client);
// tokenMap.put("client",client);
return R.ok(); return R.ok();
} }

Loading…
Cancel
Save