From 41115bb4b6d0161ff6d2c15ef6b3d5386a14ac9c Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 02 三月 2026 16:40:54 +0800
Subject: [PATCH] 合并
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 88 insertions(+), 30 deletions(-)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
index cb752f4..e888f69 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
@@ -10,6 +10,8 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.AreasMapper;
+import com.doumee.dao.business.GoodsMapper;
+import com.doumee.dao.business.GoodsorderMapper;
import com.doumee.dao.business.LabelsMapper;
import com.doumee.dao.business.join.GoodsAdminJoinMapper;
import com.doumee.dao.business.join.LabelsJoinMapper;
@@ -31,6 +33,7 @@
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;
@@ -61,9 +64,10 @@
private SystemDictDataBiz systemDictDataBiz;
@Autowired
- private GoodsAdminJoinMapper goodsAdminJoinMapper;
+ private GoodsMapper goodsMapper;
@Override
+ @Transactional
public Integer create(Labels labels) {
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
labels.setCreator(user.getId());
@@ -72,25 +76,40 @@
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();
+ }
+ if(Constants.equalsInteger(labels.getType(),Constants.LabelsType.HOMEZHUANQU.getKey())){
+ String ids = "["+labels.getId()+"],";
+// goodsMapper.update(null,new UpdateWrapper<Goods>().lambda()
+// .setSql("zhuanqu_Ids =REPLACE(zhuanqu_Ids, '"+ids+"', '')"));
+ if( labels.getApplyIdList()!=null && labels.getApplyIdList().size()>0){
+// List<Goods> goods = goodsMapper.selectList(new QueryWrapper<Goods>().lambda().in(Goods::getId,labels.getApplyIdList() ));
+ goodsMapper.update(null,new UpdateWrapper<Goods>().lambda()
+ .setSql("zhuanqu_Ids =concat(ifnull(zhuanqu_Ids,''), '"+ids+"' )")
+ .in(Goods::getId,labels.getApplyIdList() ));
+ }
}
return labels.getId();
}
@Override
+ @Transactional
public void deleteById(Integer id) {
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
Labels query= labelsJoinMapper.selectById(id);
@@ -113,10 +132,13 @@
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();
}
@@ -135,6 +157,7 @@
}
@Override
+ @Transactional
public void deleteByIdInBatch(List<Integer> ids) {
if (CollectionUtils.isEmpty(ids)) {
return;
@@ -151,6 +174,9 @@
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();
@@ -158,6 +184,7 @@
}
@Override
+ @Transactional
public void updateById(Labels labels) {
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
labels.setEditDate(new Date());
@@ -170,20 +197,35 @@
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();
+ }
+ }
+ if(Constants.equalsInteger(labels.getType(),Constants.LabelsType.HOMEZHUANQU.getKey())){
+ String ids = "["+labels.getId()+"],";
+ goodsMapper.update(null,new UpdateWrapper<Goods>().lambda()
+ .setSql("zhuanqu_Ids =REPLACE(zhuanqu_Ids, '"+ids+"', '')"));
+ if( labels.getApplyIdList()!=null && labels.getApplyIdList().size()>0){
+ goodsMapper.update(null,new UpdateWrapper<Goods>().lambda()
+ .setSql("zhuanqu_Ids =concat(ifnull(zhuanqu_Ids,''), '"+ids+"' )")
+ .in(Goods::getId,labels.getApplyIdList() ));
}
}
}
@@ -192,9 +234,11 @@
@Override
public void updateStatusById(Labels labels) {
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
- labels.setEditDate(new Date());
- labels.setEditor(user.getId());
- labelsMapper.updateById(labels);
+ labelsMapper.update(null,new UpdateWrapper<Labels>().lambda()
+ .set(Labels::getEditDate,new Date())
+ .set(Labels::getEditor,user.getId())
+ .set(Labels::getStatus,labels.getStatus())
+ .eq(Labels::getId,labels.getId()));
}
@@ -210,18 +254,21 @@
@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
@@ -255,11 +302,13 @@
.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())){
@@ -332,12 +381,15 @@
}
if(StringUtils.isNotBlank(model.getImgurl())){
model.setImgFullurl(path + model.getImgurl());
+ model.setImgurlfull(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())));
}
}
}
@@ -441,16 +493,22 @@
@Override
- public List<LabelsResponse> getGoodsLabelsByType(Integer type) {
+ public List<LabelsResponse> getGoodsLabelsByType(Integer type,Integer parentId) {
LambdaQueryWrapper<Labels> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Labels::getStatus,Constants.ZERO);
+ wrapper.eq(Labels::getStatus,Constants.ONE);
wrapper.eq(Labels::getIsdeleted,Constants.ZERO);
+ wrapper.eq(Objects.nonNull(parentId),Labels::getParentId,parentId);
wrapper.eq(Labels::getType,type);
wrapper.orderByAsc(Labels::getSortnum,Labels::getCreateDate);
List<Labels> labels = labelsMapper.selectList(wrapper);
+ String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
+ + systemDictDataBiz.queryByCode(Constants.OSS,Constants.LABELS_IMG).getCode();
List<LabelsResponse> collect = labels.stream().map(s -> {
LabelsResponse labelsResponse = new LabelsResponse();
BeanUtils.copyProperties(s, labelsResponse);
+ if(StringUtils.isNotBlank(s.getImgurl())){
+ labelsResponse.setImgUrl(path + s.getImgurl());
+ }
return labelsResponse;
}).collect(Collectors.toList());
return collect;
--
Gitblit v1.9.3