diff --git a/src/main/java/com/qs/serve/controller/WxSvcLoginApi.java b/src/main/java/com/qs/serve/controller/WxSvcLoginApi.java index 099176d6..99732e05 100644 --- a/src/main/java/com/qs/serve/controller/WxSvcLoginApi.java +++ b/src/main/java/com/qs/serve/controller/WxSvcLoginApi.java @@ -76,19 +76,21 @@ public class WxSvcLoginApi { redisService.set(wxLoginKey,wxUser.getSysUserId(),2, TimeUnit.DAYS); //后台管理员信息 - Map tokenMap = new HashMap<>(10); - String client = "wx_app"; - String redisKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_APP,client,wxUser.getSysUserId()); - String pctoken = JwtUtils.generateToken(wxUser.getSysUserId(),loginUser.getTypeFlag(),client); - redisService.set(redisKey,pctoken); - tokenMap.put("token", pctoken); - tokenMap.put("userId", wxUser.getSysUserId()); - tokenMap.put("IP", loginUser.getLoginIp()); - tokenMap.put("tenant", sysTenantMapper.selectById(loginUser.getTenant())); - tokenMap.put("loginType",client); - tokenMap.put("client",client); - //关联 - objectMap.put("adminTokenInfo",tokenMap); + //if(StringUtils.hasText(wxUser.getSysUserId())){ + Map tokenMap = new HashMap<>(10); + String client = "wx_app"; + String redisKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_APP,client,wxUser.getSysUserId()); + String pctoken = JwtUtils.generateToken(wxUser.getSysUserId(),loginUser.getTypeFlag(),client); + redisService.set(redisKey,pctoken); + tokenMap.put("token", pctoken); + tokenMap.put("userId", wxUser.getSysUserId()); + tokenMap.put("IP", loginUser.getLoginIp()); + tokenMap.put("tenant", sysTenantMapper.selectById(loginUser.getTenant())); + tokenMap.put("loginType",client); + tokenMap.put("client",client); + //关联 + objectMap.put("adminTokenInfo",tokenMap); + //} return R.ok(objectMap); } diff --git a/src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java b/src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java index 78c8400f..27c76e65 100644 --- a/src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.baz.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.TargetDTO; import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.AuthContextUtils; @@ -29,6 +30,7 @@ import org.springframework.stereotype.Service; import com.qs.serve.modules.baz.service.BazVisitInstanceService; import com.qs.serve.modules.baz.mapper.BazVisitInstanceMapper; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @@ -83,6 +85,18 @@ public class BazVisitInstanceServiceImpl extends ServiceImpl limitVisitLqw = new LambdaQueryWrapper<>(); + limitVisitLqw.eq(BazVisitInstance::getVisitorId,sysUser.getId()); + limitVisitLqw.eq(BazVisitInstance::getTargetType,targetType); + limitVisitLqw.eq(BazVisitInstance::getTargetId,targetDTO.getTargetId()); + limitVisitLqw.ge(BazVisitInstance::getCreateTime, LocalDate.now()); + long count = this.count(limitVisitLqw); + if(count>0){ + Assert.throwEx("一天内只能拜访一次"); + } + //构建实例 BazVisitInstance visitInstance = BazVisitInstance.toNewObject(bazVisit,targetDTO,sysUser); visitInstance.setTargetAddress(targetDTO.getAddress()); diff --git a/src/main/java/com/qs/serve/modules/biz/controller/BizVisitController.java b/src/main/java/com/qs/serve/modules/biz/controller/BizVisitController.java index 4abfced8..cd5f9af4 100644 --- a/src/main/java/com/qs/serve/modules/biz/controller/BizVisitController.java +++ b/src/main/java/com/qs/serve/modules/biz/controller/BizVisitController.java @@ -6,7 +6,9 @@ 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.PageUtil; +import com.qs.serve.modules.sys.service.SysUserSalesService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -30,6 +32,26 @@ import java.util.List; public class BizVisitController { private BizVisitService bizVisitService; + private SysUserSalesService sysUserSalesService; + + /** + * 翻页(我的下属拜访记录) + * @param param + * @return + */ + @GetMapping("/page4Under") + public R> page4Under(BizVisit param){ + List userIds = sysUserSalesService.listByChildIds(AuthContextUtils.getSysUserId()); + if(userIds.size()<1){ + return R.byEmptyList(); + } + PageUtil.startPage(); + LambdaQueryWrapper visitWrapper = new LambdaQueryWrapper<>(param); + visitWrapper.in(BizVisit::getVisitorId,userIds); + List list = bizVisitService.list(visitWrapper); + return R.byPageHelperList(list); + } + /** * 翻页 diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsMasterUserController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsMasterUserController.java index ec490dfa..68fb0bdb 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsMasterUserController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsMasterUserController.java @@ -8,15 +8,13 @@ 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.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.BmsRegionUser; +import com.qs.serve.modules.bms.entity.*; import com.qs.serve.modules.bms.entity.vo.BmsMasterUserCenterVo; import com.qs.serve.modules.bms.entity.vo.BmsMasterUserChannelVo; -import com.qs.serve.modules.bms.entity.vo.BmsMasterUserPointVo; 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.BmsCostCenterService; import com.qs.serve.modules.his.entity.HisUserChannelPoint; import com.qs.serve.modules.his.service.HisUserChannelPointService; import com.qs.serve.modules.sys.entity.SysUser; @@ -28,7 +26,6 @@ import org.springframework.web.bind.annotation.*; import com.qs.serve.modules.bms.entity.vo.BmsMasterUserVo; import com.qs.serve.modules.bms.entity.bo.BmsMasterUserBo; -import com.qs.serve.modules.bms.entity.BmsMasterUser; import com.qs.serve.modules.bms.service.BmsMasterUserService; import javax.validation.Valid; @@ -51,8 +48,10 @@ public class BmsMasterUserController { private BmsChannelPointService bmsChannelPointService; private BmsMasterUserService bmsMasterUserService; private BmsMasterUserMapper bmsMasterUserMapper; + private BmsCostCenterService costCenterService; private SysUserService sysUserService; private HisUserChannelPointService hisUserChannelPointService; + private BmsChannelService channelService; /** * 负责人列表(渠道) @@ -61,20 +60,21 @@ public class BmsMasterUserController { */ @GetMapping("/list4Channel") public R> getList(BmsMasterUserChannelVo userChannel){ - PageUtil.startPage(); List list = bmsMasterUserMapper.selectChannelMasterUserList(userChannel); return R.ok(list); } /** * 负责人翻页(渠道) - * @param userChannel + * @param param * @return */ @GetMapping("/page4Channel") - public R> getPage(BmsMasterUserChannelVo userChannel){ + public R> getPage(BmsMasterUser param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + lqw.eq(BmsMasterUser::getType,MasterUserType.Channel); PageUtil.startPage(); - List list = bmsMasterUserMapper.selectChannelMasterUserList(userChannel); + List list = bmsMasterUserService.list(lqw); return R.byPageHelperList(list); } @@ -84,10 +84,8 @@ public class BmsMasterUserController { * @return */ @GetMapping("/list4Point") - public R> list4Point(BmsMasterUserPointVo param){ - PageUtil.startPage(); - List list = bmsMasterUserMapper.selectPointMasterUserList(param); - return R.ok(list); + public R> list4Point(BmsMasterUser param){ + return R.error("已取消的接口"); } /** @@ -96,9 +94,11 @@ public class BmsMasterUserController { * @return */ @GetMapping("/page4Point") - public R> page4Point(BmsMasterUserPointVo param){ + public R> page4Point(BmsMasterUser param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + lqw.eq(BmsMasterUser::getType,MasterUserType.Point); PageUtil.startPage(); - List list = bmsMasterUserMapper.selectPointMasterUserList(param); + List list = bmsMasterUserService.list(lqw); return R.byPageHelperList(list); } @@ -108,9 +108,10 @@ public class BmsMasterUserController { * @return */ @GetMapping("/list4center") - public R> list4center(BmsMasterUser param){ - PageUtil.startPage(); - List list = bmsMasterUserMapper.selectCenterMasterUserList(param); + public R> list4center(BmsMasterUser param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + lqw.eq(BmsMasterUser::getType,MasterUserType.Center); + List list = bmsMasterUserService.list(lqw); return R.ok(list); } @@ -120,9 +121,11 @@ public class BmsMasterUserController { * @return */ @GetMapping("/page4center") - public R> page4center(BmsMasterUser param){ + public R> page4center(BmsMasterUser param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + lqw.eq(BmsMasterUser::getType,MasterUserType.Center); PageUtil.startPage(); - List list = bmsMasterUserMapper.selectCenterMasterUserList(param); + List list = bmsMasterUserService.list(lqw); return R.byPageHelperList(list); } @@ -164,12 +167,31 @@ public class BmsMasterUserController { } List masterUsers = new ArrayList<>(); for (String userId : param.getUserIds()) { + SysUser sysUser = sysUserService.getById(userId); for (String targetId : param.getTargetIds()) { bmsMasterUserService.removeMgrUser(type,targetId,userId); BmsMasterUser masterUser = new BmsMasterUser(); masterUser.setType(type); masterUser.setTargetId(targetId); masterUser.setUserId(userId); + if(type.equals(MasterUserType.Point)){ + BmsChannelPoint channelPoint = bmsChannelPointService.getById(targetId); + BmsChannel bmsChannel = channelService.getById(channelPoint.getChannelId()); + masterUser.setChannelName(bmsChannel.getChannelName()); + masterUser.setChannelCode(bmsChannel.getChannelCode()); + masterUser.setPointCode(channelPoint.getPointCode()); + masterUser.setPointName(channelPoint.getPointName()); + }else if (type.equals(MasterUserType.Channel)){ + BmsChannel bmsChannel = channelService.getById(targetId); + masterUser.setChannelName(bmsChannel.getChannelName()); + masterUser.setChannelCode(bmsChannel.getChannelCode()); + }else { + BmsCostCenter costCenter = costCenterService.getById(targetId); + masterUser.setCenterCode(costCenter.getCode()); + masterUser.setCenterName(costCenter.getName()); + } + masterUser.setUserName(sysUser.getName()); + masterUser.setUserCode(sysUser.getCode()); masterUsers.add(masterUser); } } 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 ba063e5d..519a2842 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 @@ -94,6 +94,7 @@ 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/entity/BmsMasterUser.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsMasterUser.java index 019acf81..d607d840 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsMasterUser.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsMasterUser.java @@ -50,17 +50,35 @@ public class BmsMasterUser implements Serializable { @NotNull(message = "主要负责人不能为空") private Integer masterFlag; - /** 拓展字段1 */ - @Length(max = 255,message = "拓展字段1长度不能超过255字") - private String sp1; + /** 渠道 */ + @Length(max = 255,message = "渠道长度不能超过255字") + private String channelName; - /** 拓展字段2 */ - @Length(max = 255,message = "拓展字段2长度不能超过255字") - private String sp2; + /** 渠道 */ + @Length(max = 255,message = "渠道长度不能超过255字") + private String channelCode; - /** 拓展字段3 */ - @Length(max = 255,message = "拓展字段3长度不能超过255字") - private String sp3; + /** 网点 */ + @Length(max = 255,message = "网点长度不能超过255字") + private String pointName; + + /** 网点 */ + @Length(max = 255,message = "网点长度不能超过255字") + private String pointCode; + + /** 用户 */ + @Length(max = 255,message = "用户长度不能超过255字") + private String userCode; + + /** 用户 */ + @Length(max = 255,message = "用户长度不能超过255字") + private String userName; + + /** 成本中心 */ + private String centerCode; + + /** 成本中心 */ + private String centerName; /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") @@ -102,16 +120,6 @@ public class BmsMasterUser implements Serializable { @TableField(exist = false) private Object objectInfo; - @TableField(exist = false) - private String centerName; - @TableField(exist = false) - private String centerCode; - - @TableField(exist = false) - private String userName; - - @TableField(exist = false) - private String userCode; } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsMasterUserPointVo.java b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsMasterUserPointVo.java deleted file mode 100644 index 2ac55adc..00000000 --- a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsMasterUserPointVo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.qs.serve.modules.bms.entity.vo; - -import com.qs.serve.modules.bms.entity.BmsMasterUser; -import lombok.Data; - -/** - * @author YenHex - * @since 2022/11/11 - */ -@Data -public class BmsMasterUserPointVo extends BmsMasterUser { - - private String userCode; - - private String userName; - - private String channelName; - - private String channelCode; - - private String pointName; - - private String pointCode; - -} diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java index db463158..7c54dea2 100644 --- a/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java @@ -31,7 +31,11 @@ public interface BmsChannelPointMapper extends BaseMapper { List selectChannelPointList(@Param("query") BmsChannelPoint channelPoint); - + /** + * 直属管理人 + * @param param + * @return + */ @InterceptorIgnore(tenantLine = "1") List selectUserPointList4Visit(@Param("query") BmsPointVisitSo param); diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsMasterUserMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsMasterUserMapper.java index f8786836..370db819 100644 --- a/src/main/java/com/qs/serve/modules/bms/mapper/BmsMasterUserMapper.java +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsMasterUserMapper.java @@ -5,7 +5,6 @@ import com.qs.serve.modules.bms.entity.BmsMasterUser; import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.vo.BmsMasterUserCenterVo; import com.qs.serve.modules.bms.entity.vo.BmsMasterUserChannelVo; -import com.qs.serve.modules.bms.entity.vo.BmsMasterUserPointVo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -25,13 +24,6 @@ public interface BmsMasterUserMapper extends BaseMapper { List selectChannelMasterUserList(@Param("query") BmsMasterUserChannelVo userChannel); - /** - * 查询站点负责人 - * @param userChannel - * @return - */ - List selectPointMasterUserList(@Param("query") BmsMasterUserPointVo userChannel); - /** * 查询成本中心负责人 * @param userChannel diff --git a/src/main/java/com/qs/serve/modules/his/controller/HistTestController.java b/src/main/java/com/qs/serve/modules/his/controller/HistTestController.java new file mode 100644 index 00000000..37122188 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/his/controller/HistTestController.java @@ -0,0 +1,43 @@ +package com.qs.serve.modules.his.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.config.DevEnvironmentConfig; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.modules.his.service.HisUserChannelPointService; +import com.qs.serve.modules.oms.entity.OmsOrder; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author YenHex + * @since 2023/4/17 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("his/dev") +public class HistTestController { + + HisUserChannelPointService hisUserChannelPointService; + + /** + * + * @return + */ + @GetMapping("/initPoint") + public R initPoint(){ + if(DevEnvironmentConfig.isDev()){ + hisUserChannelPointService.initSetup(); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/qs/serve/modules/his/service/HisUserChannelPointService.java b/src/main/java/com/qs/serve/modules/his/service/HisUserChannelPointService.java index 1870a492..11f849e9 100644 --- a/src/main/java/com/qs/serve/modules/his/service/HisUserChannelPointService.java +++ b/src/main/java/com/qs/serve/modules/his/service/HisUserChannelPointService.java @@ -56,5 +56,16 @@ public interface HisUserChannelPointService extends IService masterUsers = masterUserMapper.selectList(masterUserLqw); - List userIds = masterUsers.stream().map(a->a.getUserId()).distinct().collect(Collectors.toList()); + List userIds = masterUsers.stream().map(BmsMasterUser::getUserId).distinct().collect(Collectors.toList()); for (String userId : userIds) { HisUserChannelPoint userChannelPoint = new HisUserChannelPoint(); userChannelPoint.setUserId(userId); @@ -130,6 +130,39 @@ public class HisUserChannelPointServiceImpl extends ServiceImpl masterUserLqw = new LambdaQueryWrapper<>(); + masterUserLqw.eq(BmsMasterUser::getType, MasterUserType.Point); + List masterUsers = masterUserMapper.selectList(masterUserLqw); + List channelPointList = new ArrayList<>(); + for (BmsMasterUser masterUser : masterUsers) { + HisUserChannelPoint userChannelPoint = new HisUserChannelPoint(); + userChannelPoint.setUserId(masterUser.getUserId()); + userChannelPoint.setPointId(Long.parseLong(masterUser.getTargetId())); + userChannelPoint.setSourceType(0); + channelPointList.add(userChannelPoint); + } + this.saveBatch(channelPointList); + //2.区域管理人 + this.initSetupByPointId(0L); + } + + @Override + public void initSetupByPointId(Long pointId) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.isNotNull(BmsChannelPoint::getSaleRegionId).or().isNotNull(BmsChannelPoint::getBizRegionId); + lqw.ge(BmsChannelPoint::getId,pointId); + lqw.select(BmsChannelPoint::getId,BmsChannelPoint::getSaleRegionPathIds,BmsChannelPoint::getBizRegionPathIds); + List channelPoints = channelPointMapper.selectList(lqw); + for (BmsChannelPoint channelPoint : channelPoints) { + this.flushPoint(channelPoint.getId(),channelPoint.getSaleRegionPathIds(),channelPoint.getBizRegionPathIds()); + log.debug("channelPoint finished pointId:{}",channelPoint.getId()); + } + } + /** * 基础的更新区域 * @param sourceType @@ -162,7 +195,7 @@ public class HisUserChannelPointServiceImpl extends ServiceImpl - FROM ( SELECT mu.target_id target_id FROM `bms_master_user` mu WHERE mu.type = 'point' AND del_flag = 0 AND user_id = #{query.userId} AND tenant_id = #{query.tenantId} ) pmu + FROM ( SELECT DISTINCT mu.point_id target_id FROM `his_user_channel_point` mu WHERE del_flag = 0 AND user_id = #{query.userId} AND tenant_id = #{query.tenantId} ) pmu LEFT JOIN `bms_channel_point` `bms_channel_point` ON `bms_channel_point`.id = pmu.target_id and `bms_channel_point`.`del_flag` = 0 @@ -143,4 +143,5 @@ bms_channel_point.id + diff --git a/src/main/resources/mapper/bms/BmsMasterUserMapper.xml b/src/main/resources/mapper/bms/BmsMasterUserMapper.xml index 89b4535f..5fe8aa46 100644 --- a/src/main/resources/mapper/bms/BmsMasterUserMapper.xml +++ b/src/main/resources/mapper/bms/BmsMasterUserMapper.xml @@ -103,34 +103,6 @@ -