| | |
| | | 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.ArrayList; |
| | |
| | | private GoodsAdminJoinMapper goodsAdminJoinMapper; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public Integer create(Labels labels) { |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | labels.setCreator(user.getId()); |
| | |
| | | labels.setEditDate(labels.getCreateDate()); |
| | | labels.setIsdeleted(Constants.ZERO); |
| | | labels.setStatus(Constants.ZERO); |
| | | /* if(labels.getParentId()!=null){ |
| | | /*if(labels.getParentId()!=null){ |
| | | labels.setType(Constants.LabelsType.GOODSTYPE.getKey()); |
| | | }else{ |
| | | labels.setType(Constants.LabelsType.GOODSBRAND.getKey()); |
| | | }*/ |
| | | |
| | | labelsMapper.insert(labels); |
| | | if(Constants.equalsInteger(labels.getType(),Constants.LabelsType.BIG_AREA.getKey()) |
| | | if((Constants.equalsInteger(labels.getType(),Constants.LabelsType.BIG_AREA.getKey()) |
| | | ||Constants.equalsInteger(labels.getType(),Constants.LabelsType.YUN_FEE.getKey())) |
| | | && labels.getAreaIdList()!=null |
| | | &&labels.getAreaIdList().size()>0){ |
| | | areasMapper.update(null,new UpdateWrapper<Areas>().lambda() |
| | | .set(Areas::getBigAreaId,labels.getId()) |
| | | .in(Areas::getId,labels.getAreaIdList())); |
| | | areasMapper.update(null,new UpdateWrapper<Areas>().lambda() |
| | | .set(Constants.equalsInteger(labels.getType(),Constants.LabelsType.YUN_FEE.getKey()),Areas::getYunFeeId,labels.getId()) |
| | | .set(Constants.equalsInteger(labels.getType(),Constants.LabelsType.BIG_AREA.getKey()),Areas::getBigAreaId,labels.getId()) |
| | | .in(Constants.equalsInteger(labels.getType(),Constants.LabelsType.YUN_FEE.getKey()),Areas::getId,labels.getAreaIdList()) |
| | | .in(Constants.equalsInteger(labels.getType(),Constants.LabelsType.BIG_AREA.getKey()),Areas::getId,labels.getAreaIdList())); |
| | | areasService.cacheData(); |
| | | } |
| | | return labels.getId(); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void deleteById(Integer id) { |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | Labels query= labelsJoinMapper.selectById(id); |
| | |
| | | labels.setEditDate(new Date()); |
| | | labels.setEditor(user.getId()); |
| | | labelsMapper.updateById(labels); |
| | | if(query!=null && Constants.equalsInteger(query.getType(),Constants.LabelsType.BIG_AREA.getKey())){ |
| | | if(query!=null &&( Constants.equalsInteger(query.getType(),Constants.LabelsType.BIG_AREA.getKey()) |
| | | || Constants.equalsInteger(query.getType(),Constants.LabelsType.YUN_FEE.getKey()))){ |
| | | int num = areasMapper.update(null, new UpdateWrapper<Areas>().lambda() |
| | | .set(Areas::getBigAreaId, null) |
| | | .eq(Areas::getBigAreaId, labels.getId())); |
| | | .set(Constants.equalsInteger(query.getType(),Constants.LabelsType.BIG_AREA.getKey()),Areas::getBigAreaId, null) |
| | | .eq(Constants.equalsInteger(query.getType(),Constants.LabelsType.BIG_AREA.getKey()),Areas::getBigAreaId, labels.getId()) |
| | | .set(Constants.equalsInteger(query.getType(),Constants.LabelsType.YUN_FEE.getKey()),Areas::getYunFeeId, null) |
| | | .eq(Constants.equalsInteger(query.getType(),Constants.LabelsType.YUN_FEE.getKey()),Areas::getYunFeeId, labels.getId())); |
| | | if(num>0){ |
| | | areasService.cacheData(); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void deleteByIdInBatch(List<Integer> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | |
| | | num += areasMapper.update(null, new UpdateWrapper<Areas>().lambda() |
| | | .set(Areas::getBigAreaId, null) |
| | | .eq(Areas::getBigAreaId, labels.getId())); |
| | | num += areasMapper.update(null, new UpdateWrapper<Areas>().lambda() |
| | | .set(Areas::getYunFeeId, null) |
| | | .eq(Areas::getYunFeeId, labels.getId())); |
| | | } |
| | | if(num>0){ |
| | | areasService.cacheData(); |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void updateById(Labels labels) { |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | labels.setEditDate(new Date()); |
| | |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | labelsMapper.updateById(labels); |
| | | if(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey())){ |
| | | if(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey()) |
| | | ||Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey())){ |
| | | //先清空原来所有绑定的数据 |
| | | int num = areasMapper.update(null, new UpdateWrapper<Areas>().lambda() |
| | | .set(Areas::getBigAreaId, null) |
| | | .eq(Areas::getBigAreaId, labels.getId())); |
| | | .set(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey()),Areas::getBigAreaId, null) |
| | | .eq(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey()),Areas::getBigAreaId, labels.getId()) |
| | | .set(Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey()),Areas::getYunFeeId, null) |
| | | .eq(Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey()),Areas::getYunFeeId, labels.getId())); |
| | | if( labels.getAreaIdList()!=null |
| | | &&labels.getAreaIdList().size()>0){ |
| | | //设置最新绑定的数据 |
| | | num += areasMapper.update(null, new UpdateWrapper<Areas>().lambda() |
| | | .set(Areas::getBigAreaId, labels.getId()) |
| | | .in(Areas::getId, labels.getAreaIdList())); |
| | | .set(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey()),Areas::getBigAreaId, labels.getId()) |
| | | .in(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey()),Areas::getId, labels.getAreaIdList()) |
| | | .set(Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey()),Areas::getYunFeeId, labels.getId()) |
| | | .in(Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey()),Areas::getId, labels.getAreaIdList())); |
| | | } |
| | | if(num>0){ |
| | | areasService.cacheData(); |
| | |
| | | |
| | | @Override |
| | | public Labels findById(Integer id) { |
| | | Labels labels= labelsMapper.selectById(id); |
| | | if(labels != null){ |
| | | Labels model= labelsMapper.selectById(id); |
| | | if(model != null){ |
| | | String resourcePath=systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode(); |
| | | getLablesIcon(labels,resourcePath); |
| | | if(Constants.equalsInteger(labels.getType(),Constants.LabelsType.BIG_AREA.getKey())){ |
| | | getLablesIcon(model,resourcePath); |
| | | if(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey()) |
| | | ||Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey())){ |
| | | //如果是大区信息,查询所有绑定额省份信息 |
| | | labels.setAreaList(areasMapper.selectList(new LambdaQueryWrapper<Areas>() |
| | | model.setAreaList(areasMapper.selectList(new LambdaQueryWrapper<Areas>() |
| | | .eq(Areas::getIsdeleted,Constants.ZERO) |
| | | .eq(Areas::getBigAreaId,labels.getId()))); |
| | | .eq(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey()),Areas::getBigAreaId,model.getId()) |
| | | .eq(Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey()),Areas::getYunFeeId,model.getId()))); |
| | | |
| | | } |
| | | } |
| | | return labels; |
| | | return model; |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | public List<Labels> findList(Labels labels) { |
| | | |
| | | |
| | | MPJLambdaWrapper<Labels> query = new MPJLambdaWrapper<>(); |
| | | |
| | | if(labels!=null&&labels.getParentId()!=null){ |
| | | query.eq(Labels::getParentId,labels.getParentId()); |
| | | }else{ |
| | |
| | | } |
| | | query.eq(Labels::getIsdeleted,Constants.ZERO); |
| | | query.eq(labels.getType()!=null,Labels::getType,labels.getType()); |
| | | query.orderByAsc(Labels::getSortnum); |
| | | List<Labels> list= labelsJoinMapper.selectList(query); |
| | | List<Labels> childList= null; |
| | | if(Constants.equalsInteger(labels.getType(),Constants.LabelsType.APPLICABLE_BRAND.getKey())){ |
| | | childList= labelsJoinMapper.selectList(new QueryWrapper<Labels>().lambda() |
| | | .eq(Labels::getIsdeleted,Constants.ZERO) |
| | | .eq(Labels::getType,Constants.LabelsType.SERIES_BRAND.getKey()) |
| | | .orderByAsc(Labels::getSortnum)); |
| | | } |
| | | for(Labels model:list){ |
| | | if(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey())){ |
| | | if(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey()) |
| | | ||Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey())){ |
| | | //如果是大区信息,查询所有绑定额省份信息 |
| | | model.setAreaList(areasMapper.selectList(new LambdaQueryWrapper<Areas>() |
| | | .eq(Areas::getIsdeleted,Constants.ZERO) |
| | | .eq(Areas::getBigAreaId,model.getId()))); |
| | | .eq(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey()),Areas::getBigAreaId,model.getId()) |
| | | .eq(Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey()),Areas::getYunFeeId,model.getId()))); |
| | | } |
| | | if(Constants.equalsInteger(labels.getType(),Constants.LabelsType.APPLICABLE_BRAND.getKey()) |
| | | &&Constants.equalsInteger(model.getType(),Constants.LabelsType.APPLICABLE_BRAND.getKey())){ |
| | | //如果是适应品牌,则查询下级系列 |
| | | model.setChildList(getChildListbyParentId(childList,model.getId())); |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | private List<Labels> getChildListbyParentId(List<Labels> childList, Integer id) { |
| | | List<Labels> list = new ArrayList<>(); |
| | | if(childList!=null && childList.size()>0){ |
| | | for(Labels labels : childList){ |
| | | if(Constants.equalsInteger(labels.getParentId(),id)){ |
| | | list.add(labels); |
| | | } |
| | | } |
| | | |
| | | } |
| | | return list; |
| | | } |
| | |
| | | |
| | | queryWrapper.selectAll(Labels.class); |
| | | queryWrapper.select("(select name from labels where id=t.PARENT_ID) as parentName"); |
| | | if(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.LabelsType.HOMEZHUANQU.getKey())){ |
| | | queryWrapper.select("(select count(g.id) from goods g where g.isdeleted=0 and g.ZHUANQU_IDS like concat('%[',t.id,']%') ) as goodsNum"); |
| | | } |
| | | if(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.LabelsType.APPLICABLE_BRAND.getKey())){ |
| | | queryWrapper.select("(select count(g.id) from goods g where g.isdeleted=0 and g.BRAND_IDS like concat('%[',t.id,']%') ) as goodsNum"); |
| | | } |
| | | if(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.LabelsType.SERIES_BRAND.getKey())){ |
| | | queryWrapper.select("(select count(g.id) from goods g where g.isdeleted=0 and g.SERIAL_IDS like concat('%[',t.id,']%') ) as goodsNum"); |
| | | } |
| | | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Labels::getName,pageWrap.getModel().getName()); |
| | | queryWrapper.eq(pageWrap.getModel().getParentId()!=null,Labels::getParentId,pageWrap.getModel().getParentId()); |
| | | queryWrapper.eq(pageWrap.getModel().getType()!=null,Labels::getType,pageWrap.getModel().getType()); |
| | |
| | | if(StringUtils.isNotBlank(model.getImgurl())){ |
| | | model.setImgFullurl(path + model.getImgurl()); |
| | | } |
| | | if(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey())){ |
| | | if(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey()) |
| | | || Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey())){ |
| | | //如果是大区信息,查询所有绑定额省份信息 |
| | | model.setAreaList(areasMapper.selectList(new LambdaQueryWrapper<Areas>() |
| | | .eq(Areas::getIsdeleted,Constants.ZERO) |
| | | .eq(Areas::getBigAreaId,model.getId()))); |
| | | .eq(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey()),Areas::getBigAreaId,model.getId()) |
| | | .eq(Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey()),Areas::getYunFeeId,model.getId()))); |
| | | } |
| | | } |
| | | } |