Browse Source

opt: 商品分类只允许一级设置账套

checkBack
Yen 1 year ago
parent
commit
c00380c2dc
  1. 58
      src/main/java/com/qs/serve/controller/AdminPortalController.java
  2. 3
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsAccountUserServiceImpl.java
  3. 53
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java
  4. 2
      src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java
  5. 5
      src/main/java/com/qs/serve/modules/goods/entity/GoodsCategory.java
  6. 5
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java
  7. 8
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java
  8. 6
      src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsCategoryTreeVo.java
  9. 3
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java
  10. 95
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCategoryServiceImpl.java
  11. 20
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java
  12. 34
      src/main/resources/mapper/goods/GoodsSkuMapper.xml
  13. 6
      src/main/resources/mapper/goods/GoodsSpuMapper.xml

58
src/main/java/com/qs/serve/controller/AdminPortalController.java

@ -11,12 +11,23 @@ import com.qs.serve.common.model.consts.GySysConst;
import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.util.IdUtil;
import com.qs.serve.common.util.JwtUtils;
import com.qs.serve.common.util.ServletUtils;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.*;
import com.qs.serve.controller.dto.SyLoginParam;
import com.qs.serve.controller.util.SyKeyLoginUtil;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.service.BmsSupplierAddressService;
import com.qs.serve.modules.goods.entity.GoodsCategory;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.service.GoodsCategoryRuleService;
import com.qs.serve.modules.goods.service.GoodsCategoryService;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.service.GoodsSpuService;
import com.qs.serve.modules.oms.entity.OmsOrder;
import com.qs.serve.modules.oms.entity.OmsOrderItem;
import com.qs.serve.modules.oms.service.OmsOrderItemService;
import com.qs.serve.modules.oms.service.OmsOrderService;
import com.qs.serve.modules.seeyon.entity.SyAffairStateResult;
import com.qs.serve.modules.seeyon.enums.SyAffairState;
import com.qs.serve.modules.seeyon.service.SeeYonRequestService;
@ -26,6 +37,7 @@ import com.qs.serve.modules.sys.entity.dto.SysLoginByPhoneParam;
import com.qs.serve.modules.sys.entity.dto.SysLoginParam;
import com.qs.serve.modules.sys.entity.dto.SysResetPwdByPhoneParam;
import com.qs.serve.modules.sys.mapper.SysNoticeUserMapper;
import com.qs.serve.modules.sys.service.SysPostUserService;
import com.qs.serve.modules.sys.service.SysTenantService;
import com.qs.serve.modules.sys.service.SysUserLoginService;
import com.qs.serve.modules.sys.service.SysUserService;
@ -74,6 +86,14 @@ public class AdminPortalController {
private TzcPolicyService policyService;
private TbsActivityService activityService;
private OmsOrderService omsOrderService;
private OmsOrderItemService omsOrderItemService;
private BmsSupplierAddressService bmsSupplierAddressService;
private GoodsCategoryRuleService goodsCategoryRuleService;
private GoodsSpuService goodsSpuService;
private GoodsSkuService goodsSkuService;
private GoodsCategoryService goodsCategoryService;
/**
* 获取所有租户
@ -273,5 +293,35 @@ public class AdminPortalController {
return R.ok();
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getOrder/{id}")
public R<OmsOrder> getById(@PathVariable("id") String id,String supplierId){
OmsOrder omsOrder = omsOrderService.getById(id);
omsOrder.setBrandRuleInfo(goodsCategoryRuleService.getById(omsOrder.getBrandRuleId()));
omsOrder.setAddressInfo(bmsSupplierAddressService.getById(omsOrder.getSupplierAddrId()));
if(omsOrder.getSupplierId().toString().equals(supplierId)){
LambdaQueryWrapper<OmsOrderItem> lqw = new LambdaQueryWrapper<>();
lqw.eq(OmsOrderItem::getOrderId,id);
List<OmsOrderItem> list = omsOrderItemService.list(lqw);
for (OmsOrderItem orderItem : list) {
GoodsSpu goodsSpu = goodsSpuService.getById(orderItem.getSpuId());
GoodsCategory goodsCategory = goodsCategoryService.getById(goodsSpu.getCategoryLast());
orderItem.setCategoryInfo(goodsCategory);
orderItem.setSpuInfo(goodsSpu);
GoodsSku goodsSku = goodsSkuService.getById(orderItem.getSkuId());
if(goodsSku!=null){
orderItem.setSkuSpecialFlag(goodsSku.getSpecialFlag());
}
}
omsOrder.setOrderItems(list);
return R.ok(omsOrder);
}
return R.error();
}
}

3
src/main/java/com/qs/serve/modules/bms/service/impl/BmsAccountUserServiceImpl.java

@ -34,9 +34,6 @@ public class BmsAccountUserServiceImpl extends ServiceImpl<BmsAccountUserMapper,
@Override
public void modify(BmsAccountUserBo param) {
BmsAccount account = bmsAccountMapper.selectById(param.getBookId());
if(account.getStopFlag().equals(1)){
Assert.throwEx("账套已停用");
}
List<SysUser> userList = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
.select(SysUser::getId,SysUser::getName,SysUser::getCode)
.in(SysUser::getId,param.getUserIds())

53
src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java

@ -69,7 +69,7 @@ public class BmsRegion2ServiceImpl extends ServiceImpl<BmsRegion2Mapper,BmsRegio
}
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean updateBizRegionById(BmsRegion2 newRegion) {
String regionId = newRegion.getId();
@ -99,7 +99,7 @@ public class BmsRegion2ServiceImpl extends ServiceImpl<BmsRegion2Mapper,BmsRegio
BmsRegion2 p1 = this.getById(newRegion.getPid());
sortList.add(p1.getId());
if(!p1.getPid().equals("0")){
BmsRegion2 p2 = this.getById(newRegion.getPid());
BmsRegion2 p2 = this.getById(p1.getPid());
sortList.add(p2.getId());
}
}
@ -110,45 +110,60 @@ public class BmsRegion2ServiceImpl extends ServiceImpl<BmsRegion2Mapper,BmsRegio
//3级
supplier.setRegion2First(sortList.get(2));
supplier.setRegion2Second(sortList.get(1));
supplier.setRegionThird(sortList.get(0));
supplier.setRegionLast(sortList.get(0));
supplier.setRegion2Third(sortList.get(0));
supplier.setRegion2Last(sortList.get(0));
log.debug("3级变动");
}else if (size==2){
//二级
supplier.setRegionFirst(sortList.get(1));
supplier.setRegion2First(sortList.get(1));
////supplier.setRegion2Last(sortList.get(0));
//supplier.setRegion2Second(sortList.get(0));
if (orgRegion.getLevel() > (newRegion.getLevel())){
supplier.setRegion2Second(sortList.get(0));
//层级变小,由三级变二级
supplier.setRegionThird("0");
log.debug("层级变小,由三级变二级");
supplier.setRegion2Third("0");
}if (orgRegion.getLevel() < (newRegion.getLevel())){
//层级变小,由一级变二级
supplier.setRegionThird(supplier.getRegion2Second());
log.debug("层级变大,由一级变二级");
supplier.setRegion2Third(supplier.getRegion2Second());
supplier.setRegion2Second(sortList.get(0));
}else {
log.debug("二级,平级更新");
supplier.setRegion2Second(sortList.get(0));
if(!StringUtils.hasText(supplier.getRegion2Third())){
supplier.setRegion2Last(supplier.getRegion2Second());
}
}
}else {
//一级
supplier.setRegionFirst(sortList.get(0));
//平级更换
log.debug("更换变一级");
supplier.setRegion2First(sortList.get(0));
supplier.setRegion2Last(sortList.get(0));
if (orgRegion.getLevel() > (newRegion.getLevel())){
//层级变小,由二级变一级
supplier.setRegionSecond(supplier.getRegionThird());
supplier.setRegionThird("0");
log.debug("层级变小,由二级变一级");
Assert.throwEx("二级变一级不支持");
supplier.setRegion2Second(supplier.getRegion2Third());
supplier.setRegion2Third("0");
}else {
supplier.setRegion2Second("0");
supplier.setRegion2Third("0");
}
}
bmsSupplierMapper.updateById(supplier);
}
}
this.updateById(newRegion);
//this.flushAllLevel(true);
return true;
}
@Override
public List<BmsRegion2> listTreeChildByDeep(String pid,Integer parentLevel){
List<BmsRegion2> list = this.listChild(pid);
if(parentLevel > 2 && CollectionUtil.isNotEmpty(list)){
Assert.throwEx("最高只能设置3层级");
}
for (BmsRegion2 region2 : list) {
List<BmsRegion2> childList = listTreeChildByDeep(region2.getId(),parentLevel++);
if(parentLevel > 3 && CollectionUtil.isNotEmpty(childList)){
Assert.throwEx("最高只能设置3层级");
}
region2.setChildNodes(childList);
}
return list;
@ -302,8 +317,8 @@ public class BmsRegion2ServiceImpl extends ServiceImpl<BmsRegion2Mapper,BmsRegio
if(StringUtils.hasText(param.getPid()) && !param.getPid().equals("0")){
BmsRegion2 parent = this.getById(param.getPid());
if(parent!=null){
if(parent.getLevel()>3){
Assert.throwEx("最高支持4层级");
if(parent.getLevel()>2){
Assert.throwEx("最高支持3层级");
}
param.setLevel(parent.getLevel()+1);
param.setPathIds(parent.getPathIds()+"_"+param.getId());

2
src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java

@ -158,6 +158,8 @@ public class GoodsCategoryController {
spuNode.setCode(goodsSpu.getSpuCode());
spuNode.setName(goodsSpu.getName());
spuNode.setCostFlag(goodsSpu.getCostFlag());
spuNode.setBookBelong(goodsSpu.getBookBelong());
spuNode.setBookName(goodsSpu.getBookName());
treeNode.addChildren(spuNode);
}
}

5
src/main/java/com/qs/serve/modules/goods/entity/GoodsCategory.java

@ -59,9 +59,12 @@ public class GoodsCategory implements Serializable {
@Length(max = 255,message = "图片长度不能超过255字")
private String picUrl;
/** 账套 */
/** 账套编码 */
private String bookBelong;
/** 账套名称 */
private String bookName;
/** 排序 */
private Integer sort;

5
src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java

@ -105,9 +105,12 @@ public class GoodsSku implements Serializable {
/** 备注 */
private String remark;
/** 账套 */
/** 账套编码 */
private String bookBelong;
/** 账套名称 */
private String bookName;
/** 产地 */
@NotNull(message = "产地不能为空")
private String belong;

8
src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java

@ -114,9 +114,12 @@ public class GoodsSpu implements Serializable {
/** 可投放费用标识 */
private Integer costFlag;
/** 账套 */
/** 账套编码 */
private String bookBelong;
/** 账套名称 */
private String bookName;
/** 在线下单 */
private Integer orderOnlineFlag;
@ -198,6 +201,9 @@ public class GoodsSpu implements Serializable {
@TableField(exist = false)
private String skuName;
@TableField(exist = false)
private String belong;
/** 重量(kg) */
@TableField(exist = false)
@NotNull(message = "重量(kg)不能为空")

6
src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsCategoryTreeVo.java

@ -41,6 +41,12 @@ public class GoodsCategoryTreeVo extends TreeNode {
@Length(max = 16,message = "名称长度不能超过16字")
private String name;
/** 账套编码 */
private String bookBelong;
/** 账套名称 */
private String bookName;
/** 描述 */
@Length(max = 255,message = "描述长度不能超过255字")
private String description;

3
src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java

@ -36,6 +36,9 @@ public interface GoodsSkuMapper extends BaseMapper<GoodsSku> {
List<GoodSkuVo> selectSkuVo(@Param("query") GoodsSku goodsSku);
@InterceptorIgnore(tenantLine = "1")
int updateBookInfo(@Param("categoryIds")List<Long> categoryIds,@Param("bookCode") String bookCode,@Param("bookName") String bookName);
@InterceptorIgnore(tenantLine = "1")
List<GoodsSku> selectByCategoryIds(@Param("categoryIds")List<Long> categoryIds,@Param("tenantId")String tenantId);

95
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCategoryServiceImpl.java

@ -6,9 +6,13 @@ import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.IdUtil;
import com.qs.serve.modules.bms.entity.BmsAccount;
import com.qs.serve.modules.bms.mapper.BmsAccountMapper;
import com.qs.serve.modules.goods.common.GoodsConst;
import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.entity.bo.GoodsCategoryLevelBo;
import com.qs.serve.modules.goods.mapper.GoodsSkuMapper;
import com.qs.serve.modules.goods.mapper.GoodsSpuMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -17,6 +21,7 @@ import com.qs.serve.modules.goods.service.GoodsCategoryService;
import com.qs.serve.modules.goods.mapper.GoodsCategoryMapper;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@ -30,6 +35,10 @@ import java.util.stream.Collectors;
@AllArgsConstructor
public class GoodsCategoryServiceImpl extends ServiceImpl<GoodsCategoryMapper,GoodsCategory> implements GoodsCategoryService {
private final GoodsSkuMapper goodsSkuMapper;
private final GoodsSpuMapper goodsSpuMapper;
private final BmsAccountMapper accountMapper;
@Override
public GoodsCategory getByCode(String code) {
LambdaQueryWrapper<GoodsCategory> lqw = new LambdaQueryWrapper<>();
@ -47,7 +56,21 @@ public class GoodsCategoryServiceImpl extends ServiceImpl<GoodsCategoryMapper,Go
@Override
public void modify(GoodsCategory category) {
GoodsCategory dbData = this.getById(category.getId());
BmsAccount bookAcc = accountMapper.selectOne(new LambdaQueryWrapper<BmsAccount>()
.eq(BmsAccount::getBookCode,category.getBookBelong()));
GoodsCategory dbData = null;
if(category.getId()!=null){
dbData = this.getById(category.getId());
if(dbData==null){
Assert.throwEx("类目不存在");
}
}else {
if(bookAcc==null){
Assert.throwEx("账套不存在");
}
}
GoodsCategory parent = null;
if( category.getParentId()!=null&&!category.getParentId().equals(0L)){
parent = this.getById(category.getParentId());
@ -59,15 +82,22 @@ public class GoodsCategoryServiceImpl extends ServiceImpl<GoodsCategoryMapper,Go
if(category.getId()==null){
this.save(category);
}
if(parent==null){
category.setParentId(0L);
category.setLevel(1);
category.setLevelPath(category.getId().toString());
category.setLevelPathNames(category.getName());
category.setBookBelong(bookAcc.getBookCode());
category.setBookName(bookAcc.getBookName());
}else {
category.setLevel(parent.getLevel()+1);
category.setLevelPathNames(parent.getLevelPathNames()+"_"+category.getName());
category.setLevelPath(parent.getLevelPath()+"_"+category.getId());
category.setBookBelong(parent.getBookBelong());
category.setBookName(parent.getBookName());
}
if(dbData==null){
this.saveOrUpdate(category);
@ -75,36 +105,41 @@ public class GoodsCategoryServiceImpl extends ServiceImpl<GoodsCategoryMapper,Go
//code不给修改
category.setCode(null);
this.updateById(category);
boolean changePid = !dbData.getParentId().equals(category.getParentId());
boolean changeName = !dbData.getName().equals(category.getName());
if(changePid||changeName){
LambdaQueryWrapper<GoodsCategory> lqw = new LambdaQueryWrapper<>();
lqw.and(v1->{
v1.eq(GoodsCategory::getLevelPath,dbData.getLevelPath())
.or().likeRight(GoodsCategory::getLevelPath,dbData.getLevelPath()+"_");
});
List<GoodsCategory> childList = this.list(lqw);
int diffLevel = dbData.getLevel()-category.getLevel();
List<GoodsCategory> categoryList = childList.stream().map(obj->{
GoodsCategory par = new GoodsCategory();
par.setId(obj.getId());
par.setLevel(obj.getLevel()+diffLevel);
par.setLevelPathNames(obj.getLevelPathNames().replace(dbData.getLevelPathNames(),category.getLevelPathNames()));
par.setLevelPath(obj.getLevelPath().replace(dbData.getLevelPath(),category.getLevelPath()));
return par;
}).collect(Collectors.toList());
this.updateBatchById(categoryList);
}else {
//不进行更新
category.setParentId(null);
category.setLevel(null);
category.setLevelPathNames(null);
category.setLevelPath(null);
}
this.updateById(category);
GoodsCategory finalDbData = dbData;
LambdaQueryWrapper<GoodsCategory> lqw = new LambdaQueryWrapper<>();
lqw.and(v1->{
v1.eq(GoodsCategory::getLevelPath, finalDbData.getLevelPath())
.or().likeRight(GoodsCategory::getLevelPath, finalDbData.getLevelPath()+"_");
});
List<GoodsCategory> childList = this.list(lqw);
int diffLevel = dbData.getLevel()-category.getLevel();
List<GoodsCategory> categoryList = childList.stream().map(obj->{
GoodsCategory par = new GoodsCategory();
par.setId(obj.getId());
par.setLevel(obj.getLevel()+diffLevel);
par.setLevelPathNames(obj.getLevelPathNames().replace(finalDbData.getLevelPathNames(),category.getLevelPathNames()));
par.setLevelPath(obj.getLevelPath().replace(finalDbData.getLevelPath(),category.getLevelPath()));
par.setBookBelong(category.getBookBelong());
par.setBookName(category.getBookName());
return par;
}).collect(Collectors.toList());
this.updateBatchById(categoryList);
}
//更新SKU
List<Long> cateIds = Arrays.asList(category.getId());
goodsSkuMapper.updateBookInfo(cateIds,bookAcc.getBookCode(),bookAcc.getBookName());
//更新SPU
GoodsSpu spuParam = new GoodsSpu();
spuParam.setBookBelong(bookAcc.getBookCode());
spuParam.setBookName(bookAcc.getBookName());
goodsSpuMapper.update(spuParam,new LambdaQueryWrapper<GoodsSpu>()
.in(GoodsSpu::getCategoryFirst,cateIds)
.or()
.in(GoodsSpu::getCategorySecond,cateIds)
.or()
.in(GoodsSpu::getCategoryThird,cateIds)
);
}
@Override

20
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java

@ -5,14 +5,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.*;
import com.qs.serve.modules.goods.common.GoodsConst;
import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue;
import com.qs.serve.modules.goods.entity.GoodsSpecValue;
import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.entity.*;
import com.qs.serve.modules.goods.entity.bo.GoodsSkuBo;
import com.qs.serve.modules.goods.entity.dto.InventoryCusPrice;
import com.qs.serve.modules.goods.entity.so.InventoryCusPriceQuery;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import com.qs.serve.modules.goods.entity.vo.GoodsSkuSpecValueVo;
import com.qs.serve.modules.goods.mapper.GoodsCategoryMapper;
import com.qs.serve.modules.goods.mapper.GoodsSpuMapper;
import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService;
import com.qs.serve.modules.goods.service.GoodsSpecValueService;
@ -21,7 +20,6 @@ import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.mapper.GoodsSkuMapper;
import org.springframework.transaction.annotation.Transactional;
@ -42,6 +40,8 @@ import java.util.stream.Collectors;
@AllArgsConstructor
public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper,GoodsSku> implements GoodsSkuService {
private GoodsCategoryMapper goodsCategoryMapper;
private GoodsSpuMapper goodsSpuMapper;
private GoodsSkuSpecValueService goodsSkuSpecValueService;
private GoodsSpecValueService goodsSpecValueService;
private SeeYonRequestBaseService seeYonRequestBaseService;
@ -262,6 +262,18 @@ public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper,GoodsSku> im
goodsSku.setId(dbGoodSku.getId());
}
//拓展spu
GoodsSpu goodsSpu = goodsSpuMapper.selectById(goodsSku.getId());
if(goodsSpu==null){
Assert.throwEx("商品SKU不存在");
}
GoodsCategory goodsCategory = goodsCategoryMapper.selectById(goodsSpu.getCategoryFirst());
if(goodsCategory==null){
Assert.throwEx("商品SKU ‘"+goodsSpu.getSpuCode()+"’ 关联的分类不存在");
}
goodsSku.setBookBelong(goodsCategory.getBookBelong());
goodsSku.setBookName(goodsCategory.getBookName());
//校验规格值
String specInfos = goodsSku.getBelong().trim()+";"+goodsSku.getTasteVal().trim()+";"+goodsSku.getWrapVal().trim();
LambdaQueryWrapper<GoodsSku> checkSkuSpec = new LambdaQueryWrapper<>();

34
src/main/resources/mapper/goods/GoodsSkuMapper.xml

@ -72,6 +72,34 @@
goods_sku.`belong`
</sql>
<update id="updateBookInfo">
update `goods_sku`
LEFT JOIN `goods_spu`
ON goods_sku.spu_id = goods_spu.id
set goods_sku.book_belong = #{bookCode},goods_sku.book_name = #{bookName}
WHERE
1=1
and goods_sku.del_flag = 0
and goods_sku.enable = 1
and goods_spu.shelf = 1
and (
goods_spu.category_third in
<foreach collection="categoryIds" item="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
or
goods_spu.category_second in
<foreach collection="categoryIds" item="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
or
goods_spu.category_first in
<foreach collection="categoryIds" item="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
)
</update>
<select id="selectGoodsSkuList" parameterType="com.qs.serve.modules.goods.entity.GoodsSku" resultMap="goodsSkuMap">
SELECT <include refid="goodsSkuSql"/> FROM `goods_sku` `goods_sku`
<where>
@ -138,6 +166,7 @@
<if test="query.spuId != null"> and `goods_sku`.`spu_id` = #{query.spuId}</if>
<if test="query.salesPrice != null"> and `goods_sku`.`sales_price` = #{query.salesPrice}</if>
<if test="query.marketPrice != null"> and `goods_sku`.`market_price` = #{query.marketPrice}</if>
<if test="query.bookBelong != null"> and `goods_sku`.`book_belong` = #{query.bookBelong}</if>
<if test="query.orderOnlineFlag != null"> and `goods_sku`.`order_online_flag` = #{query.orderOnlineFlag}</if>
<if test="query.orderOfflineFlag != null"> and `goods_sku`.`order_offline_flag` = #{query.orderOfflineFlag}</if>
<if test="query.costPrice != null"> and `goods_sku`.`cost_price` = #{query.costPrice}</if>
@ -177,6 +206,8 @@
ORDER BY `goods_sku`.`create_time` DESC
</select>
<select id="selectByCategoryIds" resultType="com.qs.serve.modules.goods.entity.GoodsSku">
SELECT goods_sku.* FROM `goods_sku`
LEFT JOIN `goods_spu`
@ -186,7 +217,7 @@
and goods_sku.del_flag = 0
and goods_sku.enable = 1
and goods_spu.shelf = 1
and goods_spu.category_third in
and ( goods_spu.category_third in
<foreach collection="categoryIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
@ -200,6 +231,7 @@
<foreach collection="categoryIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
)
</select>
<select id="getBelongStringList" resultType="java.lang.String">

6
src/main/resources/mapper/goods/GoodsSpuMapper.xml

@ -27,7 +27,6 @@
<result property="cateFirstLabel" column="cate_first_label"/>
<result property="cateSecondLabel" column="cate_second_label"/>
<result property="cateThirdLabel" column="cate_third_label"/>
<result property="belong" column="belong"/>
</resultMap>
<sql id="goodsSkuSql">
@ -62,10 +61,10 @@
goods_spu.`tenant_id`,
goods_spu.`cost_flag`,
goods_spu.`order_flag`,
goods_spu.`book_belong`,
goods_spu.`del_flag`,
goods_spu.`special_sku_id`,
goods_spu.`sku_num_val`,
goods_spu.`belong`
goods_spu.`sku_num_val`
</sql>
<sql id="skuWherePart">
@ -172,6 +171,7 @@
<if test="query.spuCunhuoFlag != null"> and `goods_spu`.`spu_cunhuo_flag` = #{query.spuCunhuoFlag}</if>
<if test="query.orderFlag != null"> and `goods_spu`.`order_flag` = #{query.orderFlag}</if>
<if test="query.sort != null"> and `goods_spu`.`sort` = #{query.sort}</if>
<if test="query.bookBelong != null"> and `goods_spu`.`book_belong` = #{query.bookBelong}</if>
<if test="query.saleNum != null"> and `goods_spu`.`sale_num` = #{query.saleNum}</if>
<if test="query.tasteValue != null and query.tasteValue != ''"> and `goods_spu`.`taste_value` like concat('%',#{query.tasteValue},'%') </if>
<if test="query.createTime != null"> and `goods_spu`.`create_time` = #{query.createTime}</if>

Loading…
Cancel
Save