From 03e6d36ae53cbbe9150de78cfda2de710eadcd83 Mon Sep 17 00:00:00 2001 From: Yen Date: Thu, 4 May 2023 15:19:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=99=BB=E9=99=86=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=EF=BC=9B=E7=BB=9F=E4=B8=80=E8=A7=84=E8=8C=83=E6=88=91?= =?UTF-8?q?=E7=9A=84=E5=AE=A2=E6=88=B7=EF=BC=8C=E4=B8=8B=E5=B1=9E=E7=9A=84?= =?UTF-8?q?=E5=AE=A2=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/my/BizVisitMyController.java | 131 ++++++++++++++ .../bms/controller/BmsSupplierController.java | 1 - .../controller/my/BmsChannelMyController.java | 40 ++++- .../my/BmsChannelPointMyController.java | 15 +- .../my/BmsSupplierContactsMyController.java | 69 ++++++++ .../my/BmsSupplierMyController.java | 28 +-- .../serve/modules/bms/entity/BmsSupplier.java | 11 ++ .../service/impl/BmsSupplierServiceImpl.java | 6 +- .../his/service/HisUserSupplierService.java | 1 + .../impl/HisUserSupplierServiceImpl.java | 31 ++++ .../controller/my/QmsDraftMyController.java | 67 +++++++ .../controller/my/QmsSubmitMyController.java | 165 ++++++++++++++++++ .../impl/QmsFormSubmitServiceImpl.java | 15 +- .../qs/serve/modules/wx/api/WxSvcUserApi.java | 32 +++- 14 files changed, 571 insertions(+), 41 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/biz/controller/my/BizVisitMyController.java create mode 100644 src/main/java/com/qs/serve/modules/bms/controller/my/BmsSupplierContactsMyController.java create mode 100644 src/main/java/com/qs/serve/modules/qms/controller/my/QmsDraftMyController.java create mode 100644 src/main/java/com/qs/serve/modules/qms/controller/my/QmsSubmitMyController.java diff --git a/src/main/java/com/qs/serve/modules/biz/controller/my/BizVisitMyController.java b/src/main/java/com/qs/serve/modules/biz/controller/my/BizVisitMyController.java new file mode 100644 index 00000000..cea0462b --- /dev/null +++ b/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> getPage(BizVisit param){ + String userId = AuthContextUtils.getSysUserId(); + param.setVisitorId(userId); + PageUtil.startPage(); + LambdaQueryWrapper 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 list = bizVisitService.list(visitWrapper); + return R.byPageHelperList(list); + } + + /** + * 翻页(我的下属拜访记录) + * @param param + * @return + */ + @GetMapping("/page4Under") + public R> page4Under(BizVisit param){ + String userId = AuthContextUtils.getSysUserId(); + List userIds = sysUserSalesService.listByChildIds(userId); + if(userIds.size()<1){ + return R.byEmptyList(); + } + PageUtil.startPage(); + LambdaQueryWrapper visitWrapper = new LambdaQueryWrapper<>(param); + visitWrapper.in(BizVisit::getVisitorId,userIds); + visitWrapper.orderByDesc(BizVisit::getCreateTime); + List 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); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java index 17fab2bd..9c5709e8 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java @@ -99,7 +99,6 @@ public class BmsSupplierController { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(userSupplier); lqw.ne(HisUserSupplier::getSupplierId,0); PageHelper.startPage(param.getPageNum(),param.getPageSize()); - List list = hisUserSupplierService.list(lqw); List supplierList = list.stream().map(HisUserSupplier::toSupplier).collect(Collectors.toList()); return R.byPageHelperList(list,supplierList); diff --git a/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelMyController.java b/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelMyController.java index 5a614922..994ebecd 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelMyController.java +++ b/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.CollectionUtil; 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.entity.BmsChannel; import com.qs.serve.modules.bms.entity.BmsChannelPoint; 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.service.BmsChannelPointService; import com.qs.serve.modules.bms.service.BmsChannelService; 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.service.HisUserChannelPointService; +import com.qs.serve.modules.sys.service.SysUserSalesService; import com.qs.serve.modules.tbs.entity.TbsActivityChannel; import com.qs.serve.modules.tbs.service.TbsActivityChannelService; import lombok.AllArgsConstructor; @@ -42,14 +46,11 @@ import java.util.stream.Collectors; public class BmsChannelMyController { private BmsChannelService bmsChannelService; - private BmsChannelPointService bmsChannelPointService; - private TbsActivityChannelService activityChannelService; - private HisUserChannelPointService hisUserChannelPointService; - private BmsMasterUserMapper bmsMasterUserMapper; private BmsMasterUserService bmsMasterUserService; + private SysUserSalesService sysUserSalesService; /** - * 翻页 + * 翻页(我负责的) * @param param * @return */ @@ -73,5 +74,34 @@ public class BmsChannelMyController { } + /** + * 翻页(下属负责的渠道) + * @param param + * @return + */ + @GetMapping("/page4Under") + public R> getPage4Under(BmsChannel param){ + String loginUserId = AuthContextUtils.getSysUserId(); + List userIds = sysUserSalesService.listByChildIds(loginUserId); + if(CollectionUtil.isEmpty(userIds)){ + return R.byEmptyList(); + } + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.in(BmsMasterUser::getUserId, userIds); + lqw.eq(BmsMasterUser::getType,MasterUserType.Channel); + lqw.select(BmsMasterUser::getTargetId); + List masterUsers = bmsMasterUserService.list(lqw); + List targetIds = masterUsers.stream().map(BmsMasterUser::getTargetId).distinct().collect(Collectors.toList()); + if(CollectionUtil.isEmpty(targetIds)){ + return R.byEmptyList(); + } + PageUtil.startPage(); + LambdaQueryWrapper channelWrapper = new LambdaQueryWrapper<>(param); + channelWrapper.orderByDesc(BmsChannel::getCreateTime); + channelWrapper.in(BmsChannel::getId,targetIds); + List list = bmsChannelService.list(channelWrapper); + return R.byPageHelperList(list); + } + } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java b/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java index 7bf9639d..80e7e2cb 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java +++ b/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.enums.BizType; 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.common.util.StringUtils; +import com.qs.serve.common.util.*; import com.qs.serve.modules.baz.common.BazTargetTypeConsts; import com.qs.serve.modules.baz.entity.BazVisitInfo; import com.qs.serve.modules.baz.service.BazVisitInfoService; @@ -105,12 +102,14 @@ public class BmsChannelPointMyController { List userIds = sysUserSalesService.listByChildIds(loginUserId); param.setUserIdList(userIds); LambdaQueryWrapper rulqw = new LambdaQueryWrapper<>(); - //rulqw.select(BmsRegionUser::getPathIds); + rulqw.select(BmsRegionUser::getPathIds,BmsRegionUser::getId); rulqw.eq(BmsRegionUser::getUserId,loginUserId); List regionUserList = bmsRegionUserService.list(rulqw); - List regionPaths = regionUserList.stream().filter(a->StringUtils.hasText(a.getPathIds())) - .map(BmsRegionUser::getPathIds).collect(Collectors.toList()); - param.setSourceIdsList(regionPaths); + if(CollectionUtil.isNotEmpty(regionUserList)){ + List regionPaths = regionUserList.stream().map(BmsRegionUser::getPathIds) + .filter(StringUtils::hasText).distinct().collect(Collectors.toList()); + param.setSourceIdsList(regionPaths); + } PageUtil.startPage(); param.setTenantId(AuthContextUtils.getTenant()); List list = bmsChannelPointService.selectChannelPointMyUnderList(param); diff --git a/src/main/java/com/qs/serve/modules/bms/controller/my/BmsSupplierContactsMyController.java b/src/main/java/com/qs/serve/modules/bms/controller/my/BmsSupplierContactsMyController.java new file mode 100644 index 00000000..eecc5365 --- /dev/null +++ b/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> getPage(BmsSupplierContactsSo param){ + + List list = hisUserSupplierService.selectSupplier(null,false); + List supplierList = list.stream().map(HisUserSupplier::toSupplier).collect(Collectors.toList()); + List supplierIds = supplierList.stream().map(a->a.getId()).distinct().collect(Collectors.toList()); + + PageUtil.startPage(); + BmsSupplierContacts query = CopierUtil.copy(param,new BmsSupplierContacts()); + LambdaQueryWrapper contactsLambdaQueryWrapper = new LambdaQueryWrapper<>(query); + contactsLambdaQueryWrapper.eq(BmsSupplierContacts::getSupplierId,supplierIds); + List supplierContactsList = bmsSupplierContactsService.list(contactsLambdaQueryWrapper); + return R.byPageHelperList(supplierContactsList); + } + + + + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/controller/my/BmsSupplierMyController.java b/src/main/java/com/qs/serve/modules/bms/controller/my/BmsSupplierMyController.java index 415519a8..8cd1a3a2 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/my/BmsSupplierMyController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/my/BmsSupplierMyController.java @@ -1,5 +1,7 @@ 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.R; 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.vo.BmsSupplierTreeVo; 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.service.WxUserService; import lombok.AllArgsConstructor; @@ -34,19 +39,19 @@ import java.util.stream.Collectors; public class BmsSupplierMyController { private final BmsSupplierService bmsSupplierService; + private final HisUserSupplierService hisUserSupplierService; + private final SysUserSalesService sysUserSalesService; /** - * 翻页查询 + * 翻页查询(我负责的) * @param param * @return */ @GetMapping("/page") public R> getPage(BmsSupplier param){ - param.setCurrUserId(AuthContextUtils.getSysUserId()); - param.setStopFlag(0); - PageUtil.startPage(); - List list = bmsSupplierService.selectSupplierList(param); - return R.byPageHelperList(list); + List list = hisUserSupplierService.selectSupplier(param,true); + List supplierList = list.stream().map(HisUserSupplier::toSupplier).collect(Collectors.toList()); + return R.byPageHelperList(list,supplierList); } /** @@ -56,11 +61,12 @@ public class BmsSupplierMyController { */ @GetMapping("/underlingPage") public R> getUnderlingPage(BmsSupplier param){ - param.setCurrUserId(AuthContextUtils.getSysUserId()); - param.setStopFlag(0); - PageUtil.startPage(); - List list = bmsSupplierService.selectSupplierList(param); - return R.byPageHelperList(list); + List childIds = sysUserSalesService.listByChildIds(AuthContextUtils.getSysUserId()); + param.setSelectUserIds(childIds); + param.setSelectUserIdsFlag(true); + List list = hisUserSupplierService.selectSupplier(param,true); + List supplierList = list.stream().map(HisUserSupplier::toSupplier).collect(Collectors.toList()); + return R.byPageHelperList(list,supplierList); } } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java index 3e892058..1d456753 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java @@ -241,6 +241,17 @@ public class BmsSupplier implements Serializable { @TableField(exist = false) private Integer pageSize; + @TableField(exist = false) + private List selectSaleRegionIds; + + @TableField(exist = false) + private List selectBizRegionIds; + + @TableField(exist = false) + private List selectUserIds; + + @TableField(exist = false) + private Boolean selectUserIdsFlag; public List listBizRegionIds(){ List list = new ArrayList<>(); diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java index 316c5d9c..16852523 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java +++ b/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.extension.service.impl.ServiceImpl; import com.qs.serve.common.model.consts.BudgetLogOptFlag; -import com.qs.serve.common.util.Assert; -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.common.util.*; import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.bo.BmsSupplierBatchBo; @@ -51,6 +48,7 @@ public class BmsSupplierServiceImpl extends ServiceImpl selectSupplierList(BmsSupplier bmsSupplier) { return baseMapper.selectSupplierList(bmsSupplier); diff --git a/src/main/java/com/qs/serve/modules/his/service/HisUserSupplierService.java b/src/main/java/com/qs/serve/modules/his/service/HisUserSupplierService.java index d7f00875..24f4795b 100644 --- a/src/main/java/com/qs/serve/modules/his/service/HisUserSupplierService.java +++ b/src/main/java/com/qs/serve/modules/his/service/HisUserSupplierService.java @@ -13,6 +13,7 @@ import java.util.List; */ public interface HisUserSupplierService extends IService { + List selectSupplier(BmsSupplier param,boolean usePage); /** * 初始化 diff --git a/src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java b/src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java index b43e5466..99ea5f7b 100644 --- a/src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java +++ b/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.QueryWrapper; 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.PageUtil; import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.BmsRegionUser; @@ -37,6 +40,34 @@ public class HisUserSupplierServiceImpl extends ServiceImpl selectSupplier(BmsSupplier param, boolean usePage) { + if(param==null){ + param = new BmsSupplier(); + } + List userIds = param.getSelectUserIds(); + if(param.getSelectUserIdsFlag()!=null&¶m.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 lqw = new LambdaQueryWrapper<>(userSupplier); + lqw.in(HisUserSupplier::getUserId,userIds); + lqw.ne(HisUserSupplier::getSupplierId,0); + if(usePage){ + PageUtil.startPage(); + } + return this.list(lqw); + } + @Override public boolean checkInit(String userId) { LambdaQueryWrapper lqwExist = new LambdaQueryWrapper<>(); diff --git a/src/main/java/com/qs/serve/modules/qms/controller/my/QmsDraftMyController.java b/src/main/java/com/qs/serve/modules/qms/controller/my/QmsDraftMyController.java new file mode 100644 index 00000000..155b3c24 --- /dev/null +++ b/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 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(); + } + + +} + diff --git a/src/main/java/com/qs/serve/modules/qms/controller/my/QmsSubmitMyController.java b/src/main/java/com/qs/serve/modules/qms/controller/my/QmsSubmitMyController.java new file mode 100644 index 00000000..47c616bc --- /dev/null +++ b/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 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 groupScopes = qmsGroupScopeService.list(lqw); + PageUtil.startPage(); + List groupScopes = qmsGroupScopeMapper.listScope(param,userId); + List 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> getPage(QmsFormSubmit param){ + LambdaQueryWrapper formSubmitWrapper = new LambdaQueryWrapper<>(param); + formSubmitWrapper.orderByDesc(QmsFormSubmit::getCreateTime); + formSubmitWrapper.eq(QmsFormSubmit::getUserId,AuthContextUtils.getSysUserId()); + PageUtil.startPage(); + List 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 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 getByFormId(@PathVariable("groupId") String groupId){ + LambdaQueryWrapper 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); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java b/src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java index ec9f24b4..a4d246c6 100644 --- a/src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java +++ b/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.QmsGroupScopeService; 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.service.WxUserService; import lombok.AllArgsConstructor; @@ -40,11 +42,14 @@ public class QmsFormSubmitServiceImpl extends ServiceImpl lqw = new LambdaQueryWrapper<>(); lqw.eq(QmsFormSubmit::getGroupId,param.getGroupId()); - lqw.eq(QmsFormSubmit::getUserId,wxUser.getSysUserId()); + lqw.eq(QmsFormSubmit::getUserId,userId); //lqw.eq(QmsFormSubmit::getVersion,param.getVersion()); QmsFormSubmit formSubmit = this.getOne(lqw,false); if(formSubmit==null){ @@ -73,8 +78,8 @@ public class QmsFormSubmitServiceImpl extends ServiceImpl info(){ WxUser wxUser = wxUserService.getCurrentWxUser(true); - LoginUser loginUser = AuthContextUtils.getLoginUser(); - if(loginUser!=null){ - SysUser sysUser = sysUserService.getById(loginUser.getUserId()); - sysUser.setAuthorIds(loginUser.getAuthorIds()); - sysUser.setAuthorList(loginUser.getAuthorList()); - SysUserVo sysUserVo = sysUser.toSysUserVo(false); - wxUser.setSysUserInfo(sysUserVo); + if(StringUtils.hasText(wxUser.getSysUserId())){ + LoginUser loginUser = AuthContextUtils.getLoginUser(); + if(loginUser!=null&&loginUser.getUserId()!=null){ + SysUser sysUser = sysUserService.getById(loginUser.getUserId()); + sysUser.setAuthorIds(loginUser.getAuthorIds()); + sysUser.setAuthorList(loginUser.getAuthorList()); + SysUserVo sysUserVo = sysUser.toSysUserVo(false); + wxUser.setSysUserInfo(sysUserVo); + } } return R.ok(wxUser); } @@ -108,6 +115,17 @@ public class WxSvcUserApi { wxUserService.updateById(wxUser); //便于多设备登陆 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 tokenMap = new HashMap<>(10); +// tokenMap.put("token", pctoken); +// tokenMap.put("userId", wxUser.getSysUserId()); +// tokenMap.put("loginType",client); +// tokenMap.put("client",client); return R.ok(); }