Browse Source

查询优化

contract
Yen 2 years ago
parent
commit
393eb23e5c
  1. 3
      src/main/java/com/qs/serve/controller/AdminPortalController.java
  2. 2
      src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java
  3. 3
      src/main/java/com/qs/serve/modules/sys/entity/SysUser.java
  4. 29
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java
  5. 42
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  6. 1
      src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java

3
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);
}
}

2
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<SysUserVo> info(){
LoginUser loginUser = AuthContextUtils.getLoginUser();

3
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<String> selectIds;
/** 选中岗位ID */
@TableField(exist = false)
private List<String> selectPostIds;
@TableField(exist = false)
private List<?> tenantInfo;

29
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java

@ -121,6 +121,7 @@ public class TbsActivityController {
public R<PageVo<TbsActivity>> getPage(TbsActivitySo param){
TbsActivity entity = CopierUtil.copy(param,new TbsActivity());
LambdaQueryWrapper<TbsActivity> 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<TbsActivity> list = tbsActivityService.list(lqw);
for (TbsActivity activity : list) {
SysUser sysUser = sysUserService.getById(activity.getCreateBy());
if(sysUser!=null){
activity.setApplyUser(sysUser.toSysUserVo());
List<TbsActivity> listObjects = tbsActivityService.list(lqw);
if(listObjects.size()>0){
List<Long> listIds = listObjects.stream().map(a->a.getId()).collect(Collectors.toList());
List<TbsActivity> list = tbsActivityService.listByIds(listIds);
List<String> 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<SysUser> 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);
}

42
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<PageVo<VtbVerification>> getPage(VtbVerificationSo param,Integer loadMy,Integer loadChild){
VtbVerification entity = CopierUtil.copy(param,new VtbVerification());
LambdaQueryWrapper<VtbVerification> 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<String> 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<VtbVerification> list = vtbVerificationService.list(lqw);
List<VtbVerification> listObjectIds = vtbVerificationService.list(lqw);
if(listObjectIds.size()<1){
return R.byEmptyList();
}
List<Long> veriIds = listObjectIds.stream().map(VtbVerification::getId).collect(Collectors.toList());
List<VtbVerification> list = vtbVerificationService.listByIds(veriIds);
List<Long> actIds = list.stream().map(VtbVerification::getActivityId).distinct().collect(Collectors.toList());
List<TbsActivity> activityList = tbsActivityService.listByIds(actIds);
List<Long> costIds = activityList.stream().map(TbsActivity::getCostApplyId).distinct().collect(Collectors.toList());
List<TbsCostApply> 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);
}
/**

1
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 */

Loading…
Cancel
Save