k94314517
2024-04-12 e63e56a1b45bc2025147f7f91d248f93a43deb7a
server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
@@ -156,7 +156,7 @@
//                ||Constants.formatIntegerNum(solutions.getPriceCycleUnit()) < 0
                ||Constants.formatIntegerNum(solutions.getInsureCycle()) < 0
                ||Constants.formatIntegerNum(solutions.getInsureCycleUnit()) < 0
                || solutions.getMinAge() >solutions.getMaxAge()
                ||Constants.formatIntegerNum( solutions.getMinAge()) >Constants.formatIntegerNum(solutions.getMaxAge())
                || Constants.formatBigdecimal(solutions.getPrice()).compareTo(new BigDecimal(0)) !=1
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
@@ -194,6 +194,7 @@
        }
        //数据有效性校验
        initCreateParam(solutions);
        solutions.setType(null);//不支持修改投保方案
        if(solutionsMapper.selectCount(new QueryWrapper<Solutions>().lambda()
                .eq(Solutions::getName,solutions.getName())
                .eq(Solutions::getIsdeleted,Constants.ZERO)
@@ -214,7 +215,6 @@
                .last("limit 1")
        );
        if(Objects.isNull(oldVersion)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到历史版本数据");
        }
@@ -234,8 +234,9 @@
                .lambda()
                .eq(SolutionWorktype::getSolutionId,solutions.getId())
        );
        if(Constants.equalsObject(solutions.getType(),Constants.ONE) ){
        if(Constants.equalsObject(model.getType(),Constants.ONE) ){
            if  (solutions.getFanganFile()!=null && StringUtils.isNotBlank(solutions.getFanganFile().getFileurl())){
                multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda()
                                .set(Multifile::getIsdeleted,Constants.ONE)
                                .set(Multifile::getEditDate,solutions.getEditDate())
@@ -243,6 +244,7 @@
                                .eq(Multifile::getObjId,solutions.getId())
                                .eq(Multifile::getIsdeleted,Constants.ZERO)
                                .eq(Multifile::getObjType,Constants.MultiFile.SOLUTIONS_CONFIRMATION_LATTER.getKey()));
                Multifile file = solutions.getFanganFile();
                file.setIsdeleted(Constants.ZERO);
                file.setCreateDate(solutions.getEditDate());
@@ -362,12 +364,19 @@
    @Override
    public List<Solutions> findList(Solutions solutions) {
        LoginUserInfo user = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
        solutions.setIsdeleted(Constants.ZERO);
        solutions.setStatus(Constants.ZERO);
        if(solutions.getDataType() == null){
            solutions.setDataType(Constants.TWO);
        }
        QueryWrapper<Solutions> wrapper = new QueryWrapper<>(solutions);
        if(Constants.equalsObject(user.getType(),Constants.TWO)){
            //如果是删除
//                wrapper.lambda().exists("select c.id from company_solution c left join solutions d on c.solution_id=d.id where c.isdeleted=0 and d.base_id=solutions.base_id and c.shop_id="+user.getCompanyId());//设置无效访问
                wrapper.apply("((solutions.type=0 and exists(select cs.id from company_solution cs left join solutions s on cs.solution_id=s.id where cs.isdeleted=0 and s.base_id=solutions.base_id and cs.shop_id="+user.getCompanyId()+")) or (" +
                        "solutions.type=1 and solutions.shop_id="+user.getCompanyId()+"))") ;
        }
        return solutionsMapper.selectList(wrapper);
    }