diff --git a/src/main/java/com/qs/serve/controller/AdminPortalController.java b/src/main/java/com/qs/serve/controller/AdminPortalController.java index 3fe5bc80..e78cbfcf 100644 --- a/src/main/java/com/qs/serve/controller/AdminPortalController.java +++ b/src/main/java/com/qs/serve/controller/AdminPortalController.java @@ -101,6 +101,7 @@ public class AdminPortalController { String key = param.getKey(); SyAffairStateResult affairStateResult = seeYonRequestService.checkAffairState(key,syId,templateCode); + // dev add //syId = affairStateResult.getMemberId(); @@ -156,7 +157,7 @@ public class AdminPortalController { TzcPolicy object = policyService.getById(targetId); creator = object.getCreateBy(); } - if(creator.equals(sysUser.getId())){ + if(creator!=null&&creator.equals(sysUser.getId())){ jumpUrl = SyKeyLoginUtil.getMyDetailUrl(templateCode,targetId); } } diff --git a/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java b/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java index b8b8507f..ec53b60d 100644 --- a/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java +++ b/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java @@ -5,6 +5,7 @@ import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.qs.serve.common.framework.security.model.LoginUser; +import com.qs.serve.common.model.annotation.LimitSubmit; import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.consts.GySysConst; import com.qs.serve.common.model.dto.PageVo; @@ -96,6 +97,7 @@ public class SysUserController { * (个人)登录信息 * @return */ + @LimitSubmit() @PostMapping("/info") public R info(){ LoginUser loginUser = AuthContextUtils.getLoginUser(); diff --git a/src/main/java/com/qs/serve/modules/sys/entity/SysUser.java b/src/main/java/com/qs/serve/modules/sys/entity/SysUser.java index 0c4e7c76..f4b04587 100644 --- a/src/main/java/com/qs/serve/modules/sys/entity/SysUser.java +++ b/src/main/java/com/qs/serve/modules/sys/entity/SysUser.java @@ -168,6 +168,9 @@ public class SysUser implements Serializable { @TableField(exist = false) private List selectIds; + /** 选中岗位ID */ + @TableField(exist = false) + private List selectPostIds; @TableField(exist = false) private List tenantInfo; diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java index 2e9cdc01..d44c7ef7 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java @@ -121,6 +121,7 @@ public class TbsActivityController { public R> getPage(TbsActivitySo param){ TbsActivity entity = CopierUtil.copy(param,new TbsActivity()); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(entity); + lqw.select(TbsActivity::getId); if(param.getPassEndTime()!=null){ lqw.le(TbsActivity::getCostPassTime,param.getPassEndTime()); } @@ -129,14 +130,30 @@ public class TbsActivityController { } lqw.orderByDesc(TbsActivity::getId); PageUtil.startPage(); - List list = tbsActivityService.list(lqw); - for (TbsActivity activity : list) { - SysUser sysUser = sysUserService.getById(activity.getCreateBy()); - if(sysUser!=null){ - activity.setApplyUser(sysUser.toSysUserVo()); + List listObjects = tbsActivityService.list(lqw); + if(listObjects.size()>0){ + List listIds = listObjects.stream().map(a->a.getId()).collect(Collectors.toList()); + List list = tbsActivityService.listByIds(listIds); + List userIds = list.stream().filter(a->a.getCreateBy()!=null).map(TbsActivity::getCreateBy).distinct().collect(Collectors.toList()); + if(userIds.size()<1){ + return R.byPageHelperList(listObjects,list); + } + List sysUsers = sysUserService.listByIds(userIds); + for (TbsActivity activity : list) { + if(activity.getCreateBy()==null){ + continue; + } + for (SysUser sysUser : sysUsers) { + if(activity.getCreateBy().equals(sysUser.getId())){ + activity.setApplyUser(sysUser.toSysUserVo()); + break; + } + } } + return R.byPageHelperList(listObjects,list); + }else { + return R.byEmptyList(); } - return R.byPageHelperList(list); } diff --git a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java index 21e37115..c8ad0976 100644 --- a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java +++ b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java @@ -42,6 +42,7 @@ import com.qs.serve.modules.vtb.entity.bo.VtbVerificationBo; import javax.validation.Valid; import java.math.BigDecimal; import java.util.*; +import java.util.stream.Collectors; /** * 核销 核销 @@ -83,6 +84,8 @@ public class VtbVerificationController { public R> getPage(VtbVerificationSo param,Integer loadMy,Integer loadChild){ VtbVerification entity = CopierUtil.copy(param,new VtbVerification()); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(entity); + //减少mysql limit 产生的 IO + lqw.select(VtbVerification::getId); if(param.getQueryStartTime()!=null){ lqw.ge(VtbVerification::getFinishedTime,param.getQueryStartTime()); } @@ -91,21 +94,42 @@ public class VtbVerificationController { } if(loadChild!=null&&loadChild.equals(1)){ List userIds = sysPostUserService.listByChildIds(AuthContextUtils.getSysUserId()); - userIds.add("0"); - lqw.in(VtbVerification::getCreateBy,userIds); + if(userIds.size()==0){ + return R.byEmptyList(); + } + if(userIds.size()==1){ + lqw.eq(VtbVerification::getUserId,userIds.get(0)); + }else { + lqw.in(VtbVerification::getUserId,userIds); + } }else if(loadMy!=null&&loadMy.equals(1)){ - lqw.eq(VtbVerification::getCreateBy,AuthContextUtils.getSysUserId()); + lqw.eq(VtbVerification::getUserId,AuthContextUtils.getSysUserId()); } lqw.orderByDesc(VtbVerification::getId); PageUtil.startPage(); - List list = vtbVerificationService.list(lqw); + List listObjectIds = vtbVerificationService.list(lqw); + if(listObjectIds.size()<1){ + return R.byEmptyList(); + } + List veriIds = listObjectIds.stream().map(VtbVerification::getId).collect(Collectors.toList()); + List list = vtbVerificationService.listByIds(veriIds); + List actIds = list.stream().map(VtbVerification::getActivityId).distinct().collect(Collectors.toList()); + List activityList = tbsActivityService.listByIds(actIds); + List costIds = activityList.stream().map(TbsActivity::getCostApplyId).distinct().collect(Collectors.toList()); + List costList = tbsCostApplyService.listByIds(costIds); for (VtbVerification verification : list) { - TbsActivity activity = tbsActivityService.getById(verification.getActivityId()); - TbsCostApply costApply = tbsCostApplyService.getById(activity.getCostApplyId()); - verification.setActivityInfo(activity); - verification.setCostApplyInfo(costApply); + for (TbsActivity activity : activityList) { + if(activity.getId().equals(verification.getActivityId())){ + verification.setActivityInfo(activity); + for (TbsCostApply costApply : costList) { + if(costApply.getId().equals(activity.getCostApplyId())){ + verification.setCostApplyInfo(costApply); + } + } + } + } } - return R.byPageHelperList(list); + return R.byPageHelperList(listObjectIds,list); } /** diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java b/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java index 19acb008..87e84703 100644 --- a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java +++ b/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java @@ -36,6 +36,7 @@ public class VtbVerification implements Serializable { private Long id; /** 核销编码 */ + @TableField(condition = SqlCondition.LIKE) private String verificationCode; /** 活动id */