Browse Source

调整

contract
Yen 2 years ago
parent
commit
c7721ecb5f
  1. 5
      src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java
  2. 10
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java
  3. 57
      src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelMyController.java
  4. 47
      src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java
  5. 5
      src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelMapper.java
  6. 4
      src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java
  7. 3
      src/main/java/com/qs/serve/modules/bms/service/BmsChannelPointService.java
  8. 3
      src/main/java/com/qs/serve/modules/bms/service/BmsChannelService.java
  9. 2
      src/main/java/com/qs/serve/modules/bms/service/BmsMasterUserService.java
  10. 5
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java
  11. 7
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelServiceImpl.java
  12. 21
      src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java
  13. 7
      src/main/java/com/qs/serve/modules/qms/controller/QmsGroupController.java
  14. 8
      src/main/java/com/qs/serve/modules/qms/entity/QmsGroup.java
  15. 9
      src/main/java/com/qs/serve/modules/qms/entity/bo/QmsGroupBo.java
  16. 4
      src/main/java/com/qs/serve/modules/qms/mapper/QmsGroupMapper.java
  17. 6
      src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java
  18. 1
      src/main/java/com/qs/serve/modules/sys/service/SysUserService.java
  19. 7
      src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java
  20. 22
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityPayConditionController.java
  21. 8
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityPayCondition.java
  22. 25
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityPayConditionBo.java
  23. 6
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityPayConditionMapper.java
  24. 2
      src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java
  25. 4
      src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java
  26. 3
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java
  27. 149
      src/main/java/com/qs/serve/modules/wx/controller/WxFormPushController.java
  28. 8
      src/main/java/com/qs/serve/modules/wx/controller/WxFormPushTypeController.java
  29. 6
      src/main/java/com/qs/serve/modules/wx/controller/my/WxFormPushMyController.java
  30. 23
      src/main/java/com/qs/serve/modules/wx/entity/WxFormPush.java
  31. 3
      src/main/java/com/qs/serve/modules/wx/entity/WxFormPushUser.java
  32. 15
      src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushBo.java
  33. 3
      src/main/java/com/qs/serve/modules/wx/entity/so/WxFormPushUserSo.java
  34. 4
      src/main/java/com/qs/serve/modules/wx/mapper/WxFormPushMapper.java
  35. 65
      src/main/resources/mapper/bms/BmsChannelMapper.xml
  36. 55
      src/main/resources/mapper/bms/BmsChannelPointMapper.xml
  37. 1
      src/main/resources/mapper/bms/BmsSupplierMapper.xml
  38. 6
      src/main/resources/mapper/wx/WxFormPushMapper.xml

5
src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java

@ -36,6 +36,7 @@ import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.bms.entity.BmsChannelPoint; import com.qs.serve.modules.bms.entity.BmsChannelPoint;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -68,10 +69,8 @@ public class BmsChannelPointController {
@GetMapping("/page4Visit") @GetMapping("/page4Visit")
public R<PageVo<BmsUserPoint4VisitVo>> getPage4Visit(BmsPointVisitSo param){ public R<PageVo<BmsUserPoint4VisitVo>> getPage4Visit(BmsPointVisitSo param){
String sysUserId = AuthContextUtils.getSysUserId(); String sysUserId = AuthContextUtils.getSysUserId();
param.setUserId(sysUserId);
param.setTenantId(AuthContextUtils.getTenant());
PageUtil.startPage(); PageUtil.startPage();
List<BmsUserPoint4VisitVo> list = channelPointMapper.selectUserPointList4Visit(param); List<BmsUserPoint4VisitVo> list = channelPointMapper.selectUserPointList4Visit(param, Arrays.asList(sysUserId));
for (BmsUserPoint4VisitVo visitVo : list) { for (BmsUserPoint4VisitVo visitVo : list) {
LambdaQueryWrapper<BazVisitInfo> visitInfoLqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BazVisitInfo> visitInfoLqw = new LambdaQueryWrapper<>();
visitInfoLqw.eq(BazVisitInfo::getTargetType, BazTargetTypeConsts.POINT); visitInfoLqw.eq(BazVisitInfo::getTargetType, BazTargetTypeConsts.POINT);

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

@ -272,6 +272,16 @@ public class BmsSupplierController {
BmsSupplier supplier1 = new BmsSupplier(); BmsSupplier supplier1 = new BmsSupplier();
supplier1.setId(supplier.getId()); supplier1.setId(supplier.getId());
supplier1.setOtherUserIds(otherUserIds.toArray(new String[otherUserIds.size()])); supplier1.setOtherUserIds(otherUserIds.toArray(new String[otherUserIds.size()]));
if(otherUserIds.size()<1){
supplier1.setOtherUserNames("");
supplier1.setOtherUserCodes("");
}else {
List<SysUser> sysUsers = sysUserService.listByIds(otherUserIds);
String names = sysUsers.stream().map(SysUser::getName).collect(Collectors.joining(","));
String codes = sysUsers.stream().map(SysUser::getCode).collect(Collectors.joining(","));
supplier1.setOtherUserNames(names);
supplier1.setOtherUserCodes(codes);
}
bmsSupplierService.updateById(supplier1); bmsSupplierService.updateById(supplier1);
} }
initSupplierOtherInfo(Arrays.asList(supplier.getId())); initSupplierOtherInfo(Arrays.asList(supplier.getId()));

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

@ -32,6 +32,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -57,20 +58,22 @@ public class BmsChannelMyController {
*/ */
@GetMapping("/page") @GetMapping("/page")
public R<PageVo<BmsChannel>> getPage(BmsChannel param){ public R<PageVo<BmsChannel>> getPage(BmsChannel param){
LambdaQueryWrapper<BmsMasterUser> lqw = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<BmsMasterUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsMasterUser::getUserId, AuthContextUtils.getSysUserId()); // lqw.eq(BmsMasterUser::getUserId, AuthContextUtils.getSysUserId());
lqw.eq(BmsMasterUser::getType,MasterUserType.Channel); // lqw.eq(BmsMasterUser::getType,MasterUserType.Channel);
lqw.select(BmsMasterUser::getTargetId); // lqw.select(BmsMasterUser::getTargetId);
List<BmsMasterUser> masterUsers = bmsMasterUserService.list(lqw); // List<BmsMasterUser> masterUsers = bmsMasterUserService.list(lqw);
List<String> targetIds = masterUsers.stream().map(BmsMasterUser::getTargetId).distinct().collect(Collectors.toList()); // List<String> targetIds = masterUsers.stream().map(BmsMasterUser::getTargetId).distinct().collect(Collectors.toList());
if(CollectionUtil.isEmpty(targetIds)){ // if(CollectionUtil.isEmpty(targetIds)){
return R.byEmptyList(); // 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);
PageUtil.startPage(); PageUtil.startPage();
LambdaQueryWrapper<BmsChannel> channelWrapper = new LambdaQueryWrapper<>(param); List<BmsChannel> list = bmsChannelService.selectChannelList(param, Arrays.asList(AuthContextUtils.getSysUserId()));
channelWrapper.orderByDesc(BmsChannel::getCreateTime);
channelWrapper.in(BmsChannel::getId,targetIds);
List<BmsChannel> list = bmsChannelService.list(channelWrapper);
return R.byPageHelperList(list); return R.byPageHelperList(list);
} }
@ -87,20 +90,22 @@ public class BmsChannelMyController {
if(CollectionUtil.isEmpty(userIds)){ if(CollectionUtil.isEmpty(userIds)){
return R.byEmptyList(); return R.byEmptyList();
} }
LambdaQueryWrapper<BmsMasterUser> lqw = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<BmsMasterUser> lqw = new LambdaQueryWrapper<>();
lqw.in(BmsMasterUser::getUserId, userIds); // lqw.in(BmsMasterUser::getUserId, userIds);
lqw.eq(BmsMasterUser::getType,MasterUserType.Channel); // lqw.eq(BmsMasterUser::getType,MasterUserType.Channel);
lqw.select(BmsMasterUser::getTargetId); // lqw.select(BmsMasterUser::getTargetId);
List<BmsMasterUser> masterUsers = bmsMasterUserService.list(lqw); // List<BmsMasterUser> masterUsers = bmsMasterUserService.list(lqw);
List<String> targetIds = masterUsers.stream().map(BmsMasterUser::getTargetId).distinct().collect(Collectors.toList()); // List<String> targetIds = masterUsers.stream().map(BmsMasterUser::getTargetId).distinct().collect(Collectors.toList());
if(CollectionUtil.isEmpty(targetIds)){ // if(CollectionUtil.isEmpty(targetIds)){
return R.byEmptyList(); // 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);
PageUtil.startPage(); PageUtil.startPage();
LambdaQueryWrapper<BmsChannel> channelWrapper = new LambdaQueryWrapper<>(param); List<BmsChannel> list = bmsChannelService.selectChannelList(param, userIds);
channelWrapper.orderByDesc(BmsChannel::getCreateTime);
channelWrapper.in(BmsChannel::getId,targetIds);
List<BmsChannel> list = bmsChannelService.list(channelWrapper);
return R.byPageHelperList(list); return R.byPageHelperList(list);
} }

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

@ -10,19 +10,14 @@ import com.qs.serve.common.util.*;
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;
import com.qs.serve.modules.bms.entity.BmsChannelPoint; import com.qs.serve.modules.bms.common.MasterUserType;
import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.*;
import com.qs.serve.modules.bms.entity.BmsRegion2;
import com.qs.serve.modules.bms.entity.BmsRegionUser;
import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo; import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo;
import com.qs.serve.modules.bms.entity.bo.BmsChannelPointMapInfoBo; import com.qs.serve.modules.bms.entity.bo.BmsChannelPointMapInfoBo;
import com.qs.serve.modules.bms.entity.so.BmsPointVisitSo; import com.qs.serve.modules.bms.entity.so.BmsPointVisitSo;
import com.qs.serve.modules.bms.entity.vo.BmsUserPoint4VisitVo; import com.qs.serve.modules.bms.entity.vo.BmsUserPoint4VisitVo;
import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper; import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper;
import com.qs.serve.modules.bms.service.BmsChannelPointService; import com.qs.serve.modules.bms.service.*;
import com.qs.serve.modules.bms.service.BmsRegion2Service;
import com.qs.serve.modules.bms.service.BmsRegionService;
import com.qs.serve.modules.bms.service.BmsRegionUserService;
import com.qs.serve.modules.his.service.HisUserChannelPointService; import com.qs.serve.modules.his.service.HisUserChannelPointService;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysPostUserService; import com.qs.serve.modules.sys.service.SysPostUserService;
@ -36,6 +31,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -60,6 +56,7 @@ public class BmsChannelPointMyController {
private SysUserService sysUserService; private SysUserService sysUserService;
private BmsRegionUserService bmsRegionUserService; private BmsRegionUserService bmsRegionUserService;
private SysPostUserService postUserService; private SysPostUserService postUserService;
private BmsMasterUserService bmsMasterUserService;
/** /**
@ -70,7 +67,7 @@ public class BmsChannelPointMyController {
@GetMapping("/page") @GetMapping("/page")
public R<PageVo<BmsChannelPoint>> getPage(BmsChannelPoint param){ public R<PageVo<BmsChannelPoint>> getPage(BmsChannelPoint param){
PageUtil.startPage(); PageUtil.startPage();
param.setUserId(AuthContextUtils.getSysUserId()); /*param.setUserId(AuthContextUtils.getSysUserId());
param.setTenantId(AuthContextUtils.getTenant()); param.setTenantId(AuthContextUtils.getTenant());
List<BmsChannelPoint> list = bmsChannelPointService.selectChannelPointMyList(param); List<BmsChannelPoint> list = bmsChannelPointService.selectChannelPointMyList(param);
for (BmsChannelPoint channelPoint : list) { for (BmsChannelPoint channelPoint : list) {
@ -86,7 +83,8 @@ public class BmsChannelPointMyController {
channelPoint.setSaleRegionName(regions[regions.length-1]); channelPoint.setSaleRegionName(regions[regions.length-1]);
} }
} }
} }*/
List<BmsChannelPoint> list = bmsChannelPointService.selectChannelPointMyList(param, Arrays.asList(AuthContextUtils.getSysUserId()));
return R.byPageHelperList(list); return R.byPageHelperList(list);
} }
@ -101,19 +99,22 @@ public class BmsChannelPointMyController {
public R<PageVo<BmsChannelPoint>> getPage4Under(BmsChannelPoint param){ public R<PageVo<BmsChannelPoint>> getPage4Under(BmsChannelPoint param){
String loginUserId = AuthContextUtils.getSysUserId(); String loginUserId = AuthContextUtils.getSysUserId();
List<String> userIds = postUserService.listByChildIds(loginUserId); List<String> userIds = postUserService.listByChildIds(loginUserId);
param.setUserIdList(userIds); //旧版本加载方式
LambdaQueryWrapper<BmsRegionUser> rulqw = new LambdaQueryWrapper<>(); // param.setUserIdList(userIds);
rulqw.select(BmsRegionUser::getPathIds,BmsRegionUser::getId); // LambdaQueryWrapper<BmsRegionUser> rulqw = new LambdaQueryWrapper<>();
rulqw.eq(BmsRegionUser::getUserId,loginUserId); // rulqw.select(BmsRegionUser::getPathIds,BmsRegionUser::getId);
List<BmsRegionUser> regionUserList = bmsRegionUserService.list(rulqw); // rulqw.eq(BmsRegionUser::getUserId,loginUserId);
if(CollectionUtil.isNotEmpty(regionUserList)){ // List<BmsRegionUser> regionUserList = bmsRegionUserService.list(rulqw);
List<String> regionPaths = regionUserList.stream().map(BmsRegionUser::getPathIds) // if(CollectionUtil.isNotEmpty(regionUserList)){
.filter(StringUtils::hasText).distinct().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(); // }
param.setTenantId(AuthContextUtils.getTenant()); // PageUtil.startPage();
List<BmsChannelPoint> list = bmsChannelPointService.selectChannelPointMyUnderList(param); // param.setTenantId(AuthContextUtils.getTenant());
// List<BmsChannelPoint> list = bmsChannelPointService.selectChannelPointMyUnderList(param);
//新版本加载方式
List<BmsChannelPoint> list = bmsChannelPointService.selectChannelPointMyList(param, userIds);
for (BmsChannelPoint channelPoint : list) { for (BmsChannelPoint channelPoint : list) {
if(StringUtils.hasText(channelPoint.getBizRegionPath())){ if(StringUtils.hasText(channelPoint.getBizRegionPath())){
String[] bizRegions = channelPoint.getBizRegionPath().split("_"); String[] bizRegions = channelPoint.getBizRegionPath().split("_");

5
src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelMapper.java

@ -2,6 +2,9 @@ package com.qs.serve.modules.bms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.bms.entity.BmsChannel; import com.qs.serve.modules.bms.entity.BmsChannel;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 渠道 Mapper * 渠道 Mapper
@ -10,5 +13,7 @@ import com.qs.serve.modules.bms.entity.BmsChannel;
*/ */
public interface BmsChannelMapper extends BaseMapper<BmsChannel> { public interface BmsChannelMapper extends BaseMapper<BmsChannel> {
List<BmsChannel> selectChannelList(@Param("query") BmsChannel channel, @Param("userIds") List<String> userIds);
} }

4
src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java

@ -31,13 +31,15 @@ public interface BmsChannelPointMapper extends BaseMapper<BmsChannelPoint> {
List<BmsChannelPoint> selectChannelPointList(@Param("query") BmsChannelPoint channelPoint); List<BmsChannelPoint> selectChannelPointList(@Param("query") BmsChannelPoint channelPoint);
List<BmsChannelPoint> selectPointByUserIds(@Param("query")BmsChannelPoint channelPoint, @Param("userIds")List<String> userIds);
/** /**
* 直属管理人 * 直属管理人
* @param param * @param param
* @return * @return
*/ */
@InterceptorIgnore(tenantLine = "1") @InterceptorIgnore(tenantLine = "1")
List<BmsUserPoint4VisitVo> selectUserPointList4Visit(@Param("query") BmsPointVisitSo param); List<BmsUserPoint4VisitVo> selectUserPointList4Visit(@Param("query") BmsPointVisitSo param,@Param("userIds")List<String> userIds);
/** /**
* 直属管理人 * 直属管理人

3
src/main/java/com/qs/serve/modules/bms/service/BmsChannelPointService.java

@ -19,8 +19,9 @@ public interface BmsChannelPointService extends IService<BmsChannelPoint> {
List<BmsChannelPoint> selectChannelPointList(BmsChannelPoint channelPoint); List<BmsChannelPoint> selectChannelPointList(BmsChannelPoint channelPoint);
List<BmsChannelPoint> selectChannelPointMyList(BmsChannelPoint channelPoint); List<BmsChannelPoint> selectChannelPointMyList(BmsChannelPoint channelPoint,List<String> userIds);
List<BmsChannelPoint> selectChannelPointMyList(BmsChannelPoint channelPoint);
List<BmsChannelPoint> selectChannelPointMyUnderList(BmsChannelPoint channelPoint); List<BmsChannelPoint> selectChannelPointMyUnderList(BmsChannelPoint channelPoint);
List<BmsChannelPoint> listByBizRegionId(String id); List<BmsChannelPoint> listByBizRegionId(String id);

3
src/main/java/com/qs/serve/modules/bms/service/BmsChannelService.java

@ -2,6 +2,7 @@ package com.qs.serve.modules.bms.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.bms.entity.BmsChannel; import com.qs.serve.modules.bms.entity.BmsChannel;
import java.util.List;
/** /**
* 渠道 服务接口 * 渠道 服务接口
@ -10,5 +11,7 @@ import com.qs.serve.modules.bms.entity.BmsChannel;
*/ */
public interface BmsChannelService extends IService<BmsChannel> { public interface BmsChannelService extends IService<BmsChannel> {
List<BmsChannel> selectChannelList(BmsChannel channel,List<String> userIds);
} }

2
src/main/java/com/qs/serve/modules/bms/service/BmsMasterUserService.java

@ -3,7 +3,7 @@ package com.qs.serve.modules.bms.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
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.entity.BmsRegionUser;
import java.util.List;
/** /**
* 负责人 服务接口 * 负责人 服务接口
* @author YenHex * @author YenHex

5
src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java

@ -112,6 +112,11 @@ public class BmsChannelPointServiceImpl extends ServiceImpl<BmsChannelPointMappe
return baseMapper.selectChannelPointList(channelPoint); return baseMapper.selectChannelPointList(channelPoint);
} }
@Override
public List<BmsChannelPoint> selectChannelPointMyList(BmsChannelPoint channelPoint, List<String> userIds) {
return baseMapper.selectPointByUserIds(channelPoint, userIds);
}
@Override @Override
public List<BmsChannelPoint> selectChannelPointMyList(BmsChannelPoint channelPoint) { public List<BmsChannelPoint> selectChannelPointMyList(BmsChannelPoint channelPoint) {
return baseMapper.selectUserPointList4My(channelPoint); return baseMapper.selectUserPointList4My(channelPoint);

7
src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelServiceImpl.java

@ -8,6 +8,8 @@ import com.qs.serve.modules.bms.entity.BmsChannel;
import com.qs.serve.modules.bms.service.BmsChannelService; import com.qs.serve.modules.bms.service.BmsChannelService;
import com.qs.serve.modules.bms.mapper.BmsChannelMapper; import com.qs.serve.modules.bms.mapper.BmsChannelMapper;
import java.util.List;
/** /**
* 渠道 服务实现类 * 渠道 服务实现类
* @author YenHex * @author YenHex
@ -18,5 +20,10 @@ import com.qs.serve.modules.bms.mapper.BmsChannelMapper;
@AllArgsConstructor @AllArgsConstructor
public class BmsChannelServiceImpl extends ServiceImpl<BmsChannelMapper,BmsChannel> implements BmsChannelService { public class BmsChannelServiceImpl extends ServiceImpl<BmsChannelMapper,BmsChannel> implements BmsChannelService {
@Override
public List<BmsChannel> selectChannelList(BmsChannel channel, List<String> userIds) {
return baseMapper.selectChannelList(channel, userIds);
}
} }

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

@ -15,6 +15,7 @@ import com.qs.serve.modules.bms.service.BmsRegion2Service;
import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.bms.service.BmsRegionService;
import com.qs.serve.modules.bms.service.BmsRegionUserService; import com.qs.serve.modules.bms.service.BmsRegionUserService;
import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.sys.service.SysPostUserService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -39,6 +40,7 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe
private BmsRegionService saleRegionService; private BmsRegionService saleRegionService;
private BmsRegion2Service bizRegionService; private BmsRegion2Service bizRegionService;
private BmsRegionUserService regionUserService; private BmsRegionUserService regionUserService;
private SysPostUserService sysPostUserService;
@Override @Override
public List<HisUserSupplier> selectSupplier(BmsSupplier param, boolean usePage) { public List<HisUserSupplier> selectSupplier(BmsSupplier param, boolean usePage) {
@ -83,6 +85,10 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe
public boolean initByUserId(String userId,boolean hasCheck) { public boolean initByUserId(String userId,boolean hasCheck) {
if(!hasCheck){ if(!hasCheck){
boolean checkInit = this.checkInit(userId); boolean checkInit = this.checkInit(userId);
List<String> childUserList = sysPostUserService.listByChildIds(userId);
for (String childUserId : childUserList) {
this.initByUserId(childUserId,false);
}
if(checkInit){ if(checkInit){
return true; return true;
} }
@ -141,11 +147,20 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe
if(regionIds.size()>0){ if(regionIds.size()>0){
LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>();
if(level.equals(1)){ if(level.equals(1)){
lqw.in(BmsSupplier::getRegionFirst,regionIds); lqw.and(
aa->aa.in(BmsSupplier::getRegionFirst,regionIds)
.or().in(BmsSupplier::getRegion2First,regionIds)
);
}else if(level.equals(2)){ }else if(level.equals(2)){
lqw.in(BmsSupplier::getRegionSecond,regionIds); lqw.and(
aa->aa.in(BmsSupplier::getRegionSecond,regionIds)
.or().in(BmsSupplier::getRegion2Second,regionIds)
);
}else if(level.equals(3)){ }else if(level.equals(3)){
lqw.in(BmsSupplier::getRegionThird,regionIds); lqw.and(
aa->aa.in(BmsSupplier::getRegionThird,regionIds)
.or().in(BmsSupplier::getRegion2Third,regionIds)
);
} }
List<BmsSupplier> supplierList = bmsSupplierService.list(lqw); List<BmsSupplier> supplierList = bmsSupplierService.list(lqw);
for (BmsSupplier supplier : supplierList) { for (BmsSupplier supplier : supplierList) {

7
src/main/java/com/qs/serve/modules/qms/controller/QmsGroupController.java

@ -13,6 +13,7 @@ import com.qs.serve.modules.qms.entity.QmsForm;
import com.qs.serve.modules.qms.entity.QmsGroupScope; import com.qs.serve.modules.qms.entity.QmsGroupScope;
import com.qs.serve.modules.qms.entity.bo.QmsGroupBo; import com.qs.serve.modules.qms.entity.bo.QmsGroupBo;
import com.qs.serve.modules.qms.entity.bo.QmsHastenBo; import com.qs.serve.modules.qms.entity.bo.QmsHastenBo;
import com.qs.serve.modules.qms.mapper.QmsGroupMapper;
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.sys.entity.SysDept; import com.qs.serve.modules.sys.entity.SysDept;
@ -48,6 +49,7 @@ import java.util.stream.Collectors;
@RequestMapping("qms/group") @RequestMapping("qms/group")
public class QmsGroupController { public class QmsGroupController {
private QmsGroupMapper qmsGroupMapper;
private QmsGroupService qmsGroupService; private QmsGroupService qmsGroupService;
private QmsFormService qmsFormService; private QmsFormService qmsFormService;
private QmsGroupScopeService qmsGroupScopeService; private QmsGroupScopeService qmsGroupScopeService;
@ -123,7 +125,11 @@ public class QmsGroupController {
QmsForm qmsForm = qmsFormService.getById(qmsGroup.getFormId()); QmsForm qmsForm = qmsFormService.getById(qmsGroup.getFormId());
qmsGroup.setFormContext(qmsForm.getFormContext()); qmsGroup.setFormContext(qmsForm.getFormContext());
qmsGroup.setVersion(qmsForm.getVersion()); qmsGroup.setVersion(qmsForm.getVersion());
qmsGroup.setPreNotifyStatus(param.getPreNotifyTime()==null?0:1);
qmsGroupService.updateById(qmsGroup); qmsGroupService.updateById(qmsGroup);
if(param.getPreNotifyTime()==null){
qmsGroupMapper.updateSetNotifyTimeNull(param.getId()+"");
}
qmsGroupScopeService.removeByGroupId(qmsGroup.getId()); qmsGroupScopeService.removeByGroupId(qmsGroup.getId());
qmsGroupScopeService.saveByBo(qmsGroup.getId(),param); qmsGroupScopeService.saveByBo(qmsGroup.getId(),param);
return R.ok(); return R.ok();
@ -245,6 +251,7 @@ public class QmsGroupController {
qmsGroup.setFormContext(qmsForm.getFormContext()); qmsGroup.setFormContext(qmsForm.getFormContext());
qmsGroup.setVersion(qmsForm.getVersion()); qmsGroup.setVersion(qmsForm.getVersion());
qmsGroup.setPublishState(0); qmsGroup.setPublishState(0);
qmsGroup.setPreNotifyStatus(param.getPreNotifyTime()==null?0:1);
qmsGroupService.save(qmsGroup); qmsGroupService.save(qmsGroup);
qmsGroupScopeService.saveByBo(qmsGroup.getId(),param); qmsGroupScopeService.saveByBo(qmsGroup.getId(),param);
return R.ok(); return R.ok();

8
src/main/java/com/qs/serve/modules/qms/entity/QmsGroup.java

@ -77,6 +77,14 @@ public class QmsGroup implements Serializable {
private Integer version; private Integer version;
/** 预通知标识:0->无通知;1->未通知;2->已通知 */
private Integer preNotifyStatus;
/** 预通知时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime preNotifyTime;
/** 使用范围值 */ /** 使用范围值 */
//@TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) //@TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR)
//private String[] scopeValue; //private String[] scopeValue;

9
src/main/java/com/qs/serve/modules/qms/entity/bo/QmsGroupBo.java

@ -1,9 +1,12 @@
package com.qs.serve.modules.qms.entity.bo; package com.qs.serve.modules.qms.entity.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/** /**
* @author YenHex * @author YenHex
@ -39,4 +42,10 @@ public class QmsGroupBo {
* 最少提交人数,0表示不限制 * 最少提交人数,0表示不限制
*/ */
private Integer limitSubmit; private Integer limitSubmit;
/** 预通知时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime preNotifyTime;
} }

4
src/main/java/com/qs/serve/modules/qms/mapper/QmsGroupMapper.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.qms.entity.QmsGroup; import com.qs.serve.modules.qms.entity.QmsGroup;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
@ -22,5 +23,8 @@ public interface QmsGroupMapper extends BaseMapper<QmsGroup> {
*/ */
List<QmsGroup> listByUserIdOrDeptId(@Param("userId")String userId,@Param("deptId")String deptId); List<QmsGroup> listByUserIdOrDeptId(@Param("userId")String userId,@Param("deptId")String deptId);
@Update("update `qms_group` set pre_notify_time = null where id = #{id}")
void updateSetNotifyTimeNull(@Param("id")String id);
} }

6
src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java

@ -465,9 +465,9 @@ public class SysUserController {
@PreAuthorize("hasRole('sys:user:reset')") @PreAuthorize("hasRole('sys:user:reset')")
public R<?> resetPwd(@PathVariable("uid") String uid){ public R<?> resetPwd(@PathVariable("uid") String uid){
SysUser sysUser = sysUserService.getById(uid); SysUser sysUser = sysUserService.getById(uid);
if(sysUser.getSuperFlag().equals(1)){ // if(sysUser.getSuperFlag().equals(1)){
Assert.throwEx("最高级管理员不可重置密码"); // Assert.throwEx("最高级管理员不可重置密码");
} // }
SysUser sysUser1 = new SysUser(); SysUser sysUser1 = new SysUser();
sysUser1.setId(uid); sysUser1.setId(uid);
sysUser1.setPassword(SecureUtil.md5(GySysConst.DEFAULT_PASSWORD)); sysUser1.setPassword(SecureUtil.md5(GySysConst.DEFAULT_PASSWORD));

1
src/main/java/com/qs/serve/modules/sys/service/SysUserService.java

@ -42,6 +42,7 @@ public interface SysUserService extends IService<SysUser> {
LoginUser buildLoginUser(SysUser sysUser); LoginUser buildLoginUser(SysUser sysUser);
List<SysUser> listByOaMemberIds(List<String> memberIds); List<SysUser> listByOaMemberIds(List<String> memberIds);
List<SysUser> listByCodes(List<String> codes);
SysUser listByOaMemberId(String memberId); SysUser listByOaMemberId(String memberId);

7
src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java

@ -180,6 +180,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return this.list(lqw); return this.list(lqw);
} }
@Override
public List<SysUser> listByCodes(List<String> codes) {
LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper<>();
lqw.in(SysUser::getCode,codes);
return this.list(lqw);
}
@Override @Override
public SysUser listByOaMemberId(String memberId) { public SysUser listByOaMemberId(String memberId) {
LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper<>();

22
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityPayConditionController.java

@ -6,11 +6,16 @@ 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.Assert;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.StringUtils; import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.tbs.common.TbsCostApplyState;
import com.qs.serve.modules.tbs.entity.TbsActivity; import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.mapper.TbsActivityPayConditionMapper;
import com.qs.serve.modules.tbs.service.TbsActivityService; import com.qs.serve.modules.tbs.service.TbsActivityService;
import com.qs.serve.modules.tbs.service.TbsCostApplyService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@ -35,8 +40,10 @@ import java.util.List;
@RequestMapping("tbs/activityPayCondition") @RequestMapping("tbs/activityPayCondition")
public class TbsActivityPayConditionController { public class TbsActivityPayConditionController {
private TbsActivityPayConditionMapper tbsActivityPayConditionMapper;
private TbsActivityPayConditionService tbsActivityPayConditionService; private TbsActivityPayConditionService tbsActivityPayConditionService;
private TbsActivityService tbsActivityService; private TbsActivityService tbsActivityService;
private final TbsCostApplyService costApplyService;
/** /**
* 列表 * 列表
@ -87,7 +94,16 @@ public class TbsActivityPayConditionController {
@PostMapping("/updateById") @PostMapping("/updateById")
@SysLog(module = SystemModule.Budget, title = "活动支付条件", biz = BizType.UPDATE) @SysLog(module = SystemModule.Budget, title = "活动支付条件", biz = BizType.UPDATE)
public R<?> updateById(@RequestBody @Valid TbsActivityPayConditionBo param){ public R<?> updateById(@RequestBody @Valid TbsActivityPayConditionBo param){
TbsCostApply costApply = costApplyService.getById(param.getCostApplyId());
if(!costApply.getChargeState().equals(TbsCostApplyState.State_0_unPublish.getCode())
&&!costApply.getChargeState().equals(TbsCostApplyState.State_4_refused.getCode())){
Assert.throwEx("因费用状态不支持编辑!!");
}
TbsActivityPayCondition entity = CopierUtil.copy(param,new TbsActivityPayCondition()); TbsActivityPayCondition entity = CopierUtil.copy(param,new TbsActivityPayCondition());
entity.setPreNotifyStatus(param.getPreNotifyTime()==null?0:1);
if(param.getPreNotifyTime()==null){
tbsActivityPayConditionMapper.updateSetNotifyTimeNull(entity.getId()+"");
}
entity.setCostApplyId(null); entity.setCostApplyId(null);
boolean result = tbsActivityPayConditionService.updateById(entity); boolean result = tbsActivityPayConditionService.updateById(entity);
return R.isTrue(result); return R.isTrue(result);
@ -101,10 +117,16 @@ public class TbsActivityPayConditionController {
@PostMapping("/save") @PostMapping("/save")
@SysLog(module = SystemModule.Budget, title = "活动支付条件", biz = BizType.INSERT) @SysLog(module = SystemModule.Budget, title = "活动支付条件", biz = BizType.INSERT)
public R<?> save(@RequestBody @Valid TbsActivityPayConditionBo param){ public R<?> save(@RequestBody @Valid TbsActivityPayConditionBo param){
TbsCostApply costApply = costApplyService.getById(param.getCostApplyId());
if(!costApply.getChargeState().equals(TbsCostApplyState.State_0_unPublish.getCode())
&&!costApply.getChargeState().equals(TbsCostApplyState.State_4_refused.getCode())){
Assert.throwEx("因费用状态不支持编辑!!");
}
TbsActivityPayCondition entity = CopierUtil.copy(param,new TbsActivityPayCondition()); TbsActivityPayCondition entity = CopierUtil.copy(param,new TbsActivityPayCondition());
List<TbsActivity> activityList = tbsActivityService.listByCostApplyId(param.getCostApplyId()); List<TbsActivity> activityList = tbsActivityService.listByCostApplyId(param.getCostApplyId());
Long actId = activityList.get(0).getId(); Long actId = activityList.get(0).getId();
entity.setActivityId(actId); entity.setActivityId(actId);
entity.setPreNotifyStatus(param.getPreNotifyTime()==null?0:1);
boolean result = tbsActivityPayConditionService.save(entity); boolean result = tbsActivityPayConditionService.save(entity);
return R.isTrue(result); return R.isTrue(result);
} }

8
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityPayCondition.java

@ -52,6 +52,14 @@ public class TbsActivityPayCondition implements Serializable {
@NotNull(message = "付款金额不能为空") @NotNull(message = "付款金额不能为空")
private BigDecimal paymentPrice; private BigDecimal paymentPrice;
/** 预通知标识:0->无通知;1->未通知;2->已通知 */
private Integer preNotifyStatus;
/** 预通知时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime preNotifyTime;
/** 付款时间 */ /** 付款时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")

25
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityPayConditionBo.java

@ -55,29 +55,10 @@ public class TbsActivityPayConditionBo implements Serializable {
@Length(max = 255,message = "备注长度不能超过255字") @Length(max = 255,message = "备注长度不能超过255字")
private String remark; private String remark;
/** 创建时间 */ /** 预支付通知时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime preNotifyTime;
/** 更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
/** 创建人 */
private String createBy;
/** 更新人 */
private String updateBy;
/** 租户id */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 删除标识 */
@JsonIgnore
@JsonProperty
private Boolean delFlag;
} }

6
src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityPayConditionMapper.java

@ -2,6 +2,8 @@ package com.qs.serve.modules.tbs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.tbs.entity.TbsActivityPayCondition; import com.qs.serve.modules.tbs.entity.TbsActivityPayCondition;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/** /**
* 活动支付条件 Mapper * 活动支付条件 Mapper
@ -10,5 +12,9 @@ import com.qs.serve.modules.tbs.entity.TbsActivityPayCondition;
*/ */
public interface TbsActivityPayConditionMapper extends BaseMapper<TbsActivityPayCondition> { public interface TbsActivityPayConditionMapper extends BaseMapper<TbsActivityPayCondition> {
@Update("update `tbs_activity_pay_condition` set pre_notify_time = null where id = #{id}")
void updateSetNotifyTimeNull(@Param("id")String id);
} }

2
src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java

@ -230,7 +230,7 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ
budgetLogService.saveBatch(budgetLogList); budgetLogService.saveBatch(budgetLogList);
} }
//创建流程后回调 //创建流程后回调
BaseCreateCallbackBo callbackBo = new BaseCreateCallbackBo(TbsSeeYonConst.PolicyConf.Code(),formId); BaseCreateCallbackBo callbackBo = new BaseCreateCallbackBo(TbsSeeYonConst.PolicyConf.Code(),tzcPolicy.getId()+"");
seeYonService.createCallbackStatus(callbackBo); seeYonService.createCallbackStatus(callbackBo);
} }

4
src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java

@ -216,10 +216,12 @@ public class VtbVerificationApplication {
vtbVerificationSubjectService.updateBatchById(verSubject4Update); vtbVerificationSubjectService.updateBatchById(verSubject4Update);
//重新计算合计 //重新计算合计
if(isFinish){ if(isFinish){
if(verification.getPayConditionId()!=null){
//支付条件完成 //支付条件完成
TbsActivityPayCondition payCondition = activityPayConditionService.getById(verification.getPayConditionId()); TbsActivityPayCondition payCondition = activityPayConditionService.getById(verification.getPayConditionId());
payCondition.setFinishedFlag(1); payCondition.setFinishedFlag(1);
activityPayConditionService.updateById(payCondition); activityPayConditionService.updateById(payCondition);
}
//更新金额,已完成 //更新金额,已完成
VtbVerification vtbVer = new VtbVerification(); VtbVerification vtbVer = new VtbVerification();
vtbVer.setId(verification.getId()); vtbVer.setId(verification.getId());
@ -259,9 +261,11 @@ public class VtbVerificationApplication {
vtbVerificationService.updateById(vtbVer); vtbVerificationService.updateById(vtbVer);
} }
//还原支付条件 //还原支付条件
if(verification.getPayConditionId()!=null){
TbsActivityPayCondition payCondition = activityPayConditionService.getById(verification.getPayConditionId()); TbsActivityPayCondition payCondition = activityPayConditionService.getById(verification.getPayConditionId());
payCondition.setFinishedFlag(0); payCondition.setFinishedFlag(0);
activityPayConditionService.updateById(payCondition); activityPayConditionService.updateById(payCondition);
}
//还原活动为待核销状态 //还原活动为待核销状态
TbsActivity activity = new TbsActivity(); TbsActivity activity = new TbsActivity();
activity.setId(verification.getActivityId()); activity.setId(verification.getActivityId());

3
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -335,6 +335,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
data.put("targetId",verification.getId()); data.put("targetId",verification.getId());
data.put("targetCode",verification.getVerificationCode()); data.put("targetCode",verification.getVerificationCode());
data.put("exsp1",TbsSeeYonConst.CostCheckConf.Code()); data.put("exsp1",TbsSeeYonConst.CostCheckConf.Code());
data.put("jinE",verification.getAmount().toString());
BaseCreateProcessBo createProcess = new BaseCreateProcessBo(); BaseCreateProcessBo createProcess = new BaseCreateProcessBo();
createProcess.setTemplateCode(TbsSeeYonConst.CostCheckConf.Code()); createProcess.setTemplateCode(TbsSeeYonConst.CostCheckConf.Code());
createProcess.setMemberLoginName(sysUser.getSyAccount()); createProcess.setMemberLoginName(sysUser.getSyAccount());
@ -353,7 +354,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
verification.setSyFlowId(flowId); verification.setSyFlowId(flowId);
verification.setSyFormId(formId); verification.setSyFormId(formId);
//创建流程后回调 //创建流程后回调
BaseCreateCallbackBo callbackBo = new BaseCreateCallbackBo(TbsSeeYonConst.CostCheckConf.Code(),formId); BaseCreateCallbackBo callbackBo = new BaseCreateCallbackBo(TbsSeeYonConst.CostCheckConf.Code(),verification.getId()+"");
seeYonService.createCallbackStatus(callbackBo); seeYonService.createCallbackStatus(callbackBo);
} }

149
src/main/java/com/qs/serve/modules/wx/controller/WxFormPushController.java

@ -11,10 +11,13 @@ import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.StringUtils; import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.sys.entity.SysAttach; import com.qs.serve.modules.sys.entity.SysAttach;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysAttachService; import com.qs.serve.modules.sys.service.SysAttachService;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.wx.entity.*; import com.qs.serve.modules.wx.entity.*;
import com.qs.serve.modules.wx.entity.dto.sms.WxSmsNewForm; import com.qs.serve.modules.wx.entity.dto.sms.WxSmsNewForm;
import com.qs.serve.modules.wx.entity.vo.WxPushResultVo; import com.qs.serve.modules.wx.entity.vo.WxPushResultVo;
import com.qs.serve.modules.wx.mapper.WxFormPushMapper;
import com.qs.serve.modules.wx.service.*; import com.qs.serve.modules.wx.service.*;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -40,6 +43,7 @@ import java.util.stream.Collectors;
@RequestMapping("wx/formPush") @RequestMapping("wx/formPush")
public class WxFormPushController { public class WxFormPushController {
private WxFormPushMapper wxFormPushMapper;
private WxFormPushService wxFormPushService; private WxFormPushService wxFormPushService;
private WxFormPushUserService wxFormPushUserService; private WxFormPushUserService wxFormPushUserService;
private WxFormPushTypeService wxFormPushTypeService; private WxFormPushTypeService wxFormPushTypeService;
@ -47,22 +51,9 @@ public class WxFormPushController {
private WxPushService wxPushService; private WxPushService wxPushService;
private WxAppService wxAppService; private WxAppService wxAppService;
private SysAttachService attachService; private SysAttachService attachService;
private SysUserService sysUserService;
/**
* 列表
* @param param
* @return
*/
//@GetMapping("/list")
// @PreAuthorize("hasRole('wx:formPush:query')")
public R<List<WxFormPush>> getList(WxFormPush param){
LambdaQueryWrapper<WxFormPush> lqw = new LambdaQueryWrapper<>(param);
PageUtil.startPage();
List<WxFormPush> list = wxFormPushService.list(lqw);
return R.ok(list);
}
/** /**
* 翻页 * 翻页
* @param param * @param param
@ -89,6 +80,13 @@ public class WxFormPushController {
LambdaQueryWrapper<WxFormPushUser> userlqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<WxFormPushUser> userlqw = new LambdaQueryWrapper<>();
userlqw.eq(WxFormPushUser::getFormPushId,wxFormPush.getId()); userlqw.eq(WxFormPushUser::getFormPushId,wxFormPush.getId());
List<WxFormPushUser> list = wxFormPushUserService.list(userlqw); List<WxFormPushUser> list = wxFormPushUserService.list(userlqw);
wxFormPush.setShowCompensateButton(0);
for (WxFormPushUser pushUser : list) {
if(pushUser.getPushStatus().equals(0)){
wxFormPush.setShowCompensateButton(1);
break;
}
}
wxFormPush.setWxFormPushUserList(list); wxFormPush.setWxFormPushUserList(list);
if(CollectionUtil.isNotEmpty(wxFormPush.getAttachIds())){ if(CollectionUtil.isNotEmpty(wxFormPush.getAttachIds())){
List<String> attachIds = Arrays.asList(wxFormPush.getAttachIds()); List<String> attachIds = Arrays.asList(wxFormPush.getAttachIds());
@ -100,20 +98,6 @@ public class WxFormPushController {
/**
* 更新
* @param param
* @return
*/
// @PostMapping("/updateById")
@SysLog(module = SystemModule.Verification, title = "表单推送", biz = BizType.UPDATE)
// @PreAuthorize("hasRole('wx:formPush:update')")
public R<?> updateById(@RequestBody @Valid WxFormPushBo param){
WxFormPush entity = CopierUtil.copy(param,new WxFormPush());
boolean result = wxFormPushService.updateById(entity);
return R.isTrue(result);
}
/** /**
* 发布 * 发布
* @param param * @param param
@ -121,7 +105,6 @@ public class WxFormPushController {
*/ */
@PostMapping("/publishById") @PostMapping("/publishById")
@SysLog(module = SystemModule.Verification, title = "表单推送发布", biz = BizType.UPDATE) @SysLog(module = SystemModule.Verification, title = "表单推送发布", biz = BizType.UPDATE)
// @PreAuthorize("hasRole('wx:formPush:update')")
public R<?> publishById(@RequestBody WxFormPushBo param){ public R<?> publishById(@RequestBody WxFormPushBo param){
String id = param.getId(); String id = param.getId();
WxFormPush entity = wxFormPushService.getById(id); WxFormPush entity = wxFormPushService.getById(id);
@ -130,11 +113,10 @@ public class WxFormPushController {
} }
entity.setStatus("1"); entity.setStatus("1");
boolean result = wxFormPushService.updateById(entity); boolean result = wxFormPushService.updateById(entity);
LambdaQueryWrapper<WxFormPushUser> userlqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<WxFormPushUser> userlqw = new LambdaQueryWrapper<>();
userlqw.eq(WxFormPushUser::getFormPushId,entity.getId()); userlqw.eq(WxFormPushUser::getFormPushId,entity.getId());
userlqw.eq(WxFormPushUser::getPushStatus,0);
List<WxFormPushUser> list = wxFormPushUserService.list(userlqw); List<WxFormPushUser> list = wxFormPushUserService.list(userlqw);
List<String> userCodes = list.stream().map(WxFormPushUser::getUserCode).collect(Collectors.toList()); List<String> userCodes = list.stream().map(WxFormPushUser::getUserCode).collect(Collectors.toList());
if(userCodes.size()<1){ if(userCodes.size()<1){
return R.ok(); return R.ok();
@ -162,11 +144,75 @@ public class WxFormPushController {
wxSmsNewForm.setBitTime(LocalDateTime.now().toString().replace("T", " ")); wxSmsNewForm.setBitTime(LocalDateTime.now().toString().replace("T", " "));
wxSmsNewForm.setRemark(entity.getRemark()); wxSmsNewForm.setRemark(entity.getRemark());
wxPushService.sendWxMsg(wxUser, "表单通知", wxSmsNewForm, true, entity.getId()); wxPushService.sendWxMsg(wxUser, "表单通知", wxSmsNewForm, true, entity.getId());
} }
return R.isTrue(result); return R.isTrue(result);
} }
/**
* 补偿通知
* @param param
* @return
*/
@PostMapping("/compensate")
@SysLog(module = SystemModule.Verification, title = "表单推送发布", biz = BizType.UPDATE)
public R<?> compensate(@RequestBody WxFormPushBo param){
String id = param.getId();
List<String> userIds = param.getUserIds();
WxFormPush entity = wxFormPushService.getById(id);
if(entity.getId().equals("0")){
return R.error("未发布");
}
LambdaQueryWrapper<WxFormPushUser> userlqw = new LambdaQueryWrapper<>();
if(StringUtils.hasText(id)){
userlqw.eq(WxFormPushUser::getFormPushId,entity.getId());
}else {
userlqw.in(WxFormPushUser::getUserId,userIds);
}
userlqw.eq(WxFormPushUser::getPushStatus,0);
List<WxFormPushUser> list = wxFormPushUserService.list(userlqw);
userIds = list.stream().map(WxFormPushUser::getUserId).collect(Collectors.toList());
if(userIds.size()<1){
return R.ok();
}
WxApp app = wxAppService.getOne(new LambdaQueryWrapper<>(),false);
LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(WxUser::getAppId,app.getId());
lqw.in(WxUser::getSysUserId,userIds);
List<WxUser> wxUserList = wxUserService.list(lqw);
Set<String> wxUserIdSet = new HashSet<>();
int successCount = 0;
for (WxFormPushUser pushUser : list) {
boolean pushOk = false;
for (WxUser wxUser : wxUserList) {
if (wxUser.getOpenId().equals("0")) {
continue;
}
boolean exist = wxUserIdSet.stream().anyMatch(a->a.equals(wxUser.getOpenId()));
if(exist){
continue;
}else {
wxUserIdSet.add(wxUser.getOpenId());
}
pushOk = true;
WxSmsNewForm wxSmsNewForm = new WxSmsNewForm();
wxSmsNewForm.setTitle(entity.getTitle());
wxSmsNewForm.setUserName(wxUser.getEmpName());
wxSmsNewForm.setBizType(entity.getBusinessType() == null ? "通知" : entity.getBusinessType());
wxSmsNewForm.setBitTime(LocalDateTime.now().toString().replace("T", " "));
wxSmsNewForm.setRemark(entity.getRemark());
wxPushService.sendWxMsg(wxUser, "表单通知", wxSmsNewForm, true, entity.getId());
}
if(pushOk){
successCount++;
WxFormPushUser upd_param = new WxFormPushUser();
upd_param.setId(pushUser.getId());
upd_param.setPushStatus(1);
wxFormPushUserService.updateById(upd_param);
}
}
return R.ok("成功通知数:"+successCount);
}
/** /**
* 撤消 * 撤消
* @param param * @param param
@ -174,46 +220,46 @@ public class WxFormPushController {
*/ */
@PostMapping("/unPublishById") @PostMapping("/unPublishById")
@SysLog(module = SystemModule.Verification, title = "撤消表单推送", biz = BizType.UPDATE) @SysLog(module = SystemModule.Verification, title = "撤消表单推送", biz = BizType.UPDATE)
// @PreAuthorize("hasRole('wx:formPush:update')")
public R<?> unPublishById(@RequestBody WxFormPushBo param){ public R<?> unPublishById(@RequestBody WxFormPushBo param){
String id = param.getId(); String id = param.getId();
WxFormPush entity = wxFormPushService.getById(id); WxFormPush entity = wxFormPushService.getById(id);
entity.setStatus("0"); entity.setStatus("0");
boolean result = wxFormPushService.updateById(entity); boolean result = wxFormPushService.updateById(entity);
LambdaQueryWrapper<WxFormPushUser> dellqw = new LambdaQueryWrapper<>();
dellqw.eq(WxFormPushUser::getFormPushId,entity.getId());
wxFormPushUserService.remove(dellqw);
return R.isTrue(result); return R.isTrue(result);
} }
/** /**
* 新增 * 新增或保存
* @param param * @param param
* @return * @return
*/ */
@PostMapping("/save") @PostMapping("/save")
@SysLog(module = SystemModule.Verification, title = "表单推送", biz = BizType.INSERT) @SysLog(module = SystemModule.Verification, title = "表单推送", biz = BizType.INSERT)
// @PreAuthorize("hasRole('wx:formPush:insert')") public R<?> saveOrUpdate(@RequestBody @Valid WxFormPushBo param){
public R<?> save(@RequestBody @Valid WxFormPushBo param){
WxFormPush entity = CopierUtil.copy(param,new WxFormPush()); WxFormPush entity = CopierUtil.copy(param,new WxFormPush());
entity.setPreNotifyStatus(param.getPreNotifyTime()==null?0:1);
WxFormPushType pushType = null; WxFormPushType pushType = null;
if(param.getTypeId()!=null){ if(param.getTypeId()!=null){
pushType = wxFormPushTypeService.getById(param.getTypeId()); pushType = wxFormPushTypeService.getById(param.getTypeId());
entity.setTypeCode(pushType.getCode()); entity.setTypeCode(pushType.getCode());
entity.setTypeName(pushType.getTitle()); entity.setTypeName(pushType.getTitle());
}else{ }else{
return R.error("分类不存在"); entity.setTypeId("0");
entity.setTypeCode("默认");
entity.setTypeName("默认分类");
} }
entity.setPreNotifyStatus(entity.getPreNotifyTime()==null?0:1);
boolean result;
if(null==entity.getId()) { if(null==entity.getId()) {
result = wxFormPushService.save(entity); wxFormPushService.save(entity);
}else{ }else{
WxFormPush ori_entity = wxFormPushService.getById(entity.getId()); WxFormPush ori_entity = wxFormPushService.getById(entity.getId());
if(ori_entity.getStatus().equals("1")){ if(ori_entity.getStatus().equals("1")){
return R.error("已发布的消息不能更新"); return R.error("已发布的消息不能更新");
} }
result = wxFormPushService.updateById(entity); if(entity.getPreNotifyTime()==null){
wxFormPushMapper.updateSetNotifyTimeNull(entity.getId());
}
wxFormPushService.updateById(entity);
} }
//保存推送人员 //保存推送人员
@ -225,7 +271,11 @@ public class WxFormPushController {
List<WxUser> wxUserList = wxUserService.list(lqw); List<WxUser> wxUserList = wxUserService.list(lqw);
List<WxFormPushUser> pushUserList = new ArrayList<>(); List<WxFormPushUser> pushUserList = new ArrayList<>();
Set<String> wxUserIdSet = new HashSet<>(); Set<String> wxUserIdSet = new HashSet<>();
List<SysUser> sysUserList = sysUserService.listByIds(userIds);
for (SysUser sysUser : sysUserList) {
int pushOk = 0;
for (WxUser wxUser : wxUserList) { for (WxUser wxUser : wxUserList) {
if(wxUser.getSysUserId().equals(sysUser.getId())){
if (wxUser.getOpenId().equals("0")) { if (wxUser.getOpenId().equals("0")) {
continue; continue;
} }
@ -235,6 +285,7 @@ public class WxFormPushController {
}else { }else {
wxUserIdSet.add(wxUser.getOpenId()); wxUserIdSet.add(wxUser.getOpenId());
} }
pushOk = 1;
WxSmsNewForm wxSmsNewForm = new WxSmsNewForm(); WxSmsNewForm wxSmsNewForm = new WxSmsNewForm();
wxSmsNewForm.setTitle(param.getTitle()); wxSmsNewForm.setTitle(param.getTitle());
wxSmsNewForm.setUserName(wxUser.getEmpName()); wxSmsNewForm.setUserName(wxUser.getEmpName());
@ -244,18 +295,20 @@ public class WxFormPushController {
if(param.getStatus().equals("1")) { if(param.getStatus().equals("1")) {
wxPushService.sendWxMsg(wxUser, "表单通知", wxSmsNewForm, true, entity.getId()); wxPushService.sendWxMsg(wxUser, "表单通知", wxSmsNewForm, true, entity.getId());
} }
}
}
WxFormPushUser pushUser = new WxFormPushUser(); WxFormPushUser pushUser = new WxFormPushUser();
pushUser.setFormPushId(entity.getId()); pushUser.setFormPushId(entity.getId());
pushUser.setFormTitle(entity.getTitle()); pushUser.setFormTitle(entity.getTitle());
pushUser.setUserId(wxUser.getSysUserId()); pushUser.setPushStatus(pushOk);
pushUser.setUserCode(wxUser.getSysUserCode()); pushUser.setUserId(sysUser.getId());
pushUser.setUserName(wxUser.getEmpName()); pushUser.setUserCode(sysUser.getCode());
pushUser.setUserName(sysUser.getName());
pushUser.setTypeId(pushType.getId()); pushUser.setTypeId(pushType.getId());
pushUser.setTypeCode(pushType.getCode()); pushUser.setTypeCode(pushType.getCode());
pushUser.setTypeName(pushType.getTitle()); pushUser.setTypeName(pushType.getTitle());
pushUserList.add(pushUser); pushUserList.add(pushUser);
} }
pushUserList = pushUserList.stream().distinct().collect(Collectors.toList());
if(null==entity.getId()) { if(null==entity.getId()) {
wxFormPushUserService.saveBatch(pushUserList); wxFormPushUserService.saveBatch(pushUserList);
}else{ }else{

8
src/main/java/com/qs/serve/modules/wx/controller/WxFormPushTypeController.java

@ -88,6 +88,9 @@ public class WxFormPushTypeController {
@PostMapping("/updateById") @PostMapping("/updateById")
@SysLog(module = SystemModule.Verification, title = "表单类型", biz = BizType.UPDATE) @SysLog(module = SystemModule.Verification, title = "表单类型", biz = BizType.UPDATE)
public R<?> updateById(@RequestBody @Valid WxFormPushTypeBo param){ public R<?> updateById(@RequestBody @Valid WxFormPushTypeBo param){
if(param.getId().equals("0")){
return R.error("默认分类无法删除");
}
WxFormPushType entity = CopierUtil.copy(param,new WxFormPushType()); WxFormPushType entity = CopierUtil.copy(param,new WxFormPushType());
boolean result = wxFormPushTypeService.updateById(entity); boolean result = wxFormPushTypeService.updateById(entity);
return R.isTrue(result); return R.isTrue(result);
@ -115,6 +118,11 @@ public class WxFormPushTypeController {
@SysLog(module = SystemModule.Verification, title = "表单类型", biz = BizType.DELETE) @SysLog(module = SystemModule.Verification, title = "表单类型", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("ids") String ids){ public R<?> deleteById(@PathVariable("ids") String ids){
List<String> idsString = StringUtils.splitIdString(ids); List<String> idsString = StringUtils.splitIdString(ids);
for (String id : idsString) {
if(id.equals("0")){
return R.error("默认分类无法删除");
}
}
boolean result = wxFormPushTypeService.removeByIds(idsString); boolean result = wxFormPushTypeService.removeByIds(idsString);
return R.isTrue(result); return R.isTrue(result);
} }

6
src/main/java/com/qs/serve/modules/wx/controller/my/WxFormPushMyController.java

@ -85,6 +85,12 @@ public class WxFormPushMyController {
@GetMapping("/getById/{id}") @GetMapping("/getById/{id}")
@SysLog(module = SystemModule.Verification, title = "表单推送", biz = BizType.QUERY) @SysLog(module = SystemModule.Verification, title = "表单推送", biz = BizType.QUERY)
public R<WxFormPush> getById(@PathVariable("id") String id){ public R<WxFormPush> getById(@PathVariable("id") String id){
LambdaQueryWrapper<WxFormPushUser> lqw2 = new LambdaQueryWrapper<>();
lqw2.eq(WxFormPushUser::getFormPushId,id);
lqw2.eq(WxFormPushUser::getUserId, AuthContextUtils.getSysUserId());
if(wxFormPushUserService.count(lqw2)<1){
return R.error("表单已撤销");
}
WxFormPush wxFormPush = wxFormPushService.getById(id); WxFormPush wxFormPush = wxFormPushService.getById(id);
if(wxFormPush.getStatus().equals("0")){ if(wxFormPush.getStatus().equals("0")){
//未发布不能查询 //未发布不能查询

23
src/main/java/com/qs/serve/modules/wx/entity/WxFormPush.java

@ -49,6 +49,7 @@ public class WxFormPush implements Serializable {
private String typeName; private String typeName;
/** 业务类型,默认:通知 */ /** 业务类型,默认:通知 */
@TableField(condition = SqlCondition.LIKE)
private String businessType; private String businessType;
/** 标题 */ /** 标题 */
@Length(max = 255,message = "标题长度不能超过255字") @Length(max = 255,message = "标题长度不能超过255字")
@ -68,6 +69,24 @@ public class WxFormPush implements Serializable {
@Length(max = 600,message = "备注长度不能超过600字") @Length(max = 600,message = "备注长度不能超过600字")
private String remark; private String remark;
/** 预通知标识:0->无通知;1->未通知;2->已通知 */
private Integer preNotifyStatus;
/** 生效开始时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime effectiveStartTime;
/** 生效结束时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime effectiveEndTime;
/** 预通知时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime preNotifyTime;
/** 附件ids */ /** 附件ids */
@TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) @TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR)
private String[] attachIds; private String[] attachIds;
@ -130,6 +149,10 @@ public class WxFormPush implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private List<?> attachList; private List<?> attachList;
/** 显示补偿按钮 */
@TableField(exist = false)
private Integer showCompensateButton;
public static WxFormPush toNewObject(WxFormPush source){ public static WxFormPush toNewObject(WxFormPush source){
WxFormPush formPush = new WxFormPush(); WxFormPush formPush = new WxFormPush();
formPush.setId(source.getId()); formPush.setId(source.getId());

3
src/main/java/com/qs/serve/modules/wx/entity/WxFormPushUser.java

@ -38,6 +38,9 @@ public class WxFormPushUser implements Serializable {
@TableField(condition = SqlCondition.LIKE) @TableField(condition = SqlCondition.LIKE)
private String formTitle; private String formTitle;
/** 推送状态 0-N,1-Y */
private Integer pushStatus;
/** 用户id */ /** 用户id */
@Length(max = 64,message = "用户id长度不能超过64字") @Length(max = 64,message = "用户id长度不能超过64字")
private String userId; private String userId;

15
src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushBo.java

@ -10,6 +10,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
* 表单推送 实体类 * 表单推送 实体类
@ -53,5 +54,19 @@ public class WxFormPushBo implements Serializable {
/** 附件ids */ /** 附件ids */
private String[] attachIds; private String[] attachIds;
/** 预通知时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime preNotifyTime;
/** 生效开始时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime effectiveStartTime;
/** 生效结束时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime effectiveEndTime;
} }

3
src/main/java/com/qs/serve/modules/wx/entity/so/WxFormPushUserSo.java

@ -34,6 +34,9 @@ public class WxFormPushUserSo implements Serializable {
/** 用户id */ /** 用户id */
private String userId; private String userId;
/** 推送状态 0-N,1-Y */
private Integer pushStatus;
/** 用户编码 */ /** 用户编码 */
private String userCode; private String userCode;

4
src/main/java/com/qs/serve/modules/wx/mapper/WxFormPushMapper.java

@ -3,6 +3,8 @@ package com.qs.serve.modules.wx.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.wx.entity.WxFormPush; import com.qs.serve.modules.wx.entity.WxFormPush;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
/** /**
* 表单推送 Mapper * 表单推送 Mapper
@ -13,5 +15,7 @@ public interface WxFormPushMapper extends BaseMapper<WxFormPush> {
List<WxFormPush> selectUserFormPushList(@Param("query") WxFormPush param); List<WxFormPush> selectUserFormPushList(@Param("query") WxFormPush param);
@Update("update `wx_form_push` set pre_notify_time = null where id = #{id}")
void updateSetNotifyTimeNull(@Param("id")String id);
} }

65
src/main/resources/mapper/bms/BmsChannelMapper.xml

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qs.serve.modules.bms.mapper.BmsChannelMapper">
<resultMap id="bmsChannelMap" type="com.qs.serve.modules.bms.entity.BmsChannel" >
<result property="id" column="id"/>
<result property="channelCode" column="channel_code"/>
<result property="channelName" column="channel_name"/>
<result property="channelType" column="channel_type"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="tenantId" column="tenant_id"/>
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="costFlag" column="cost_flag"/>
</resultMap>
<sql id="bmsChannelSql">
bms_channel.`id`,
bms_channel.`channel_code`,
bms_channel.`channel_name`,
bms_channel.`channel_type`,
bms_channel.`remark`,
bms_channel.`create_time`,
bms_channel.`update_time`,
bms_channel.`tenant_id`,
bms_channel.`del_flag`,
bms_channel.`create_by`,
bms_channel.`update_by`,
bms_channel.`cost_flag` </sql>
<select id="selectChannelList" parameterType="com.qs.serve.modules.bms.entity.BmsChannel" resultMap="bmsChannelMap">
SELECT <include refid="bmsChannelSql"/> FROM
( SELECT channel_id FROM `bms_supplier_channel`
LEFT JOIN `his_user_supplier` ON `his_user_supplier`.supplier_id = bms_supplier_channel.supplier_id
where his_user_supplier.user_id in
<foreach collection="userIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
and `bms_supplier_channel`.`del_flag` = 0
GROUP BY channel_id
) tmp
left join `bms_channel` `bms_channel` ON `tmp`.channel_id = bms_channel.`id`
<where>
and `bms_channel`.`del_flag` = 0
<if test="query.id != null"> and `bms_channel`.`id` = #{query.id}</if>
<if test="query.channelCode != null and query.channelCode != ''"> and `bms_channel`.`channel_code` like concat('%',#{query.channelCode},'%')</if>
<if test="query.channelName != null and query.channelName != ''"> and `bms_channel`.`channel_name` like concat('%',#{query.channelName},'%') </if>
<if test="query.channelType != null and query.channelType != ''"> and `bms_channel`.`channel_type` = #{query.channelType}</if>
<if test="query.remark != null and query.remark != ''"> and `bms_channel`.`remark` = #{query.remark}</if>
<if test="query.createTime != null"> and `bms_channel`.`create_time` = #{query.createTime}</if>
<if test="query.updateTime != null"> and `bms_channel`.`update_time` = #{query.updateTime}</if>
<if test="query.tenantId != null and query.tenantId != ''"> and `bms_channel`.`tenant_id` = #{query.tenantId}</if>
<if test="query.delFlag != null and query.delFlag != ''"> and `bms_channel`.`del_flag` = #{query.delFlag}</if>
<if test="query.createBy != null and query.createBy != ''"> and `bms_channel`.`create_by` = #{query.createBy}</if>
<if test="query.updateBy != null and query.updateBy != ''"> and `bms_channel`.`update_by` = #{query.updateBy}</if>
<if test="query.costFlag != null"> and `bms_channel`.`cost_flag` = #{query.costFlag}</if>
</where>
</select>
</mapper>

55
src/main/resources/mapper/bms/BmsChannelPointMapper.xml

@ -129,12 +129,28 @@
POINT ( bms_channel_point.local_y, bms_channel_point.local_x ), POINT ( bms_channel_point.local_y, bms_channel_point.local_x ),
POINT ( #{query.localY}, #{query.localX} )) AS distance POINT ( #{query.localY}, #{query.localX} )) AS distance
</if> </if>
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 FROM
LEFT JOIN `bms_channel_point` `bms_channel_point` ON `bms_channel_point`.id = pmu.target_id ( SELECT channel_id FROM `bms_supplier_channel`
LEFT JOIN `his_user_supplier` ON `his_user_supplier`.supplier_id = bms_supplier_channel.supplier_id
where his_user_supplier.user_id in
<foreach collection="userIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
and `bms_supplier_channel`.`del_flag` = 0
GROUP BY channel_id
) tmp
left join bms_channel_point ON `tmp`.channel_id = bms_channel_point.`channel_id`
<where> <where>
and `bms_channel_point`.`del_flag` = 0 and `bms_channel_point`.`del_flag` = 0
and `bms_supplier_channel`.`del_flag` = 0
<if test="query.pointCode != null and query.pointCode != ''"> and `bms_channel_point`.`point_code` like concat('%',#{query.pointCode},'%') </if> <if test="query.pointCode != null and query.pointCode != ''"> and `bms_channel_point`.`point_code` like concat('%',#{query.pointCode},'%') </if>
<if test="query.pointName != null and query.pointName != ''"> and `bms_channel_point`.`point_name` like concat('%',#{query.pointName},'%') </if> <if test="query.pointName != null and query.pointName != ''"> and `bms_channel_point`.`point_name` like concat('%',#{query.pointName},'%') </if>
<if test="userIds != null and userIds.size > 0">
and his_user_supplier.user_id in
<foreach collection="userIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</if>
</where> </where>
ORDER BY ORDER BY
<if test="query.localY!=null and query.localX!=null"> <if test="query.localY!=null and query.localX!=null">
@ -239,4 +255,39 @@
</select> </select>
<select id="selectPointByUserIds" resultType="com.qs.serve.modules.bms.entity.BmsChannelPoint">
SELECT <include refid="bmsChannelPointSql"/> FROM
( SELECT channel_id FROM `bms_supplier_channel`
LEFT JOIN `his_user_supplier` ON `his_user_supplier`.supplier_id = bms_supplier_channel.supplier_id
where his_user_supplier.user_id in
<foreach collection="userIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
and `bms_supplier_channel`.`del_flag` = 0
GROUP BY channel_id
) tmp left join`bms_channel_point` `bms_channel_point` ON `tmp`.channel_id = bms_channel_point.`channel_id`
<where>
and `bms_channel_point`.`del_flag` = 0
<if test="query.id != null"> and `bms_channel_point`.`id` = #{query.id}</if>
<if test="query.channelId != null"> and `bms_channel_point`.`channel_id` = #{query.channelId}</if>
<if test="query.channelName != null and query.channelName != ''"> and `bms_channel_point`.`channel_name` like concat('%',#{query.channelName},'%') </if>
<if test="query.pointCode != null and query.pointCode != ''"> and `bms_channel_point`.`point_code` like concat('%',#{query.pointCode},'%') </if>
<if test="query.pointName != null and query.pointName != ''"> and `bms_channel_point`.`point_name` like concat('%',#{query.pointName},'%') </if>
<if test="query.shopArea != null and query.shopArea != ''"> and `bms_channel_point`.`shop_area` = #{query.shopArea}</if>
<if test="query.countCheckstand != null"> and `bms_channel_point`.`count_checkstand` = #{query.countCheckstand}</if>
<if test="query.pointLevel != null and query.pointLevel != ''"> and `bms_channel_point`.`point_level` = #{query.pointLevel}</if>
<if test="query.pointType != null and query.pointType != ''"> and `bms_channel_point`.`point_type` like concat('%',#{query.pointType},'%') </if>
<if test="query.address != null and query.address != ''"> and `bms_channel_point`.`address` = #{query.address}</if>
<if test="query.saleRegionId != null and query.saleRegionId != ''"> and `bms_channel_point`.`sale_region_id` = #{query.saleRegionId}</if>
<if test="query.saleRegionPath != null and query.saleRegionPath != ''"> and `bms_channel_point`.`sale_region_path` like concat('%',#{query.saleRegionPath},'%') </if>
<if test="query.saleRegionPathIds != null and query.saleRegionPathIds != ''"> and `bms_channel_point`.`sale_region_path_ids` = #{query.saleRegionPathIds}</if>
<if test="query.bizRegionId != null and query.bizRegionId != ''"> and `bms_channel_point`.`biz_region_id` = #{query.bizRegionId}</if>
<if test="query.bizRegionPath != null and query.bizRegionPath != ''"> and `bms_channel_point`.`biz_region_path` like concat('%',#{query.bizRegionPath},'%') </if>
<if test="query.bizRegionPathIds != null and query.bizRegionPathIds != ''"> and `bms_channel_point`.`biz_region_path_ids` = #{query.bizRegionPathIds}</if>
<if test="query.remark != null and query.remark != ''"> and `bms_channel_point`.`remark` = #{query.remark}</if>
</where>
</select>
</mapper> </mapper>

1
src/main/resources/mapper/bms/BmsSupplierMapper.xml

@ -82,6 +82,7 @@
<if test="query.regionFirst != null"> and `bms_supplier`.`region_first` = #{query.regionFirst}</if> <if test="query.regionFirst != null"> and `bms_supplier`.`region_first` = #{query.regionFirst}</if>
<if test="query.regionSecond != null"> and `bms_supplier`.`region_second` = #{query.regionSecond}</if> <if test="query.regionSecond != null"> and `bms_supplier`.`region_second` = #{query.regionSecond}</if>
<if test="query.regionThird != null"> and `bms_supplier`.`region_third` = #{query.regionThird}</if> <if test="query.regionThird != null"> and `bms_supplier`.`region_third` = #{query.regionThird}</if>
<if test="query.supplierFlag != null"> and `bms_supplier`.`supplier_flag` = #{query.supplierFlag}</if>
<if test="query.address != null and query.address != ''"> and `bms_supplier`.`address` = #{query.address}</if> <if test="query.address != null and query.address != ''"> and `bms_supplier`.`address` = #{query.address}</if>
<if test="query.name != null and query.name != ''"> and `bms_supplier`.`name` like concat('%',#{query.name},'%') </if> <if test="query.name != null and query.name != ''"> and `bms_supplier`.`name` like concat('%',#{query.name},'%') </if>
<if test="query.code != null and query.code != ''"> and `bms_supplier`.`code` like concat('%',#{query.code},'%') </if> <if test="query.code != null and query.code != ''"> and `bms_supplier`.`code` like concat('%',#{query.code},'%') </if>

6
src/main/resources/mapper/wx/WxFormPushMapper.xml

@ -22,6 +22,9 @@
<result property="status" column="status"/> <result property="status" column="status"/>
<result property="businessType" column="business_type"/> <result property="businessType" column="business_type"/>
<result property="readFlag" column="read_flag"/> <result property="readFlag" column="read_flag"/>
<result property="effectiveEndTime" column="effective_end_time"/>
<result property="preNotifyTime" column="pre_notify_time"/>
<result property="effectiveStartTime" column="effective_start_time"/>
</resultMap> </resultMap>
<sql id="wxFormPushSql"> <sql id="wxFormPushSql">
@ -40,6 +43,9 @@
wx_form_push.`update_by`, wx_form_push.`update_by`,
wx_form_push.`del_flag`, wx_form_push.`del_flag`,
wx_form_push.`status`, wx_form_push.`status`,
wx_form_push.`pre_notify_status`,
wx_form_push.`effective_start_time`,
wx_form_push.`effective_end_time`,
wx_form_push.`business_type` </sql> wx_form_push.`business_type` </sql>
<select id="selectUserFormPushList" parameterType="com.qs.serve.modules.wx.entity.WxFormPush" resultMap="wxFormPushMap"> <select id="selectUserFormPushList" parameterType="com.qs.serve.modules.wx.entity.WxFormPush" resultMap="wxFormPushMap">

Loading…
Cancel
Save