提交 7e289807 authored 作者: 李秋林's avatar 李秋林

标签功能修改,增删查

上级 ae55c537
......@@ -24,9 +24,9 @@ public class ControllerResponseAdvice implements ResponseBodyAdvice<Object>{
*/
@Override
public boolean supports(MethodParameter methodParameter, Class converterType) {
if (methodParameter.getParameterType().isAssignableFrom(AjaxResult.class)) {
return false;
}
// if (methodParameter.getParameterType().isAssignableFrom(AjaxResult.class)) {
// return false;
// }
return !methodParameter.getParameterType().isAssignableFrom(R.class);
}
......
......@@ -24,10 +24,10 @@ public class PrdTagCoreController {
@RequiresPermissions("bi:prdtag:list")
@PostMapping()
public void addTags(@RequestBody PrdTagVo prdTagVo) {
if (CollectionUtil.isEmpty(prdTagVo.getTagMap())){
if (CollectionUtil.isEmpty(prdTagVo.getPrdCodes())){
throw new CheckedException(ECode.LEAST_INCLUDE_ONE_ERROR);
}
iPrdTagCoreService.addTags(prdTagVo.getTagName(), prdTagVo.getTagMap());
iPrdTagCoreService.addTags(prdTagVo);
}
@RequiresPermissions("bi:prdtag:list")
......
package com.link.bi.domain.dao;
import com.link.bi.domain.wq.PrdTagWq;
import com.link.bi.pojo.response.PrdInfoDto;
import com.sfa.common.core.web.domain.PageInfo;
import java.util.List;
......@@ -12,7 +13,7 @@ import java.util.Map;
* @describe :
*/
public interface IPrdTagDao {
void addTags(String tagName,Map<String, Map<String, String>> tagMap);
void addTags(String tagName,List<PrdInfoDto> prdInfos);
PageInfo pageTag(PrdTagWq prdTagWq);
......
package com.link.bi.domain.dao;
import com.link.bi.domain.wq.ProductWq;
import com.link.bi.pojo.response.PrdInfoDto;
import com.sfa.common.core.web.domain.PageInfo;
import java.util.List;
......@@ -15,4 +16,8 @@ public interface IProductDao {
PageInfo productPage(ProductWq qw);
List<PrdInfoDto> selectListByIds(List<Integer> ids);
List<PrdInfoDto> selectListByCodes(List<String> prdCodes);
}
......@@ -8,6 +8,7 @@ import com.link.bi.domain.entity.PrdTagInfo;
import com.link.bi.domain.mapper.PrdTagInfoMapper;
import com.link.bi.domain.mapper.PrdTagMapper;
import com.link.bi.domain.wq.PrdTagWq;
import com.link.bi.pojo.response.PrdInfoDto;
import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.enums.StatusType;
import com.sfa.common.core.exception.WXLSQLException;
......@@ -17,14 +18,11 @@ import com.sfa.common.core.web.page.TableSupport;
import com.sfa.common.security.utils.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.sql.SQLIntegrityConstraintViolationException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
......@@ -42,7 +40,7 @@ public class PrdTagDaoImpl implements IPrdTagDao {
@Transactional(rollbackFor = Exception.class)
@Override
public synchronized void addTags(String tagName, Map<String, Map<String, String>> tagMap) {
public synchronized void addTags(String tagName, List<PrdInfoDto> prdInfos) {
Integer count = prdTagMapper.selectCountBy(tagName);
if (count > 0) {
throw new WXLSQLException(ECode.DB_TABLE_UNIQUE_EXIST, "标签名");
......@@ -65,22 +63,19 @@ public class PrdTagDaoImpl implements IPrdTagDao {
* 保存value:商品列表
*/
List<PrdTagInfo> dos = new ArrayList<>();
tagMap.forEach((seriesId, prds) -> {
String[] split = seriesId.split("-");
prds.forEach((prdCode, prdName) -> {
for (PrdInfoDto prdInfo : prdInfos) {
PrdTagInfo entity = new PrdTagInfo();
entity.setCreateUserId(userId);
entity.setCreateBy(username);
entity.setPrdTagId(prdTagId)
.setPrdTagName(tagName)
.setPrdCode(prdCode)
.setPrdName(prdName)
.setSeriesId(Integer.parseInt(split[0]))
.setSeries(split[1]);
.setPrdCode(prdInfo.getPrdCode())
.setPrdName(prdInfo.getPrdName())
.setSeriesId(prdInfo.getSeriesId())
.setSeries(prdInfo.getSeries());
dos.add(entity);
});
});
}
prdTagInfoMapper.adds(dos);
}
......@@ -132,8 +127,6 @@ public class PrdTagDaoImpl implements IPrdTagDao {
if (Objects.nonNull(prdTagWq.getPrdTagId())) {
qw.eq(PrdTagInfo::getPrdTagId, prdTagWq.getPrdTagId());
}
// todo 待完善
System.out.println(StatusType.getDelFlag());
qw.eq(PrdTagInfo::getDelFlag, StatusType.getDelFlag());
return qw;
}
......
......@@ -7,7 +7,9 @@ import com.link.bi.domain.entity.PrdInfo;
import com.link.bi.domain.mapper.PrdInfoMapper;
import com.link.bi.domain.mapper.PrdSeriesMapper;
import com.link.bi.domain.wq.ProductWq;
import com.link.bi.pojo.response.PrdInfoDto;
import com.sfa.common.core.enums.StatusType;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.core.web.page.TableSupport;
import org.apache.commons.lang3.StringUtils;
......@@ -52,4 +54,16 @@ public class ProductDaoImpl implements IProductDao {
Page<PrdInfo> page = prdInfoMapper.selectPage(TableSupport.pageI(), qw);
return new PageInfo<>(page);
}
@Override
public List<PrdInfoDto> selectListByIds(List<Integer> ids) {
List<PrdInfo> prdInfos = prdInfoMapper.selectBatchIds(ids);
return BeanUtils.transitionDtos(prdInfos, PrdInfoDto.class);
}
@Override
public List<PrdInfoDto> selectListByCodes(List<String> prdCodes) {
List<PrdInfo> prdInfos = prdInfoMapper.selectList(new LambdaQueryWrapper<PrdInfo>().in(PrdInfo::getPrdCode, prdCodes));
return BeanUtils.transitionDtos(prdInfos, PrdInfoDto.class);
}
}
......@@ -5,6 +5,7 @@ import com.sfa.common.core.utils.DateUtils;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author : liqiulin
......@@ -37,6 +38,8 @@ public class MarketSummaryVo {
private Date dateStart;
private Date dateEnd;
private List<String> prdCodes;
public boolean isOnlyPlatform() {
return seriesId == null && prdCode == null;
}
......
......@@ -5,7 +5,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.Map;
import java.util.List;
/**
* @author : liqiulin
......@@ -24,10 +24,13 @@ public class PrdTagVo {
private String tagNameLike;
private Integer prdTagId;
private List<Integer> prdIds;
private List<String> prdCodes;
/**
* 系列详情
*/
private Map<String, Map<String, String>> tagMap;
// private Map<String, Map<String, String>> tagMap;
}
package com.link.bi.pojo.response;
import lombok.Data;
/**
* @author : liqiulin
* @date : 2024-12-05 17
* @describe :
*/
@Data
public class PrdInfoDto {
/**
* 主键id
*/
private Integer prdId;
/**
* 商品编码
*/
private String prdCode;
/**
* 商品名称
*/
private String prdName;
/**
* 商品系列
*/
private Integer seriesId;
/**
* 商品系列
*/
private String series;
}
package com.link.bi.service;
import java.util.Map;
import com.link.bi.pojo.request.PrdTagVo;
/**
* @author : liqiulin
......@@ -8,7 +8,7 @@ import java.util.Map;
* @describe :
*/
public interface IPrdTagCoreService {
void addTags(String tagName,Map<String, Map<String, String>> tagMap);
void addTags(PrdTagVo prdTagVo);
void deleteTag(Integer prdTagId);
}
package com.link.bi.service.impl;
import com.link.bi.domain.dao.IPrdTagDao;
import com.link.bi.domain.dao.IProductDao;
import com.link.bi.pojo.request.PrdTagVo;
import com.link.bi.pojo.response.PrdInfoDto;
import com.link.bi.service.IPrdTagCoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;
/**
* @author : liqiulin
......@@ -16,12 +19,14 @@ import java.util.Map;
public class PrdTagCoreServiceImpl implements IPrdTagCoreService {
@Autowired
IPrdTagDao prdTagDao;
@Autowired
IProductDao productDao;
@Override
public void addTags(String tagName,Map<String, Map<String, String>> tagMap) {
prdTagDao.addTags(tagName,tagMap);
public void addTags(PrdTagVo prdTagVo) {
List<String> prdCodes = prdTagVo.getPrdCodes();
List<PrdInfoDto> prdInfos = productDao.selectListByCodes(prdCodes);
prdTagDao.addTags(prdTagVo.getTagName(),prdInfos);
}
@Override
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论