提交 4f65d113 authored 作者: 000516's avatar 000516 提交者: Coding

新增商品标签功能

Merge Request: 新增商品标签功能 Created By: @李秋林 Accepted By: @李秋林 URL: https://g-pkkp8204.coding.net/p/wangxiaolu-sfa/d/wangxiaolu-link-module-bi/git/merge/69?initial=true
......@@ -4,6 +4,7 @@ package com.link.bi.config.advice;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.sfa.common.core.domain.R;
import com.sfa.common.core.web.domain.AjaxResult;
import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType;
import org.springframework.http.server.ServerHttpRequest;
......
package com.link.bi.controller.core;
import cn.hutool.core.collection.CollectionUtil;
import com.link.bi.pojo.request.PrdTagVo;
import com.link.bi.service.IPrdTagCoreService;
import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.CheckedException;
import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author : liqiulin
* @date : 2024-12-04 15
* @describe : 商品标签分配管理
*/
@RestController
@RequestMapping("/prd_tage/core")
public class PrdTagCoreController {
@Autowired
IPrdTagCoreService iPrdTagCoreService;
@RequiresPermissions("bi:prdtag:list")
@PostMapping()
public void addTags(@RequestBody PrdTagVo prdTagVo) {
if (CollectionUtil.isEmpty(prdTagVo.getPrdCodes())){
throw new CheckedException(ECode.LEAST_INCLUDE_ONE_ERROR);
}
iPrdTagCoreService.addTags(prdTagVo);
}
@RequiresPermissions("bi:prdtag:list")
@DeleteMapping("/{prdTagId}")
public void deleteTag(@PathVariable("prdTagId") Integer prdTagId){
iPrdTagCoreService.deleteTag(prdTagId);
}
}
package com.link.bi.controller.query;
import com.link.bi.pojo.request.PrdTagVo;
import com.link.bi.service.IPrdTagQueryService;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @author : liqiulin
* @date : 2024-12-04 18
* @describe :
*/
@RestController
@RequestMapping("/prd_tage/query")
public class PrdTagQueryController {
@Autowired
private IPrdTagQueryService prdTagQueryService;
/**
* 查询标签
*/
@RequiresPermissions("bi:prdtag:list")
@GetMapping("/page")
public PageInfo queryTags(PrdTagVo prdTagVo) {
return prdTagQueryService.pageTag(prdTagVo);
}
@RequiresPermissions("bi:prdtag:list")
@GetMapping("/infos")
public List queryInfo(PrdTagVo prdTagVo){
if (Objects.isNull(prdTagVo.getPrdTagId())){
return new ArrayList<>();
}
return prdTagQueryService.selectTagInfos(prdTagVo);
}
}
......@@ -29,6 +29,7 @@ public class SummaryMarketDailyDetailController {
@GetMapping("/sum_d")
public Map marketSummary(MarketSummaryVo summaryVo){
summaryVo.setDate();
summaryVo.checkPrdCodes();
return summaryService.marketSummary(summaryVo);
}
......
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;
import java.util.Map;
/**
* @author : liqiulin
* @date : 2024-12-04 16
* @describe :
*/
public interface IPrdTagDao {
void addTags(String tagName,List<PrdInfoDto> prdInfos);
PageInfo pageTag(PrdTagWq prdTagWq);
List selectTagInfos(PrdTagWq prdTagWq);
void deleteTag(Integer prdTagId);
}
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);
}
package com.link.bi.domain.dao.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.link.bi.domain.dao.IPrdTagDao;
import com.link.bi.domain.entity.PrdTag;
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;
import com.sfa.common.core.utils.StringUtils;
import com.sfa.common.core.web.domain.PageInfo;
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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @author : liqiulin
* @date : 2024-12-04 16
* @describe :
*/
@Service
public class PrdTagDaoImpl implements IPrdTagDao {
@Autowired
private PrdTagMapper prdTagMapper;
@Autowired
private PrdTagInfoMapper prdTagInfoMapper;
@Transactional(rollbackFor = Exception.class)
@Override
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, "标签名");
}
String username = SecurityUtils.getUsername();
Long userId = SecurityUtils.getUserId();
/**
* 保存标签
*/
PrdTag prdTag = new PrdTag();
prdTag.setCreateBy(username);
prdTag.setCreateUserId(userId);
prdTag.setPrdTagName(tagName);
prdTagMapper.insert(prdTag);
Integer prdTagId = prdTag.getPrdTagId();
/**
* 保存value:商品列表
*/
List<PrdTagInfo> dos = new ArrayList<>();
for (PrdInfoDto prdInfo : prdInfos) {
PrdTagInfo entity = new PrdTagInfo();
entity.setCreateUserId(userId);
entity.setCreateBy(username);
entity.setPrdTagId(prdTagId)
.setPrdTagName(tagName)
.setPrdCode(prdInfo.getPrdCode())
.setPrdName(prdInfo.getPrdName())
.setSeriesId(prdInfo.getSeriesId())
.setSeries(prdInfo.getSeries());
dos.add(entity);
}
prdTagInfoMapper.adds(dos);
}
@Override
public PageInfo pageTag(PrdTagWq prdTagWq) {
LambdaQueryWrapper<PrdTag> qw = buildQwTag(prdTagWq);
Page<PrdTag> page = prdTagMapper.selectPage(TableSupport.pageI(), qw);
PageInfo pageInfo = new PageInfo(page);
return pageInfo;
}
@Override
public List selectTagInfos(PrdTagWq prdTagWq) {
LambdaQueryWrapper<PrdTagInfo> qw = buildQwTagInfo(prdTagWq);
List<PrdTagInfo> prdTagInfos = prdTagInfoMapper.selectList(qw);
return prdTagInfos;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void deleteTag(Integer prdTagId) {
PrdTag prdTag = prdTagMapper.selectById(prdTagId);
prdTag.setUpdateBy(SecurityUtils.getUsername());
prdTag.setUpdateUserId(SecurityUtils.getUserId());
prdTag.setFlag(prdTag.getFlag() + 1);
prdTag.setDelFlag(prdTag.getFlag() + "");
prdTag.setUpdateTime(null);
prdTagMapper.updateById(prdTag);
PrdTagInfo prdTagInfo = new PrdTagInfo();
BeanUtils.copyProperties(prdTag,prdTagInfo);
prdTagInfo.setPrdTagId(prdTagId);
prdTagInfoMapper.updateByPrdTagId(prdTagInfo);
}
private LambdaQueryWrapper<PrdTag> buildQwTag(PrdTagWq prdTagWq) {
LambdaQueryWrapper<PrdTag> qw = new LambdaQueryWrapper<>();
if (StringUtils.isNotBlank(prdTagWq.getTagNameLike())) {
qw.like(PrdTag::getPrdTagName, prdTagWq.getTagNameLike());
}
qw.eq(PrdTag::getDelFlag, StatusType.getDelFlag());
return qw;
}
private LambdaQueryWrapper<PrdTagInfo> buildQwTagInfo(PrdTagWq prdTagWq) {
LambdaQueryWrapper<PrdTagInfo> qw = new LambdaQueryWrapper<>();
if (Objects.nonNull(prdTagWq.getPrdTagId())) {
qw.eq(PrdTagInfo::getPrdTagId, prdTagWq.getPrdTagId());
}
qw.eq(PrdTagInfo::getDelFlag, StatusType.getDelFlag());
return qw;
}
}
......@@ -3,11 +3,13 @@ package com.link.bi.domain.dao.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.link.bi.domain.dao.IProductDao;
import com.link.bi.domain.entity.ProInfo;
import com.link.bi.domain.mapper.ProInfoMapper;
import com.link.bi.domain.mapper.ProSeriesMapper;
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;
......@@ -26,30 +28,42 @@ import java.util.Objects;
@Service
public class ProductDaoImpl implements IProductDao {
@Autowired
ProInfoMapper proInfoMapper;
PrdInfoMapper prdInfoMapper;
@Autowired
ProSeriesMapper proSeriesMapper;
PrdSeriesMapper prdSeriesMapper;
@Override
public List selectSeriesList() {
List<Map<String, Object>> maps = proSeriesMapper.selectListByStatus(StatusType.VALID.getType());
List<Map<String, Object>> maps = prdSeriesMapper.selectListByStatus(StatusType.VALID.getType());
return maps;
}
@Override
public PageInfo productPage(ProductWq pqw) {
LambdaQueryWrapper<ProInfo> qw = new LambdaQueryWrapper<>();
LambdaQueryWrapper<PrdInfo> qw = new LambdaQueryWrapper<>();
if (Objects.nonNull(pqw.getSeriesId())){
qw.eq(ProInfo::getSeriesId,pqw.getSeriesId());
qw.eq(PrdInfo::getSeriesId,pqw.getSeriesId());
}
if (StringUtils.isNotBlank(pqw.getPrdCode())){
qw.eq(ProInfo::getPrdCode,pqw.getPrdCode());
qw.eq(PrdInfo::getPrdCode,pqw.getPrdCode());
}
if (StringUtils.isNotBlank(pqw.getPrdNameLike())){
qw.like(ProInfo::getPrdName,pqw.getPrdNameLike());
qw.like(PrdInfo::getPrdName,pqw.getPrdNameLike());
}
Page<ProInfo> page = proInfoMapper.selectPage(TableSupport.pageI(), qw);
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);
}
}
......@@ -11,9 +11,9 @@ import lombok.Data;
* 商品-管理表
* @TableName pro_info
*/
@TableName(value ="pro_info")
@TableName(value ="prd_info")
@Data
public class ProInfo implements Serializable {
public class PrdInfo implements Serializable {
/**
* 主键id
*/
......
......@@ -11,9 +11,9 @@ import lombok.Data;
* 商品-系列表
* @TableName pro_series
*/
@TableName(value ="pro_series")
@TableName(value ="prd_series")
@Data
public class ProSeries implements Serializable {
public class PrdSeries implements Serializable {
/**
* 主键id
*/
......
package com.link.bi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sfa.common.core.web.domain.BaseDo;
import lombok.Data;
/**
* 商品-标签表
* @TableName prd_tag
*/
@TableName(value ="prd_tag")
@Data
public class PrdTag extends BaseDo {
/**
* 主键id
*/
@TableId(type = IdType.AUTO)
private Integer prdTagId;
/**
* 标签名称
*/
private String prdTagName;
private Integer flag;
private String delFlag;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.link.bi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sfa.common.core.web.domain.BaseDo;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 商品-标签详情表
* @TableName pro_tag_info
*/
@TableName(value ="prd_tag_info")
@Data
@Accessors(chain = true)
public class PrdTagInfo extends BaseDo {
/**
* 主键id
*/
@TableId(type = IdType.AUTO)
private Integer prdTagiId;
/**
* 标签id
*/
private Integer prdTagId;
/**
* 标签名称
*/
private String prdTagName;
/**
* 商品编码
*/
private String prdCode;
/**
* 商品名称
*/
private String prdName;
/**
* 商品系列
*/
private Integer seriesId;
/**
* 商品系列
*/
private String series;
/**
* 版本号
*/
private Integer flag;
private String delFlag;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.link.bi.domain.mapper;
import com.link.bi.domain.entity.ProInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* @author a02200059
* @description 针对表【pro_info(商品-管理表)】的数据库操作Mapper
* @createDate 2024-11-22 16:48:35
* @Entity com.link.bi.domain.entity.ProInfo
*/
@Repository
@Mapper
public interface ProInfoMapper extends BaseMapper<ProInfo> {
}
package com.link.bi.domain.mapper;
import com.link.bi.domain.entity.PrdInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* @author a02200059
* @description 针对表【prd_info(商品-管理表)】的数据库操作Mapper
* @createDate 2024-11-22 16:48:35
* @Entity com.link.bi.domain.entity.PrdInfo
*/
@Repository
@Mapper
public interface PrdInfoMapper extends BaseMapper<PrdInfo> {
}
package com.link.bi.domain.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.link.bi.domain.entity.ProSeries;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
* @author a02200059
* @description 针对表【pro_series(商品-系列表)】的数据库操作Mapper
* @createDate 2024-11-22 16:48:35
* @Entity com.link.bi.domain.entity.ProSeries
*/
@Repository
@Mapper
public interface ProSeriesMapper extends BaseMapper<ProSeries> {
List<Map<String, Object>> selectListByStatus(Integer status);
}
package com.link.bi.domain.mapper;
import com.link.bi.domain.entity.PrdSeries;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
* @author a02200059
* @description 针对表【prd_series(商品-系列表)】的数据库操作Mapper
* @createDate 2024-11-22 16:48:35
* @Entity com.link.bi.domain.entity.PrdSeries
*/
@Repository
@Mapper
public interface PrdSeriesMapper extends BaseMapper<PrdSeries> {
List<Map<String, Object>> selectListByStatus(Integer status);
}
package com.link.bi.domain.mapper;
import com.link.bi.domain.entity.PrdTagInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author a02200059
* @description 针对表【prd_tag_info(商品-标签详情表)】的数据库操作Mapper
* @createDate 2024-12-04 15:35:04
* @Entity com.link.bi.domain.entity.PrdTagInfo
*/
@Mapper
@Repository
public interface PrdTagInfoMapper extends BaseMapper<PrdTagInfo> {
void adds(@Param("items") List<PrdTagInfo> dos);
void updateByPrdTagId(@Param("param") PrdTagInfo prdTagInfo);
}
package com.link.bi.domain.mapper;
import com.link.bi.domain.entity.PrdTag;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* @author a02200059
* @description 针对表【pro_tag(商品-标签表)】的数据库操作Mapper
* @createDate 2024-12-04 15:35:04
* @Entity com.link.bi.domain.entity.ProTag
*/
@Mapper
@Repository
public interface PrdTagMapper extends BaseMapper<PrdTag> {
Integer selectCountBy(String prdTagName);
}
......@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;
/**
* @author : liqiulin
......@@ -55,4 +56,5 @@ public class MarketDetailWq {
* |礼盒-2025小抓财手|、|虎皮凤爪-香辣400g|、|牛肉豆堡-卤香120g|……
* */
private String prdCode;
private List<String> prdCodes;
}
package com.link.bi.domain.wq;
import lombok.Data;
/**
* @author : liqiulin
* @date : 2024-12-04 19
* @describe :
*/
@Data
public class PrdTagWq {
private String tagNameLike;
private Integer prdTagId;
}
......@@ -5,6 +5,7 @@ import com.sfa.common.core.utils.DateUtils;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author : liqiulin
......@@ -36,6 +37,7 @@ public class MarketSummaryVo {
*/
private Date dateStart;
private Date dateEnd;
private List<String> prdCodes;
public boolean isOnlyPlatform() {
return seriesId == null && prdCode == null;
......@@ -49,4 +51,11 @@ public class MarketSummaryVo {
this.dateEnd = date;
}
}
public void checkPrdCodes(){
if (this.prdCodes != null && this.prdCodes.size() > 0) {
this.seriesId = null;
this.prdCode = null;
}
}
}
package com.link.bi.pojo.request;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.List;
/**
* @author : liqiulin
* @date : 2024-12-04 16
* @describe :
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class PrdTagVo {
/**
* 标签名称
*/
private String tagName;
private String tagNameLike;
private Integer prdTagId;
private List<Integer> prdIds;
private List<String> prdCodes;
/**
* 系列详情
*/
// 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 com.link.bi.pojo.request.PrdTagVo;
/**
* @author : liqiulin
* @date : 2024-12-04 15
* @describe :
*/
public interface IPrdTagCoreService {
void addTags(PrdTagVo prdTagVo);
void deleteTag(Integer prdTagId);
}
package com.link.bi.service;
import com.link.bi.pojo.request.PrdTagVo;
import com.sfa.common.core.web.domain.PageInfo;
import java.util.List;
/**
* @author : liqiulin
* @date : 2024-12-04 18
* @describe :
*/
public interface IPrdTagQueryService {
PageInfo pageTag(PrdTagVo prdTagVo);
List selectTagInfos(PrdTagVo prdTagVo);
}
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.List;
/**
* @author : liqiulin
* @date : 2024-12-04 15
* @describe :
*/
@Service
public class PrdTagCoreServiceImpl implements IPrdTagCoreService {
@Autowired
IPrdTagDao prdTagDao;
@Autowired
IProductDao productDao;
@Override
public void addTags(PrdTagVo prdTagVo) {
List<String> prdCodes = prdTagVo.getPrdCodes();
List<PrdInfoDto> prdInfos = productDao.selectListByCodes(prdCodes);
prdTagDao.addTags(prdTagVo.getTagName(),prdInfos);
}
@Override
public void deleteTag(Integer prdTagId) {
prdTagDao.deleteTag(prdTagId);
}
}
package com.link.bi.service.impl;
import com.link.bi.domain.dao.IPrdTagDao;
import com.link.bi.domain.wq.PrdTagWq;
import com.link.bi.pojo.request.PrdTagVo;
import com.link.bi.service.IPrdTagQueryService;
import com.sfa.common.core.web.domain.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author : liqiulin
* @date : 2024-12-04 18
* @describe :
*/
@Service
public class PrdTagQueryServiceImpl implements IPrdTagQueryService {
@Autowired
IPrdTagDao prdTagDao;
/**
* 分页查询标签
*/
@Override
public PageInfo pageTag(PrdTagVo prdTagVo) {
PrdTagWq prdTagWq = new PrdTagWq();
prdTagWq.setTagNameLike(prdTagVo.getTagNameLike());
return prdTagDao.pageTag(prdTagWq);
}
@Override
public List selectTagInfos(PrdTagVo prdTagVo) {
PrdTagWq prdTagWq = new PrdTagWq();
prdTagWq.setPrdTagId(prdTagVo.getPrdTagId());
return prdTagDao.selectTagInfos(prdTagWq);
}
}
......@@ -97,6 +97,12 @@
<if test="qw.prdCode != null and qw.prdCode != '' ">
and prd_code = #{qw.prdCode}
</if>
<if test="qw.prdCodes != null and qw.prdCodes.size() > 0 ">
and prd_code in
<foreach item="item" index="index" collection="qw.prdCodes" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</sql>
<select id="summaryByPlatform" resultMap="SummaryByPlatformMap" >
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.link.bi.domain.mapper.ProInfoMapper">
<resultMap id="BaseResultMap" type="com.link.bi.domain.entity.ProInfo">
<id property="prdId" column="prd_id" jdbcType="INTEGER"/>
<result property="prdCode" column="prd_code" jdbcType="VARCHAR"/>
<result property="prdName" column="prd_name" jdbcType="VARCHAR"/>
<result property="seriesId" column="series_id" jdbcType="INTEGER"/>
<result property="series" column="series" jdbcType="VARCHAR"/>
<result property="prdSpec" column="prd_spec" jdbcType="VARCHAR"/>
<result property="saleStatus" column="sale_status" jdbcType="INTEGER"/>
<result property="status" column="status" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
prd_id,prd_code,prd_name,
series_id,series,prd_spec,
sale_status,status
</sql>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.link.bi.domain.mapper.PrdInfoMapper">
<resultMap id="BaseResultMap" type="com.link.bi.domain.entity.PrdInfo">
<id property="prdId" column="prd_id" jdbcType="INTEGER"/>
<result property="prdCode" column="prd_code" jdbcType="VARCHAR"/>
<result property="prdName" column="prd_name" jdbcType="VARCHAR"/>
<result property="seriesId" column="series_id" jdbcType="INTEGER"/>
<result property="series" column="series" jdbcType="VARCHAR"/>
<result property="prdSpec" column="prd_spec" jdbcType="VARCHAR"/>
<result property="saleStatus" column="sale_status" jdbcType="INTEGER"/>
<result property="status" column="status" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
prd_id,prd_code,prd_name,
series_id,series,prd_spec,
sale_status,status
</sql>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.link.bi.domain.mapper.ProSeriesMapper">
<resultMap id="BaseResultMap" type="com.link.bi.domain.entity.ProSeries">
<id property="seriesId" column="series_id" jdbcType="INTEGER"/>
<result property="seriesName" column="series_name" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
series_id,series_name,status
</sql>
<select id="selectListByStatus" resultType="java.util.Map">
SELECT series_id as seriesId,series_name as seriesName FROM pro_series WHERE status = #{status}
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.link.bi.domain.mapper.PrdSeriesMapper">
<resultMap id="BaseResultMap" type="com.link.bi.domain.entity.PrdSeries">
<id property="seriesId" column="series_id" jdbcType="INTEGER"/>
<result property="seriesName" column="series_name" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
series_id,series_name,status
</sql>
<select id="selectListByStatus" resultType="java.util.Map">
SELECT series_id as seriesId,series_name as seriesName FROM prd_series WHERE status = #{status}
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.link.bi.domain.mapper.PrdTagInfoMapper">
<resultMap id="BaseResultMap" type="com.link.bi.domain.entity.PrdTagInfo">
<id property="prdTagiId" column="prd_tagi_id" jdbcType="INTEGER"/>
<result property="prdTagId" column="prd_tag_id" jdbcType="INTEGER"/>
<result property="prdTagName" column="prd_tag_id" jdbcType="VARCHAR"/>
<result property="prdCode" column="prd_code" jdbcType="VARCHAR"/>
<result property="prdName" column="prd_name" jdbcType="VARCHAR"/>
<result property="seriesId" column="series_id" jdbcType="INTEGER"/>
<result property="series" column="series" jdbcType="VARCHAR"/>
<result property="flag" column="flag" jdbcType="INTEGER"/>
<result property="delFlag" column="del_flag" jdbcType="VARCHAR"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createUserId" column="create_user_id" jdbcType="BIGINT"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateUserId" column="update_user_id" jdbcType="BIGINT"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
prd_tag_id,prd_tag_id,
prd_code,prd_name,series_id,
series,is_delete,create_by,
create_user_id,create_time,update_by,
update_user_id,update_time
</sql>
<select id="adds" parameterType="java.util.List">
INSERT INTO prd_tag_info (
prd_tag_id,prd_tag_name,
prd_code,prd_name,series_id,series,
create_by,
create_user_id
)
VALUES
<foreach collection="items" item="item" index="index" separator=",">
(#{item.prdTagId},#{item.prdTagName},
#{item.prdCode},#{item.prdName},#{item.seriesId},#{item.series},
#{item.createBy},
#{item.createUserId})
</foreach>
</select>
<update id="updateByPrdTagId">
update prd_tag_info set flag = #{param.flag},del_flag = #{param.delFlag},update_by=#{param.updateBy},update_user_id = #{param.updateUserId} where prd_tag_id = #{param.prdTagId};
</update>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.link.bi.domain.mapper.PrdTagMapper">
<resultMap id="BaseResultMap" type="com.link.bi.domain.entity.PrdTag">
<id property="prdTagId" column="prd_tag_id" jdbcType="INTEGER"/>
<result property="prdTagName" column="prd_tag_name" jdbcType="VARCHAR"/>
<result property="flag" column="flag" jdbcType="INTEGER"/>
<result property="delFlag" column="del_flag" jdbcType="VARCHAR"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createUserId" column="create_user_id" jdbcType="BIGINT"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateUserId" column="update_user_id" jdbcType="BIGINT"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
pro_tag_id,tag_name,is_delete,
create_by,create_user_id,create_time,
update_by,update_user_id,update_time
</sql>
<select id="selectCountBy" resultType="java.lang.Integer">
SELECT COUNT(*) FROM prd_tag WHERE prd_tag_name = #{prdTagName} AND del_flag = '0';
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论