From 5506edbe54883b31db3cc8e4a1d9d0795a18a3c9 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 27 十二月 2024 14:37:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1 --- server/service/src/main/java/com/doumee/service/business/impl/SolutionsBaseServiceImpl.java | 445 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 343 insertions(+), 102 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsBaseServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsBaseServiceImpl.java index 8e5ea03..c190001 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsBaseServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsBaseServiceImpl.java @@ -1,20 +1,34 @@ package com.doumee.service.business.impl; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; +import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; +import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; -import com.doumee.dao.business.SolutionsBaseMapper; -import com.doumee.dao.business.model.SolutionsBase; +import com.doumee.dao.business.*; +import com.doumee.dao.business.join.SolutionWorktypeJoinMapper; +import com.doumee.dao.business.join.SolutionsBaseJoinMapper; +import com.doumee.dao.business.model.*; import com.doumee.service.business.SolutionsBaseService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import io.swagger.models.auth.In; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.List; +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; /** * 淇濋櫓鏂规淇℃伅琛⊿ervice瀹炵幇 @@ -27,14 +41,152 @@ @Autowired private SolutionsBaseMapper solutionsBaseMapper; + @Autowired + private SolutionsBaseJoinMapper solutionsBaseJoinMapper; + + @Autowired + private InsuranceMapper insuranceMapper; + + @Autowired + private SolutionWorktypeJoinMapper solutionWorktypeJoinMapper; + + @Autowired + private WorktypeMapper worktypeMapper; + + @Autowired + private CompanySolutionMapper companySolutionMapper; + + @Autowired + private DuSolutionMapper duSolutionMapper; + + @Autowired + private SolutionsMapper solutionsMapper; + + @Autowired + private InsuranceApplyMapper insuranceApplyMapper; + @Override public Integer create(SolutionsBase solutionsBase) { - solutionsBaseMapper.insert(solutionsBase); + LoginUserInfo user= (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + initCreateParam(solutionsBase); + if(solutionsBaseMapper.selectCount(new QueryWrapper<SolutionsBase>().lambda() + .eq(SolutionsBase::getName,solutionsBase.getName()) + .eq(SolutionsBase::getIsdeleted,Constants.ZERO) + .eq(SolutionsBase::getDataType,Constants.ZERO) + )>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"淇濋櫓涓绘柟妗堝悕绉板凡瀛樺湪"); + } + + + solutionsBase.setCreateDate(new Date()); + solutionsBase.setCreator(user.getId()); + solutionsBase.setEditDate(new Date()); + solutionsBase.setEditor(user.getId()); + solutionsBase.setIsdeleted(Constants.ZERO); + solutionsBase.setStatus(Constants.ZERO); + solutionsBase.setVersion(UUID.randomUUID().toString());//鐗堟湰鍙� + solutionsBase.setDataType(Constants.ZERO); + + //2024骞�6鏈�17鏃�15:56:18 浠呮敮鎸佹浛鎹㈡ā寮忎笅锛屾壒澧為厤缃棩鏈� 绛変簬 鎵瑰噺閰嶇疆鏃ユ湡 + if(Constants.equalsInteger(solutionsBase.getDelOnlyReplace(),Constants.ONE)){ + solutionsBase.setAddValidDays(solutionsBase.getDelValidDays()); + } + solutionsBaseMapper.insert(solutionsBase); //鍩虹鐗堟湰 + + //濡傛灉鏈夊伐绉嶏紝鍒欎骇鐢熶竴涓柊鐨勬湁鏁堝巻鍙茬増鏈� ~ + SolutionsBase newModel = new SolutionsBase(); + BeanUtils.copyProperties(solutionsBase,newModel); + newModel.setId(null); + newModel.setBaseId(solutionsBase.getId()); + newModel.setDataType(Constants.TWO); + solutionsBaseMapper.insert(newModel); + + dealWorkTypeInsurance(solutionsBase,newModel,solutionsBase.getWorktypeIdList()); + return solutionsBase.getId(); + } + + + + + + private void dealWorkTypeInsurance(SolutionsBase solutionsBase, SolutionsBase newModel, List<Integer> worktypeIdList) { + Insurance model = insuranceMapper.selectById(solutionsBase.getInsuranceId()); + if(model == null || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) + || !Constants.equalsInteger(model.getDataType(),Constants.TWO)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ヤ繚闄╁叕鍙镐俊鎭笉瀛樺湪锛岃灏濊瘯鍒锋柊椤甸潰閲嶈瘯~" ); + } + if( !Constants.equalsInteger(model.getStatus(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ヤ繚闄╁叕鍙稿凡琚鐢紝璇峰皾璇曞埛鏂伴〉闈㈤噸璇晘" ); + } + List<Worktype> worktypeList = worktypeMapper.selectList(new QueryWrapper<Worktype>().lambda() + .eq(Worktype::getInsuranceId,solutionsBase.getInsuranceId()) + .eq(Worktype::getIsdeleted,Constants.ZERO) + .in(Worktype::getId,worktypeIdList)); + if(worktypeList==null ||worktypeIdList.size()==0){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝宸ョ淇℃伅閫夋嫨鏈夎锛岃灏濊瘯鍒锋柊椤甸潰閲嶈瘯~" ); + } + int num =0; + for(Worktype type : worktypeList) { + //鍩虹鐗堟湰 + SolutionWorktype w = new SolutionWorktype(); + w.setSolutionId(solutionsBase.getId()); + w.setIsdeleted(Constants.ZERO); + w.setCreator(newModel.getCreator()); + w.setCreateDate(solutionsBase.getCreateDate()); + w.setWorktypeId(type.getId()); + w.setStatus(Constants.ZERO); + w.setSortnum(num++); + w.setType(Constants.ONE); + solutionWorktypeJoinMapper.insert(w); + + //鍘嗗彶鐗堟湰鐨勫伐绉嶄俊鎭� + SolutionWorktype newType = new SolutionWorktype(); + BeanUtils.copyProperties(w, newType); + newType.setSolutionId(newModel.getId()); + solutionWorktypeJoinMapper.insert(newType); + } + } + + + private void initCreateParam(SolutionsBase solutionsBase) { + if(StringUtils.isBlank(solutionsBase.getName())|| + StringUtils.isBlank(solutionsBase.getCompanyName()) + || Objects.isNull(solutionsBase.getValidType()) + || Objects.isNull(solutionsBase.getCanAdd()) + || Objects.isNull(solutionsBase.getCanReduce()) + || Objects.isNull(solutionsBase.getCanChangeUnit()) + || Objects.isNull(solutionsBase.getDelOnlyReplace()) + || Objects.isNull(solutionsBase.getAddValidDays()) + || Objects.isNull(solutionsBase.getDelValidDays()) + || Objects.isNull(solutionsBase.getInsuranceId()) + ||solutionsBase.getInsuranceId()==null + || Constants.formatIntegerNum(solutionsBase.getMaxAge()) < 0 + ||Constants.formatIntegerNum(solutionsBase.getMinAge()) < 0 + ||Constants.formatIntegerNum( solutionsBase.getMinAge()) >Constants.formatIntegerNum(solutionsBase.getMaxAge()) + || com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(solutionsBase.getWorktypeIdList()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + if(Constants.equalsInteger(solutionsBase.getValidType(),Constants.ZERO) && Objects.isNull(solutionsBase.getValidTypeNum())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } } @Override public void deleteById(Integer id) { + SolutionsBase solutionsBase = solutionsBaseMapper.selectById(id); + if (!Objects.isNull(solutionsBase)){ + //鏌ヨ涓绘柟妗堜笅鎵�鏈夊惎鐢ㄧ増鏈暟鎹腑 鏄惁瀛樺湪 瀛愭柟妗� + if(solutionsMapper.selectCount(new QueryWrapper<Solutions>() + .lambda() + .eq(Solutions::getDataType,Constants.ZERO) + .eq(Solutions::getIsdeleted,Constants.ZERO) + .eq(Solutions::getParentId,id) + )>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"["+solutionsBase.getName()+"]涓嬪瓨鍦ㄥ瓙鏂规,鏃犳硶杩涜鍒犻櫎"); + }; + } solutionsBaseMapper.deleteById(id); } @@ -45,17 +197,124 @@ } @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public void deleteByIdInBatch(List<Integer> ids) { if (CollectionUtils.isEmpty(ids)) { return; + } + for (Integer id:ids) { + this.deleteById(id); } solutionsBaseMapper.deleteBatchIds(ids); } @Override public void updateById(SolutionsBase solutionsBase) { + LoginUserInfo user= (LoginUserInfo)SecurityUtils.getSubject().getPrincipal(); + SolutionsBase model = findById(solutionsBase.getId()); + if(model == null || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) + || !Constants.equalsInteger(model.getDataType(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY ); + } + //鏁版嵁鏈夋晥鎬ф牎楠� + initCreateParam(solutionsBase); + //鏌ヨ鏄惁宸插瓨鍦ㄤ娇鐢ㄤ腑鐨勪繚鍗� + if(insuranceApplyMapper.selectCount(new QueryWrapper<InsuranceApply>().lambda() + .apply(" solution_id in ( select s.ID from solutions s where s.PARENT_ID in ( select id from solutions_base where BASE_ID = "+solutionsBase.getId()+" or id = "+solutionsBase.getId()+" ) )" ) + .notIn(InsuranceApply::getStatus + ,Constants.InsuranceApplyStatus.PLATFORM_RETURN + ,Constants.InsuranceApplyStatus.CLOSE + ,Constants.InsuranceApplyStatus.WTB_CLOSED + ) + )>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪宸叉姇淇濈殑淇濆崟鏁版嵁,鏃犳硶杩涜淇敼"); + }; + + if(solutionsBaseMapper.selectCount(new QueryWrapper<SolutionsBase>().lambda() + .eq(SolutionsBase::getName,solutionsBase.getName()) + .eq(SolutionsBase::getIsdeleted,Constants.ZERO) + .eq(SolutionsBase::getDataType,Constants.ZERO) + .ne(SolutionsBase::getId,solutionsBase.getId()) + )>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"淇濋櫓涓绘柟妗堝悕绉板凡瀛樺湪"); + } + + solutionsBase.setEditor(user.getId()); + solutionsBase.setVersion(UUID.randomUUID().toString()); + solutionsBase.setEditDate(new Date()); + + //2024骞�6鏈�17鏃�15:56:18 浠呮敮鎸佹浛鎹㈡ā寮忎笅锛屾壒澧炴棩鏈� 绛変簬 鎵瑰噺鏃ユ湡 + if(Constants.equalsInteger(solutionsBase.getDelOnlyReplace(),Constants.ONE)){ + solutionsBase.setAddValidDays(solutionsBase.getDelValidDays()); + } solutionsBaseMapper.updateById(solutionsBase); + SolutionsBase oldVersion = solutionsBaseMapper.selectOne(new QueryWrapper<SolutionsBase>() + .lambda() + .eq(SolutionsBase::getBaseId,solutionsBase.getId()) + .eq(SolutionsBase::getDataType,Constants.TWO) + .last("limit 1") + ); + + if(Objects.isNull(oldVersion)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍘嗗彶鐗堟湰鏁版嵁"); + } + + //濡傛灉淇敼锛屽垯浜х敓涓�涓柊鐨勫巻鍙茬増鏈� ~ + SolutionsBase newModel = new SolutionsBase(); + BeanUtils.copyProperties( findById(solutionsBase.getId()),newModel); + newModel.setId(null); + newModel.setVersion(solutionsBase.getVersion()); + newModel.setCreateDate(new Date()); + newModel.setBaseId(solutionsBase.getId()); + newModel.setDataType(Constants.TWO); + solutionsBaseMapper.insert(newModel); + + //鍒犻櫎鐖舵柟妗堜笅鎵�鏈夊伐绉嶆暟鎹� + solutionWorktypeJoinMapper.delete(new UpdateWrapper<SolutionWorktype>() + .lambda() + .eq(SolutionWorktype::getSolutionId,solutionsBase.getId()) + .eq(SolutionWorktype::getType,Constants.ONE) + ); + //鍒犻櫎鐖舵柟妗堜笅鎵�鏈夊瓙鏂规鐨勫伐绉嶆暟鎹� + + solutionWorktypeJoinMapper.delete(new UpdateWrapper<SolutionWorktype>() + .lambda() + .eq(SolutionWorktype::getType,Constants.ZERO) + .apply(" SOLUTION_ID in ( select s.id from solutions s where s.PARENT_ID = "+solutionsBase.getId()+" ) ") + ); + + dealWorkTypeInsurance(solutionsBase,newModel,solutionsBase.getWorktypeIdList()); + + + solutionsBaseMapper.update(null,new UpdateWrapper<SolutionsBase>() + .lambda() + .ne(SolutionsBase::getId,newModel.getId()) + .eq(SolutionsBase::getBaseId,solutionsBase.getId()) + .eq(SolutionsBase::getDataType,Constants.TWO) + .set(SolutionsBase::getDataType,Constants.ONE) + ); + + //鏇存柊company_solution 浣跨敤鏂扮増鏈殑鏁版嵁 + companySolutionMapper.update(null, + new UpdateWrapper<CompanySolution>() + .lambda() + .eq(CompanySolution::getStatus,Constants.ZERO) + .set(CompanySolution::getSolutionId,newModel.getId()) + .eq(CompanySolution::getSolutionBaseId,solutionsBase.getId()) + ); + + //鏇存柊 du_solution 浣跨敤鏂扮増鏈殑鏁版嵁 + duSolutionMapper.update(null, + new UpdateWrapper<DuSolution>() + .lambda() + .eq(DuSolution::getIsdeleted, Constants.ZERO) + .eq(DuSolution::getStatus, Constants.ONE) + .set(DuSolution::getSolutionId,newModel.getId()) + .eq(DuSolution::getSolutionId,oldVersion.getId())); + } + + @Override public void updateByIdInBatch(List<SolutionsBase> solutionsBases) { @@ -67,9 +326,70 @@ } } + + @Override + public void updateStatus(SolutionsBase solutionsBase){ + if(solutionsBase.getId() == null || solutionsBase.getStatus()==null || solutionsBase.getStatus()<0||solutionsBase.getStatus()>1){ + throw new BusinessException(ResponseStatus.BAD_REQUEST ); + } + SolutionsBase model = findById(solutionsBase.getId()); + if(model == null || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) + || !Constants.equalsInteger(model.getDataType(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY ); + } + if(Constants.equalsInteger(model.getStatus(),solutionsBase.getStatus())){ + //濡傛灉鐘舵�佷笉鍙戠敓鏀瑰彉锛岀洿鎺ヨ繑鍥� + return; + } + LoginUserInfo user= (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + //鍚屾椂鏇存柊鍩鸿〃鍜屽巻鍙茬増鏈墍鏈夋暟鎹姸鎬� + solutionsBaseMapper.update(null,new UpdateWrapper<SolutionsBase>() + .lambda() + .and(m -> m.eq(SolutionsBase::getId,model.getId()).or().eq(SolutionsBase::getBaseId,model.getId())) + .eq(SolutionsBase::getIsdeleted,Constants.ZERO) + .set(SolutionsBase::getEditDate,new Date()) + .set(SolutionsBase::getEditor,user.getId()) + .set(SolutionsBase::getStatus,solutionsBase.getStatus()) + ); + + //濡傛灉鏄鐢紝鍒欎慨鏀规柟妗堝瓙琛ㄧ殑鍏ㄩ儴鏁版嵁涓虹鐢� + if(Constants.equalsInteger(solutionsBase.getStatus(),Constants.ONE)){ + solutionsMapper.update(null,new UpdateWrapper<Solutions>() + .lambda() + .set(Solutions::getStatus,solutionsBase.getStatus()) + .set(Solutions::getEditDate,new Date()) + .set(Solutions::getEditor,user.getId()) + .eq(Solutions::getParentId,solutionsBase.getId()) + ); + } + + } + + @Override public SolutionsBase findById(Integer id) { - return solutionsBaseMapper.selectById(id); + MPJLambdaWrapper<SolutionsBase> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(SolutionsBase.class); + queryWrapper.selectAs(Insurance::getName,SolutionsBase::getInsuranceName); + queryWrapper.selectAs(Company::getName,SolutionsBase::getShopName); + queryWrapper.leftJoin(Insurance.class,Insurance::getId,SolutionsBase::getInsuranceId); + queryWrapper.leftJoin(Company.class,Company::getId,SolutionsBase::getShopId); + queryWrapper.eq(SolutionsBase::getId,id); + SolutionsBase model = solutionsBaseJoinMapper.selectJoinOne(SolutionsBase.class,queryWrapper); + if(model == null || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY ); + } + MPJLambdaWrapper<SolutionWorktype> wrapper = new MPJLambdaWrapper<>(); + wrapper.selectAll(SolutionWorktype.class); + wrapper.selectAs(Worktype::getName,SolutionWorktype::getWorktypeName); + wrapper.leftJoin(Worktype.class,Worktype::getId,SolutionWorktype::getWorktypeId); + wrapper.eq(SolutionWorktype::getSolutionId,id); + wrapper.eq(SolutionWorktype::getType,Constants.ONE); + wrapper.eq(SolutionWorktype::getIsdeleted,Constants.ZERO); + wrapper.orderByAsc(SolutionWorktype::getSortnum); + List<SolutionWorktype> worktypeList = solutionWorktypeJoinMapper.selectJoinList(SolutionWorktype.class,wrapper); + model.setWorktypeList(worktypeList); + return model; } @Override @@ -80,110 +400,30 @@ @Override public List<SolutionsBase> findList(SolutionsBase solutionsBase) { - QueryWrapper<SolutionsBase> wrapper = new QueryWrapper<>(solutionsBase); + QueryWrapper<SolutionsBase> wrapper = new QueryWrapper<>(); + wrapper.lambda().eq(SolutionsBase::getDataType,Constants.ZERO); + wrapper.lambda().eq(SolutionsBase::getIsdeleted,Constants.ZERO); return solutionsBaseMapper.selectList(wrapper); } - + @Override public PageData<SolutionsBase> findPage(PageWrap<SolutionsBase> pageWrap) { IPage<SolutionsBase> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<SolutionsBase> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<SolutionsBase> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(SolutionsBase::getId, pageWrap.getModel().getId()); - } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(SolutionsBase::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(SolutionsBase::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(SolutionsBase::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(SolutionsBase::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(SolutionsBase::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(SolutionsBase::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(SolutionsBase::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } + queryWrapper.selectAll(SolutionsBase.class); + queryWrapper.selectAs(Insurance::getName,SolutionsBase::getInsuranceName); + queryWrapper.selectAs(Company::getName,SolutionsBase::getShopName); + queryWrapper.leftJoin(Insurance.class,Insurance::getId,SolutionsBase::getInsuranceId); + queryWrapper.leftJoin(Company.class,Company::getId,SolutionsBase::getShopId); + //鍙煡璇㈡湭鍒犻櫎鐨勬暟鎹� + queryWrapper.eq(SolutionsBase::getIsdeleted,Constants.ZERO); + //鍙煡璇㈠熀纭�鐗堟湰鏁版嵁 + queryWrapper.eq(SolutionsBase::getDataType,Constants.ZERO); if (pageWrap.getModel().getName() != null) { - queryWrapper.lambda().eq(SolutionsBase::getName, pageWrap.getModel().getName()); + queryWrapper.like(SolutionsBase::getName, pageWrap.getModel().getName()); } - if (pageWrap.getModel().getRemark() != null) { - queryWrapper.lambda().eq(SolutionsBase::getRemark, pageWrap.getModel().getRemark()); - } - if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(SolutionsBase::getStatus, pageWrap.getModel().getStatus()); - } - if (pageWrap.getModel().getSortnum() != null) { - queryWrapper.lambda().eq(SolutionsBase::getSortnum, pageWrap.getModel().getSortnum()); - } - if (pageWrap.getModel().getInsuranceId() != null) { - queryWrapper.lambda().eq(SolutionsBase::getInsuranceId, pageWrap.getModel().getInsuranceId()); - } - if (pageWrap.getModel().getValidType() != null) { - queryWrapper.lambda().eq(SolutionsBase::getValidType, pageWrap.getModel().getValidType()); - } - if (pageWrap.getModel().getMinAge() != null) { - queryWrapper.lambda().eq(SolutionsBase::getMinAge, pageWrap.getModel().getMinAge()); - } - if (pageWrap.getModel().getMaxAge() != null) { - queryWrapper.lambda().eq(SolutionsBase::getMaxAge, pageWrap.getModel().getMaxAge()); - } - if (pageWrap.getModel().getSingleWorktype() != null) { - queryWrapper.lambda().eq(SolutionsBase::getSingleWorktype, pageWrap.getModel().getSingleWorktype()); - } - if (pageWrap.getModel().getSpecialAgreement() != null) { - queryWrapper.lambda().eq(SolutionsBase::getSpecialAgreement, pageWrap.getModel().getSpecialAgreement()); - } - if (pageWrap.getModel().getSpecialInfo() != null) { - queryWrapper.lambda().eq(SolutionsBase::getSpecialInfo, pageWrap.getModel().getSpecialInfo()); - } - if (pageWrap.getModel().getOrtherInfo() != null) { - queryWrapper.lambda().eq(SolutionsBase::getOrtherInfo, pageWrap.getModel().getOrtherInfo()); - } - if (pageWrap.getModel().getVersion() != null) { - queryWrapper.lambda().eq(SolutionsBase::getVersion, pageWrap.getModel().getVersion()); - } - if (pageWrap.getModel().getDataType() != null) { - queryWrapper.lambda().eq(SolutionsBase::getDataType, pageWrap.getModel().getDataType()); - } - if (pageWrap.getModel().getBaseId() != null) { - queryWrapper.lambda().eq(SolutionsBase::getBaseId, pageWrap.getModel().getBaseId()); - } - if (pageWrap.getModel().getSignKeyword() != null) { - queryWrapper.lambda().eq(SolutionsBase::getSignKeyword, pageWrap.getModel().getSignKeyword()); - } - if (pageWrap.getModel().getValidTypeNum() != null) { - queryWrapper.lambda().eq(SolutionsBase::getValidTypeNum, pageWrap.getModel().getValidTypeNum()); - } - if (pageWrap.getModel().getShopId() != null) { - queryWrapper.lambda().eq(SolutionsBase::getShopId, pageWrap.getModel().getShopId()); - } - if (pageWrap.getModel().getAddValidDays() != null) { - queryWrapper.lambda().eq(SolutionsBase::getAddValidDays, pageWrap.getModel().getAddValidDays()); - } - if (pageWrap.getModel().getDelValidDays() != null) { - queryWrapper.lambda().eq(SolutionsBase::getDelValidDays, pageWrap.getModel().getDelValidDays()); - } - if (pageWrap.getModel().getCanAdd() != null) { - queryWrapper.lambda().eq(SolutionsBase::getCanAdd, pageWrap.getModel().getCanAdd()); - } - if (pageWrap.getModel().getCanReduce() != null) { - queryWrapper.lambda().eq(SolutionsBase::getCanReduce, pageWrap.getModel().getCanReduce()); - } - if (pageWrap.getModel().getCanChangeUnit() != null) { - queryWrapper.lambda().eq(SolutionsBase::getCanChangeUnit, pageWrap.getModel().getCanChangeUnit()); - } - if (pageWrap.getModel().getDelOnlyReplace() != null) { - queryWrapper.lambda().eq(SolutionsBase::getDelOnlyReplace, pageWrap.getModel().getDelOnlyReplace()); - } - if (pageWrap.getModel().getCompanyName() != null) { - queryWrapper.lambda().eq(SolutionsBase::getCompanyName, pageWrap.getModel().getCompanyName()); - } + for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); @@ -191,7 +431,8 @@ queryWrapper.orderByAsc(sortData.getProperty()); } } - return PageData.from(solutionsBaseMapper.selectPage(page, queryWrapper)); + IPage<SolutionsBase> iPageData = solutionsBaseJoinMapper.selectJoinPage(page,SolutionsBase.class,queryWrapper); + return PageData.from(iPageData); } @Override -- Gitblit v1.9.3