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

标签功能修改,增删查

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