Browse Source

调整

mssql
Yen 3 years ago
parent
commit
e765af265a
  1. 1
      src/main/java/com/qs/serve/common/model/enums/SystemModule.java
  2. 103
      src/main/java/com/qs/serve/modules/biz/controller/BizVisitController.java
  3. 139
      src/main/java/com/qs/serve/modules/biz/controller/api/BizVisitApi.java
  4. 97
      src/main/java/com/qs/serve/modules/biz/entity/BizVisit.java
  5. 14
      src/main/java/com/qs/serve/modules/biz/mapper/BizVisitMapper.java
  6. 14
      src/main/java/com/qs/serve/modules/biz/service/BizVisitService.java
  7. 22
      src/main/java/com/qs/serve/modules/biz/service/impl/BizVisitServiceImpl.java
  8. 64
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java
  9. 6
      src/main/java/com/qs/serve/modules/bms/mapper/BmsSupplierMapper.java
  10. 3
      src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java
  11. 11
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java
  12. 17
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java
  13. 23
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java
  14. 8
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuSpecController.java
  15. 2
      src/main/java/com/qs/serve/modules/goods/controller/api/GoodsCategoryApi.java
  16. 7
      src/main/java/com/qs/serve/modules/goods/entity/GoodsCategory.java
  17. 8
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java
  18. 4
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java
  19. 2
      src/main/java/com/qs/serve/modules/goods/entity/vo/GoodSkuVo.java
  20. 54
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java
  21. 17
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java
  22. 40
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java
  23. 8
      src/main/java/com/qs/serve/modules/oms/entity/dto/ShoppingCartsCheckResult.java
  24. 12
      src/main/java/com/qs/serve/modules/oms/service/OmsShoppingCartService.java
  25. 37
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java
  26. 62
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsShoppingCartServiceImpl.java
  27. 17
      src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java
  28. 51
      src/main/java/com/qs/serve/modules/sys/controller/api/SysDictApi.java
  29. 8
      src/main/java/com/qs/serve/modules/sys/entity/bo/SysRelateSuppliersParam.java
  30. 26
      src/main/java/com/qs/serve/modules/sys/entity/bo/SysRelateSuppliersParam2.java
  31. 3
      src/main/java/com/qs/serve/modules/sys/entity/bo/SysUserParentParam.java
  32. 63
      src/main/java/com/qs/serve/modules/wx/controller/WxUserController.java
  33. 3
      src/main/java/com/qs/serve/modules/wx/entity/WxUser.java
  34. 1
      src/main/java/com/qs/serve/modules/wx/service/WxUserService.java
  35. 24
      src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java
  36. 1
      src/main/resources/mapper/goods/GoodsSkuMapper.xml

1
src/main/java/com/qs/serve/common/model/enums/SystemModule.java

@ -12,6 +12,7 @@ import lombok.Getter;
public enum SystemModule { public enum SystemModule {
QUESTION("qms","问卷"), QUESTION("qms","问卷"),
BIZ("biz","业务"),
BASE("bms","基础档案"), BASE("bms","基础档案"),
GOODS("goods","商品"), GOODS("goods","商品"),
SYSTEM("sys","系统"), SYSTEM("sys","系统"),

103
src/main/java/com/qs/serve/modules/biz/controller/BizVisitController.java

@ -0,0 +1,103 @@
package com.qs.serve.modules.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.biz.entity.BizVisit;
import com.qs.serve.modules.biz.service.BizVisitService;
import javax.validation.Valid;
import java.util.List;
/**
* 业务 拜访日志
* @author YenHex
* @since 2022-10-26
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("biz/visit")
public class BizVisitController {
private BizVisitService bizVisitService;
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('biz:visit:query')")
public R<PageVo<BizVisit>> getPage(BizVisit param){
PageUtil.startPage();
LambdaQueryWrapper<BizVisit> visitWrapper = new LambdaQueryWrapper<>(param);
List<BizVisit> list = bizVisitService.list(visitWrapper);
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.QUERY)
@PreAuthorize("hasRole('biz:visit:query')")
public R<BizVisit> getById(@PathVariable("id") String id){
BizVisit bizVisit = bizVisitService.getById(id);
return R.ok(bizVisit);
}
/**
* 更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.UPDATE)
@PreAuthorize("hasRole('biz:visit:update')")
public R<?> updateById(@RequestBody @Valid BizVisit param){
boolean result = bizVisitService.updateById(param);
return R.isTrue(result);
}
/**
* 新增
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.INSERT)
@PreAuthorize("hasRole('biz:visit:insert')")
public R<?> save(@RequestBody @Valid BizVisit param){
boolean result = bizVisitService.save(param);
return R.isTrue(result);
}
/**
* 删除
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.DELETE)
@PreAuthorize("hasRole('biz:visit:delete')")
public R<?> deleteById(@PathVariable("id") Long id){
boolean result = bizVisitService.removeById(id);
return R.isTrue(result);
}
}

139
src/main/java/com/qs/serve/modules/biz/controller/api/BizVisitApi.java

@ -0,0 +1,139 @@
package com.qs.serve.modules.biz.controller.api;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.biz.entity.BizVisit;
import com.qs.serve.modules.biz.service.BizVisitService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.service.WxUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* API业务 拜访日志
* @author YenHex
* @since 2022-10-26
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/api/visit")
public class BizVisitApi {
private BizVisitService bizVisitService;
private WxUserService wxUserService;
private SysUserService sysUserService;
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<BizVisit>> getPage(BizVisit param){
WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getSysUserId()==null||wxUser.getSysUserId().equals("0")){
return R.byEmptyList();
}
String userId = wxUser.getSysUserId();
param.setVisitorId(userId);
PageUtil.startPage();
LambdaQueryWrapper<BizVisit> visitWrapper = new LambdaQueryWrapper<>(param);
List<BizVisit> list = bizVisitService.list(visitWrapper);
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
public R<BizVisit> getById(@PathVariable("id") String id){
WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getSysUserId()==null||wxUser.getSysUserId().equals("0")){
return R.ok();
}
String userId = wxUser.getSysUserId();
BizVisit bizVisit = bizVisitService.getById(id);
if(!bizVisit.getVisitorId().equals(userId)){
return R.ok();
}
return R.ok(bizVisit);
}
/**
* 更新
* @param param
* @return
*/
@PostMapping("/updateById")
public R<?> updateById(@RequestBody @Valid BizVisit param){
WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getSysUserId()==null||wxUser.getSysUserId().equals("0")){
return R.ok();
}
String userId = wxUser.getSysUserId();
BizVisit bizVisit = bizVisitService.getById(param.getId());
if(!bizVisit.getVisitorId().equals(userId)){
return R.ok();
}
boolean result = bizVisitService.updateById(param);
return R.isTrue(result);
}
/**
* 新增
* @param param
* @return
*/
@PostMapping("/save")
public R<?> save(@RequestBody @Valid BizVisit param){
WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getSysUserId()==null||wxUser.getSysUserId().equals("0")){
return R.ok();
}
String userId = wxUser.getSysUserId();
SysUser sysUser = sysUserService.getById(userId);
param.setVisitorId(userId);
param.setVisitorName(sysUser.getName());
boolean result = bizVisitService.save(param);
return R.isTrue(result);
}
/**
* 删除
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
public R<?> deleteById(@PathVariable("id") Long id){
WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getSysUserId()==null||wxUser.getSysUserId().equals("0")){
return R.ok();
}
String userId = wxUser.getSysUserId();
BizVisit bizVisit = bizVisitService.getById(id);
if(!bizVisit.getVisitorId().equals(userId)){
return R.ok();
}
boolean result = bizVisitService.removeById(id);
return R.isTrue(result);
}
}

97
src/main/java/com/qs/serve/modules/biz/entity/BizVisit.java

@ -0,0 +1,97 @@
package com.qs.serve.modules.biz.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler;
import lombok.Data;
import org.apache.ibatis.type.JdbcType;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* 拜访日志 实体类
* @author YenHex
* @since 2022-10-26
*/
@Data
@TableName("biz_visit")
public class BizVisit implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** 图片 */
@TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR)
private String[] photos;
/** 纬度 */
@Length(max = 255,message = "纬度长度不能超过255字")
private String localX;
/** 经度 */
@Length(max = 255,message = "经度长度不能超过255字")
private String localY;
/** 地址 */
@Length(max = 512,message = "地址长度不能超过512字")
private String address;
/** 类型:单选 【潜在客户签到;培训会议;其他定点签到;在家办公 】 */
@Length(max = 255,message = "类型:单选 【潜在客户签到;培训会议;其他定点签到;在家办公 】长度不能超过255字")
private String signType;
/** 拜访人id */
@Length(max = 32,message = "拜访人id长度不能超过32字")
private String visitorId;
/** 拜访人 */
@Length(max = 32,message = "拜访人长度不能超过32字")
private String visitorName;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 最后更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
}

14
src/main/java/com/qs/serve/modules/biz/mapper/BizVisitMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.biz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.biz.entity.BizVisit;
/**
* 拜访日志 Mapper
* @author YenHex
* @date 2022-10-26
*/
public interface BizVisitMapper extends BaseMapper<BizVisit> {
}

14
src/main/java/com/qs/serve/modules/biz/service/BizVisitService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.biz.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.biz.entity.BizVisit;
/**
* 拜访日志 服务接口
* @author YenHex
* @date 2022-10-26
*/
public interface BizVisitService extends IService<BizVisit> {
}

22
src/main/java/com/qs/serve/modules/biz/service/impl/BizVisitServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.biz.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.biz.entity.BizVisit;
import com.qs.serve.modules.biz.service.BizVisitService;
import com.qs.serve.modules.biz.mapper.BizVisitMapper;
/**
* 拜访日志 服务实现类
* @author YenHex
* @since 2022-10-26
*/
@Slf4j
@Service
@AllArgsConstructor
public class BizVisitServiceImpl extends ServiceImpl<BizVisitMapper,BizVisit> implements BizVisitService {
}

64
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java

@ -12,9 +12,11 @@ import com.qs.serve.modules.bms.entity.bo.BmsSupplierBatchBo;
import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo; import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo;
import com.qs.serve.modules.bms.entity.bo.BmsSupplierParentBo; import com.qs.serve.modules.bms.entity.bo.BmsSupplierParentBo;
import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo;
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper;
import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.bms.service.BmsRegionService;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.entity.bo.SysRelateSuppliersParam; import com.qs.serve.modules.sys.entity.bo.SysRelateSuppliersParam;
import com.qs.serve.modules.sys.entity.bo.SysRelateSuppliersParam2;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -42,6 +44,7 @@ public class BmsSupplierController {
private BmsSupplierService bmsSupplierService; private BmsSupplierService bmsSupplierService;
private BmsRegionService bmsRegionService; private BmsRegionService bmsRegionService;
private SysUserService sysUserService; private SysUserService sysUserService;
private BmsSupplierMapper bmsSupplierMapper;
/** /**
* 翻页查询 * 翻页查询
@ -116,20 +119,63 @@ public class BmsSupplierController {
/** /**
* 更改客户授权 * 更改客户授权(用户页面)
* @return * @return
*/ */
@PostMapping("/relateSuppliers") @PostMapping("/relateSuppliers")
@PreAuthorize("hasRole('bms:supplier:update')") @PreAuthorize("hasRole('bms:supplier:update')")
public R<?> relateSuppliers(@RequestBody SysRelateSuppliersParam param){ public R<?> relateSuppliers(@RequestBody @Valid SysRelateSuppliersParam param){
SysUser user = sysUserService.getById(param.getUserId());
LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>();
lqw.in(BmsSupplier::getId,param.getSupplierIds()); lqw.eq(BmsSupplier::getUserId,param.getUserId());
BmsSupplier bmsSupplier = new BmsSupplier(); List<Long> supplierIds = param.getSupplierIds();
bmsSupplier.setUserCode(user.getCode()); List<BmsSupplier> list = bmsSupplierService.list(lqw);
bmsSupplier.setUserId(user.getId()); List<Long> addIds = null;
bmsSupplier.setUserName(user.getName()); if(CollectionUtil.isNotEmpty(list)){
bmsSupplierService.update(bmsSupplier,lqw); List<BmsSupplier> rmList = list.stream().filter(sup->!supplierIds.contains(Long.parseLong(sup.getId()))).collect(Collectors.toList());
List<Long> rmIds = rmList.stream().map(obj->Long.parseLong(obj.getId())).collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(rmIds)){
rmIds.forEach(rmId->bmsSupplierMapper.removeRelateUserInfo(rmId));
}
addIds = supplierIds.stream()
.filter(
supId-> list.stream().noneMatch(obj->obj.getId().equals(supId.toString()))
)
.collect(Collectors.toList());
}else {
addIds = supplierIds;
}
if(CollectionUtil.isNotEmpty(addIds)){
SysUser user = sysUserService.getById(param.getUserId()); BmsSupplier bmsSupplier = new BmsSupplier();
LambdaQueryWrapper<BmsSupplier> lqw2 = new LambdaQueryWrapper<>();
lqw2.in(BmsSupplier::getId,addIds);
bmsSupplier.setUserCode(user.getCode());
bmsSupplier.setUserId(user.getId());
bmsSupplier.setUserName(user.getName());
bmsSupplierService.update(bmsSupplier,lqw2);
}
return R.ok();
}
/**
* 更改客户授权
* @return
*/
@PostMapping("/relateSuppliers2")
@PreAuthorize("hasRole('bms:supplier:update')")
public R<?> relateSuppliers2(@RequestBody SysRelateSuppliersParam2 param){
if(param.getUserId()==null){
bmsSupplierMapper.removeRelateUserInfo(param.getSupplierId());
}else {
SysUser user = sysUserService.getById(param.getUserId());
LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>();
BmsSupplier bmsSupplier = new BmsSupplier();
bmsSupplier.setId(param.getSupplierId().toString());
bmsSupplier.setUserCode(user.getCode());
bmsSupplier.setUserId(user.getId());
bmsSupplier.setUserName(user.getName());
bmsSupplierService.update(bmsSupplier,lqw);
}
return R.ok(); return R.ok();
} }

6
src/main/java/com/qs/serve/modules/bms/mapper/BmsSupplierMapper.java

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.BmsSupplier;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
/** /**
@ -16,5 +18,9 @@ public interface BmsSupplierMapper extends BaseMapper<BmsSupplier> {
@InterceptorIgnore(tenantLine = "1") @InterceptorIgnore(tenantLine = "1")
List<BmsSupplier> selectSupplierList(@Param("query") BmsSupplier bmsSupplier); List<BmsSupplier> selectSupplierList(@Param("query") BmsSupplier bmsSupplier);
@InterceptorIgnore(tenantLine = "1")
@Update("update bms_supplier set user_id = null,user_code = null, user_name = null where id = #{supplierId}")
int removeRelateUserInfo(@Param("supplierId") Long supplierId);
} }

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

@ -9,7 +9,6 @@ import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.TreeUtil; import com.qs.serve.common.util.TreeUtil;
import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo;
import com.qs.serve.modules.goods.entity.bo.GoodsCategoryTreeVo; import com.qs.serve.modules.goods.entity.bo.GoodsCategoryTreeVo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -74,7 +73,7 @@ public class GoodsCategoryController {
List<GoodsCategoryTreeVo> treeVoList = list.stream().map(cate->{ List<GoodsCategoryTreeVo> treeVoList = list.stream().map(cate->{
GoodsCategoryTreeVo treeNode = CopierUtil.copy(cate,new GoodsCategoryTreeVo()); GoodsCategoryTreeVo treeNode = CopierUtil.copy(cate,new GoodsCategoryTreeVo());
treeNode.setId(cate.getId()+""); treeNode.setId(cate.getId()+"");
treeNode.setParentId(cate.getParentId()); treeNode.setParentId(cate.getParentId().toString());
treeNode.setSort(0); treeNode.setSort(0);
return treeNode; return treeNode;
}).collect(Collectors.toList()); }).collect(Collectors.toList());

11
src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java

@ -7,7 +7,9 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo; import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@ -31,6 +33,7 @@ import java.util.List;
public class GoodsSkuController { public class GoodsSkuController {
private GoodsSkuService goodsSkuService; private GoodsSkuService goodsSkuService;
private GoodsSkuSpecValueService goodsSkuSpecValueService;
/** /**
* 翻页查询 * 翻页查询
@ -58,8 +61,6 @@ public class GoodsSkuController {
return R.ok(goodsSku); return R.ok(goodsSku);
} }
/** /**
* 根据ID更新 * 根据ID更新
* @param param * @param param
@ -96,6 +97,12 @@ public class GoodsSkuController {
@PreAuthorize("hasRole('goods:sku:delete')") @PreAuthorize("hasRole('goods:sku:delete')")
public R<?> deleteById(@PathVariable("id") String id){ public R<?> deleteById(@PathVariable("id") String id){
boolean result = goodsSkuService.removeById(id); boolean result = goodsSkuService.removeById(id);
if(result){
//删除商品规格值
LambdaQueryWrapper<GoodsSkuSpecValue> lqw2 = new LambdaQueryWrapper<>();
lqw2.eq(GoodsSkuSpecValue::getSkuId,id);
goodsSkuSpecValueService.remove(lqw2);
}
return R.isTrue(result); return R.isTrue(result);
} }

17
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java

@ -7,7 +7,10 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue;
import com.qs.serve.modules.goods.entity.GoodsSpec; import com.qs.serve.modules.goods.entity.GoodsSpec;
import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService;
import com.qs.serve.modules.goods.service.GoodsSpecService; import com.qs.serve.modules.goods.service.GoodsSpecService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -31,9 +34,9 @@ import java.util.List;
@RequestMapping("goods/specValue") @RequestMapping("goods/specValue")
public class GoodsSpecValueController { public class GoodsSpecValueController {
private GoodsSpecValueService goodsSpecValueService;
private GoodsSpecService goodsSpecService; private GoodsSpecService goodsSpecService;
private GoodsSpecValueService goodsSpecValueService;
private GoodsSkuSpecValueService goodsSkuSpecValueService;
/** /**
* 规格 列表 * 规格 列表
@ -46,7 +49,6 @@ public class GoodsSpecValueController {
return R.ok(list); return R.ok(list);
} }
/** /**
* 规格值 翻页 * 规格值 翻页
* @param param * @param param
@ -111,9 +113,14 @@ public class GoodsSpecValueController {
@SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.DELETE) @SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:specValue:delete')") @PreAuthorize("hasRole('goods:specValue:delete')")
public R<?> deleteById(@PathVariable("id") String id){ public R<?> deleteById(@PathVariable("id") String id){
//todo 含有正在使用的商品无法删除 //含有正在使用的商品无法删除
LambdaQueryWrapper<GoodsSkuSpecValue> lqw = new LambdaQueryWrapper<>();
lqw.eq(GoodsSkuSpecValue::getSpecValueId,id);
long count = goodsSkuSpecValueService.count(lqw);
if(count>0L){
return R.error("规格值使用中,删除失败");
}
boolean result = goodsSpecValueService.removeById(id); boolean result = goodsSpecValueService.removeById(id);
return R.isTrue(result); return R.isTrue(result);
} }

23
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java

@ -8,9 +8,15 @@ import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.ValidateTools; import com.qs.serve.common.util.ValidateTools;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue;
import com.qs.serve.modules.goods.entity.GoodsSpuSpec;
import com.qs.serve.modules.goods.entity.bo.GoodsSpuBatchTasteBo; import com.qs.serve.modules.goods.entity.bo.GoodsSpuBatchTasteBo;
import com.qs.serve.modules.goods.entity.bo.GoodsSpuEditBo; import com.qs.serve.modules.goods.entity.bo.GoodsSpuEditBo;
import com.qs.serve.modules.goods.entity.vo.GoodsSpuVo; import com.qs.serve.modules.goods.entity.vo.GoodsSpuVo;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService;
import com.qs.serve.modules.goods.service.GoodsSpuSpecService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@ -33,7 +39,10 @@ import java.util.List;
@RequestMapping("goods/spu") @RequestMapping("goods/spu")
public class GoodsSpuController { public class GoodsSpuController {
private GoodsSkuService goodsSkuService;
private GoodsSpuService goodsSpuService; private GoodsSpuService goodsSpuService;
private GoodsSpuSpecService goodsSpuSpecService;
private GoodsSkuSpecValueService goodsSkuSpecValueService;
/** /**
* 翻页搜索 * 翻页搜索
@ -86,6 +95,20 @@ public class GoodsSpuController {
public R<?> deleteById(@PathVariable("id") String id){ public R<?> deleteById(@PathVariable("id") String id){
//todo 拦截删除商品 //todo 拦截删除商品
boolean result = goodsSpuService.removeById(id); boolean result = goodsSpuService.removeById(id);
if(result){
//删除商品规格
LambdaQueryWrapper<GoodsSpuSpec> lqw = new LambdaQueryWrapper<>();
lqw.eq(GoodsSpuSpec::getSpuId,id);
goodsSpuSpecService.remove(lqw);
//删除商品规格值
LambdaQueryWrapper<GoodsSkuSpecValue> lqw2 = new LambdaQueryWrapper<>();
lqw2.eq(GoodsSkuSpecValue::getSpuId,id);
goodsSkuSpecValueService.remove(lqw2);
//删除商品sku
LambdaQueryWrapper<GoodsSku> lqw3 = new LambdaQueryWrapper<>();
lqw3.eq(GoodsSku::getSpuId,id);
goodsSkuService.remove(lqw3);
}
return R.isTrue(result); return R.isTrue(result);
} }

8
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuSpecController.java

@ -24,10 +24,10 @@ import java.util.List;
* @author YenHex * @author YenHex
* @since 2022-10-09 * @since 2022-10-09
*/ */
@Slf4j //@Slf4j
@AllArgsConstructor //@AllArgsConstructor
@RestController //@RestController
@RequestMapping("goods/spuSpec") //@RequestMapping("goods/spuSpec")
public class GoodsSpuSpecController { public class GoodsSpuSpecController {
private GoodsSpuSpecService goodsSpuSpecService; private GoodsSpuSpecService goodsSpuSpecService;

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

@ -46,7 +46,7 @@ public class GoodsCategoryApi {
List<GoodsCategoryTreeVo> treeVoList = list.stream().map(cate->{ List<GoodsCategoryTreeVo> treeVoList = list.stream().map(cate->{
GoodsCategoryTreeVo treeNode = CopierUtil.copy(cate,new GoodsCategoryTreeVo()); GoodsCategoryTreeVo treeNode = CopierUtil.copy(cate,new GoodsCategoryTreeVo());
treeNode.setId(cate.getId()+""); treeNode.setId(cate.getId()+"");
treeNode.setParentId(cate.getParentId()); treeNode.setParentId(cate.getParentId().toString());
treeNode.setSort(0); treeNode.setSort(0);
return treeNode; return treeNode;
}).collect(Collectors.toList()); }).collect(Collectors.toList());

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

@ -30,16 +30,13 @@ public class GoodsCategory implements Serializable {
private Long id; private Long id;
/** (1:开启;0:关闭) */ /** (1:开启;0:关闭) */
@NotBlank(message = "(1:开启;0:关闭)不能为空") private Integer enable;
@Length(max = 2,message = "(1:开启;0:关闭)长度不能超过2字")
private String enable;
@NotBlank(message = "编码不能为空") @NotBlank(message = "编码不能为空")
private String code; private String code;
/** 父分类编号 */ /** 父分类编号 */
@Length(max = 32,message = "父分类编号长度不能超过32字") private Long parentId;
private String parentId;
/** 名称 */ /** 名称 */
@Length(max = 16,message = "名称长度不能超过16字") @Length(max = 16,message = "名称长度不能超过16字")

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

@ -71,9 +71,7 @@ public class GoodsSku implements Serializable {
private Integer minPurchase; private Integer minPurchase;
/** 是否启用1、是;0否 */ /** 是否启用1、是;0否 */
@NotBlank(message = "是否启用1、是;0否不能为空") private Integer enable;
@Length(max = 2,message = "是否启用1、是;0否长度不能超过2字")
private String enable;
/** 单位id */ /** 单位id */
private Long unitId; private Long unitId;
@ -118,5 +116,9 @@ public class GoodsSku implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private List<Long> selectSkuIds; private List<Long> selectSkuIds;
/** 是否上架(1是 0否) */
@TableField(exist = false)
private Integer querySpuShelf;
} }

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

@ -65,9 +65,7 @@ public class GoodsSpu implements Serializable {
private String[] picUrls; private String[] picUrls;
/** 是否上架(1是 0否) */ /** 是否上架(1是 0否) */
@NotBlank(message = "是否上架(1是 0否)不能为空") private Integer shelf;
@Length(max = 2,message = "是否上架(1是 0否)长度不能超过2字")
private String shelf;
/** 排序字段 */ /** 排序字段 */
@NotNull(message = "排序字段不能为空") @NotNull(message = "排序字段不能为空")

2
src/main/java/com/qs/serve/modules/goods/entity/vo/GoodSkuVo.java

@ -15,6 +15,6 @@ public class GoodSkuVo extends GoodsSku {
private Long spuId; private Long spuId;
/** 是否上架(1是 0否) */ /** 是否上架(1是 0否) */
private String shelf; private Integer shelf;
} }

54
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java

@ -92,6 +92,10 @@ public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> im
GoodsCategory category = goodsCategoryService.getById(spuEditBo.getCategoryId()); GoodsCategory category = goodsCategoryService.getById(spuEditBo.getCategoryId());
relateCate(spu,category); relateCate(spu,category);
this.saveOrUpdate(spu); this.saveOrUpdate(spu);
if(spuId==null){
//保存spu与规格关联
insertSpuSpec(spu.getId());
}
} }
@ -149,23 +153,7 @@ public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> im
if(spu.getId()==null){ if(spu.getId()==null){
this.save(spu); this.save(spu);
//保存spu与规格关联 //保存spu与规格关联
List<GoodsSpuSpec> spuSpecList = new ArrayList<>(); insertSpuSpec(spu.getId());
GoodsSpuSpec spuSpec = new GoodsSpuSpec();
spuSpec.setSpuId(spu.getId());
spuSpec.setSpecId(1L);
spuSpec.setSort(2);
spuSpecList.add(spuSpec);
GoodsSpuSpec spuSpec2 = new GoodsSpuSpec();
spuSpec2.setSpuId(spu.getId());
spuSpec2.setSpecId(2L);
spuSpec2.setSort(1);
spuSpecList.add(spuSpec2);
GoodsSpuSpec spuSpec3 = new GoodsSpuSpec();
spuSpec3.setSpuId(spu.getId());
spuSpec3.setSpecId(3L);
spuSpec3.setSort(1);
spuSpecList.add(spuSpec3);
goodsSpuSpecService.saveBatch(spuSpecList);
}else { }else {
this.updateById(spu); this.updateById(spu);
} }
@ -194,7 +182,7 @@ public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> im
goodsUnit.setName(tasteProduct.getUnit()); goodsUnit.setName(tasteProduct.getUnit());
goodsUnitService.save(goodsUnit); goodsUnitService.save(goodsUnit);
} }
goodsSku.setEnable("1"); goodsSku.setEnable(1);
goodsSku.setUnitId(goodsUnit.getId()); goodsSku.setUnitId(goodsUnit.getId());
goodsSku.setUnitName(goodsUnit.getName()); goodsSku.setUnitName(goodsUnit.getName());
} }
@ -227,10 +215,10 @@ public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> im
*/ */
private void relateCate(GoodsSpu spu,GoodsCategory category){ private void relateCate(GoodsSpu spu,GoodsCategory category){
spu.setCategoryLast(category.getId()+""); spu.setCategoryLast(category.getId()+"");
if(!category.getParentId().equals("0")){ if(!category.getParentId().toString().equals("0")){
GoodsCategory categorySecond = goodsCategoryService.getById(category.getParentId()); GoodsCategory categorySecond = goodsCategoryService.getById(category.getParentId());
if(!categorySecond.getParentId().equals("0")){ if(!categorySecond.getParentId().toString().equals("0")){
spu.setCategoryFirst(categorySecond.getParentId()); spu.setCategoryFirst(categorySecond.getParentId()+"");
spu.setCategorySecond(categorySecond.getId()+""); spu.setCategorySecond(categorySecond.getId()+"");
spu.setCategoryThird(category.getId()+""); spu.setCategoryThird(category.getId()+"");
}else { }else {
@ -244,5 +232,29 @@ public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> im
} }
} }
/**
* 初始化商品规格关联
* @param spuId
*/
private void insertSpuSpec(Long spuId){
List<GoodsSpuSpec> spuSpecList = new ArrayList<>();
GoodsSpuSpec spuSpec = new GoodsSpuSpec();
spuSpec.setSpuId(spuId);
spuSpec.setSpecId(1L);
spuSpec.setSort(2);
spuSpecList.add(spuSpec);
GoodsSpuSpec spuSpec2 = new GoodsSpuSpec();
spuSpec2.setSpuId(spuId);
spuSpec2.setSpecId(2L);
spuSpec2.setSort(1);
spuSpecList.add(spuSpec2);
GoodsSpuSpec spuSpec3 = new GoodsSpuSpec();
spuSpec3.setSpuId(spuId);
spuSpec3.setSpecId(3L);
spuSpec3.setSort(1);
spuSpecList.add(spuSpec3);
goodsSpuSpecService.saveBatch(spuSpecList);
}
} }

17
src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java

@ -63,27 +63,11 @@ public class OmsOrderApi {
*/ */
@GetMapping("/getById/{id}") @GetMapping("/getById/{id}")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.QUERY) @SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.QUERY)
@PreAuthorize("hasRole('oms:order:query')")
public R<OmsOrder> getById(@PathVariable("id") String id){ public R<OmsOrder> getById(@PathVariable("id") String id){
OmsOrder omsOrder = omsOrderService.getById(id); OmsOrder omsOrder = omsOrderService.getById(id);
return R.ok(omsOrder); return R.ok(omsOrder);
} }
/**
* 新增订单
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.INSERT)
@PreAuthorize("hasRole('oms:order:insert')")
public R<?> save(@RequestBody @Valid OmsOrder param){
boolean result = omsOrderService.save(param);
return R.isTrue(result);
}
/** /**
* 删除订单 * 删除订单
* @param id * @param id
@ -91,7 +75,6 @@ public class OmsOrderApi {
*/ */
@DeleteMapping("/deleteById/{id}") @DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE) @SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE)
@PreAuthorize("hasRole('oms:order:delete')")
public R<?> deleteById(@PathVariable("id") String id){ public R<?> deleteById(@PathVariable("id") String id){
boolean result = omsOrderService.removeById(id); boolean result = omsOrderService.removeById(id);
return R.isTrue(result); return R.isTrue(result);

40
src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java

@ -42,7 +42,6 @@ public class OmsShoppingCartApi {
private OmsShoppingCartService omsShoppingCartService; private OmsShoppingCartService omsShoppingCartService;
private GoodsSkuSpecValueService goodsSkuSpecValueService; private GoodsSkuSpecValueService goodsSkuSpecValueService;
private BmsRuleMainService bmsRuleMainService; private BmsRuleMainService bmsRuleMainService;
private BmsSupplierService bmsSupplierService;
private GoodsSpuService goodsSpuService; private GoodsSpuService goodsSpuService;
private GoodsSkuService goodsSkuService; private GoodsSkuService goodsSkuService;
private WxUserService wxUserService; private WxUserService wxUserService;
@ -56,47 +55,14 @@ public class OmsShoppingCartApi {
public R<PageVo<OmsShoppingCart>> getPage(OmsShoppingCart param){ public R<PageVo<OmsShoppingCart>> getPage(OmsShoppingCart param){
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier(); BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();
WxUser wxUser = wxUserService.getCurrentWxUser(true); WxUser wxUser = wxUserService.getCurrentWxUser(true);
if(wxUser==null||supplier==null){ if(wxUser==null){
return R.byEmptyList(); return R.byEmptyList();
} }
LambdaQueryWrapper<OmsShoppingCart> shoppingCartWrapper = new LambdaQueryWrapper<>(param); LambdaQueryWrapper<OmsShoppingCart> shoppingCartWrapper = new LambdaQueryWrapper<>(param);
shoppingCartWrapper.eq(OmsShoppingCart::getUserId,wxUser.getSysUserId()); shoppingCartWrapper.eq(OmsShoppingCart::getUserId,wxUser.getSysUserId());
PageUtil.startPage(); PageUtil.startPage();
List<OmsShoppingCart> shoppingCarts = omsShoppingCartService.list(shoppingCartWrapper); List<OmsShoppingCart> shoppingCarts = omsShoppingCartService.list(shoppingCartWrapper);
//校验 omsShoppingCartService.checkShoppingCarts(supplier,shoppingCarts,false);
List<Long> skuIds = shoppingCarts.stream().map(OmsShoppingCart::getSkuId).collect(Collectors.toList());
GoodsSku goodsSku = new GoodsSku();
goodsSku.setSelectSkuIds(skuIds);
//过滤无效sku
List<GoodSkuVo> goodsSkus = goodsSkuService.selectSkuVo(goodsSku);
List<GoodSkuVo> invalidSkus = goodsSkus.stream().filter(vo->vo.getShelf().equals("0")||vo.getEnable().equals("0")).collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(invalidSkus)){
for (GoodSkuVo invalidSku : invalidSkus) {
for (OmsShoppingCart shoppingCart : shoppingCarts) {
if(shoppingCart.getSkuId().equals(invalidSku.getId())){
shoppingCart.setErrCode(1);
shoppingCart.setErrMessage("已下架");
break;
}
}
}
}
goodsSkus = goodsSkus.stream().filter(vo->vo.getShelf().equals("1")&&vo.getEnable().equals("1")).collect(Collectors.toList());
//todo 检验库存
//检验规格拦截
List<GoodsSku> goodsSkuEntities = goodsSkus.stream().map(vo-> CopierUtil.copy(vo,new GoodsSku())).collect(Collectors.toList());
List<Long> invalidSkuIds = bmsRuleMainService.checkErrSkuIds(supplier,goodsSkuEntities);
if(CollectionUtil.isNotEmpty(invalidSkuIds)){
for (Long invalidSkuId : invalidSkuIds) {
for (OmsShoppingCart shoppingCart : shoppingCarts) {
if(shoppingCart.getSkuId().equals(invalidSkuId)){
shoppingCart.setErrCode(1);
shoppingCart.setErrMessage("已不符合商品规则");
break;
}
}
}
}
return R.byPageHelperList(shoppingCarts); return R.byPageHelperList(shoppingCarts);
} }
@ -128,7 +94,7 @@ public class OmsShoppingCartApi {
WxUser wxUser = wxUserService.getCurrentWxUser(true); WxUser wxUser = wxUserService.getCurrentWxUser(true);
shoppingCart.setUserId(wxUser.getSysUserId()); shoppingCart.setUserId(wxUser.getSysUserId());
GoodsSku goodsSku = goodsSkuService.getById(shoppingCart.getSkuId()); GoodsSku goodsSku = goodsSkuService.getById(shoppingCart.getSkuId());
if(!goodsSku.getEnable().equals("1")){ if(!goodsSku.getEnable().equals(1)){
return R.error("商品项["+goodsSku.getSpecInfos()+"]停用中"); return R.error("商品项["+goodsSku.getSpecInfos()+"]停用中");
} }
shoppingCart.setPicUrl(goodsSku.getPicUrl()); shoppingCart.setPicUrl(goodsSku.getPicUrl());

8
src/main/java/com/qs/serve/modules/oms/entity/dto/ShoppingCartsCheckResult.java

@ -0,0 +1,8 @@
package com.qs.serve.modules.oms.entity.dto;
/**
* @author YenHex
* @since 2022/10/26
*/
public class ShoppingCartsCheckResult {
}

12
src/main/java/com/qs/serve/modules/oms/service/OmsShoppingCartService.java

@ -1,7 +1,9 @@
package com.qs.serve.modules.oms.service; package com.qs.serve.modules.oms.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.oms.entity.OmsShoppingCart; import com.qs.serve.modules.oms.entity.OmsShoppingCart;
import com.qs.serve.modules.oms.entity.dto.ShoppingCartsCheckResult;
import java.util.List; import java.util.List;
@ -14,5 +16,15 @@ public interface OmsShoppingCartService extends IService<OmsShoppingCart> {
List<OmsShoppingCart> listByIds(List<Long> ids,String supplierId); List<OmsShoppingCart> listByIds(List<Long> ids,String supplierId);
/**
* 检测购物车
* @param supplier
* @param shoppingCarts
* @param throwEx 购物车不抛异常
* @return
*/
ShoppingCartsCheckResult checkShoppingCarts(BmsSupplier supplier, List<OmsShoppingCart> shoppingCarts, boolean throwEx);
} }

37
src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java

@ -42,38 +42,29 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
private OmsShoppingCartService omsShoppingCartService; private OmsShoppingCartService omsShoppingCartService;
private GoodsSkuService goodsSkuService; private GoodsSkuService goodsSkuService;
private GoodsSpuService goodsSpuService; private GoodsSpuService goodsSpuService;
private BmsRuleMainService bmsRuleMainService;
private BmsSupplierAddressService bmsSupplierAddressService; private BmsSupplierAddressService bmsSupplierAddressService;
@Override @Override
public OmsConfirmOrderResult generateConfirmOrder(OmsConfirmOrderBo confirmOrder) { public OmsConfirmOrderResult generateConfirmOrder(OmsConfirmOrderBo confirmOrder) {
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier(); BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();
List<Long> skuIds; //购物车
List<OmsShoppingCart> shoppingCarts;
if(CollectionUtil.isNotEmpty(confirmOrder.getShoppingCartIds())){ if(CollectionUtil.isNotEmpty(confirmOrder.getShoppingCartIds())){
//购物车 shoppingCarts = omsShoppingCartService.listByIds(confirmOrder.getShoppingCartIds(),supplier.getId());
List<OmsShoppingCart> shoppingCarts = omsShoppingCartService.listByIds(confirmOrder.getShoppingCartIds(),supplier.getId());
skuIds = shoppingCarts.stream().map(OmsShoppingCart::getSkuId).collect(Collectors.toList());
}else { }else {
//立即购买 //立即购买,生成临时购物车
skuIds = Arrays.asList(confirmOrder.getSkuId()); GoodsSku goodsSku = goodsSkuService.getById(confirmOrder.getSkuId());
} OmsShoppingCart shoppingCart = new OmsShoppingCart();
GoodsSku goodsSku = new GoodsSku(); shoppingCart.setId(0L);
goodsSku.setSelectSkuIds(skuIds); shoppingCart.setSpuId(goodsSku.getSpuId());
//过滤无效sku shoppingCart.setSkuId(confirmOrder.getSkuId());
List<GoodSkuVo> goodsSkus = goodsSkuService.selectSkuVo(goodsSku); shoppingCart.setQuantity(confirmOrder.getQuantity());
List<GoodSkuVo> invalidSkus = goodsSkus.stream().filter(vo->vo.getShelf().equals("0")||vo.getEnable().equals("0")).collect(Collectors.toList()); shoppingCart.setSpecInfo(goodsSku.getSpecInfos());
if(CollectionUtil.isNotEmpty(invalidSkus)){ shoppingCart.setPicUrl(goodsSku.getPicUrl());
Assert.throwEx("部分商品停用或下架了"); shoppingCarts = Arrays.asList(shoppingCart);
}
goodsSkus = goodsSkus.stream().filter(vo->vo.getShelf().equals("1")&&vo.getEnable().equals("1")).collect(Collectors.toList());
//todo 检验库存
//检验规格拦截
List<GoodsSku> goodsSkuEntities = goodsSkus.stream().map(vo-> CopierUtil.copy(vo,new GoodsSku())).collect(Collectors.toList());
List<Long> invalidSkuIds = bmsRuleMainService.checkErrSkuIds(supplier,goodsSkuEntities);
if(CollectionUtil.isNotEmpty(invalidSkuIds)){
Assert.throwEx("客户不符合部分商品规则");
} }
omsShoppingCartService.checkShoppingCarts(supplier,shoppingCarts,true);
OmsCalcAmount calcAmount = new OmsCalcAmount(); OmsCalcAmount calcAmount = new OmsCalcAmount();
//todo 计算供应商折扣 //todo 计算供应商折扣
//todo 计算是否有活动优惠 //todo 计算是否有活动优惠

62
src/main/java/com/qs/serve/modules/oms/service/impl/OmsShoppingCartServiceImpl.java

@ -2,6 +2,16 @@ package com.qs.serve.modules.oms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.service.BmsRuleMainService;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.service.GoodsSpuService;
import com.qs.serve.modules.oms.entity.dto.ShoppingCartsCheckResult;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -10,6 +20,7 @@ import com.qs.serve.modules.oms.service.OmsShoppingCartService;
import com.qs.serve.modules.oms.mapper.OmsShoppingCartMapper; import com.qs.serve.modules.oms.mapper.OmsShoppingCartMapper;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 购物车 服务实现类 * 购物车 服务实现类
@ -21,6 +32,10 @@ import java.util.List;
@AllArgsConstructor @AllArgsConstructor
public class OmsShoppingCartServiceImpl extends ServiceImpl<OmsShoppingCartMapper,OmsShoppingCart> implements OmsShoppingCartService { public class OmsShoppingCartServiceImpl extends ServiceImpl<OmsShoppingCartMapper,OmsShoppingCart> implements OmsShoppingCartService {
private GoodsSpuService goodsSpuService;
private GoodsSkuService goodsSkuService;
private BmsRuleMainService bmsRuleMainService;
@Override @Override
public List<OmsShoppingCart> listByIds(List<Long> ids, String supplierId) { public List<OmsShoppingCart> listByIds(List<Long> ids, String supplierId) {
LambdaQueryWrapper<OmsShoppingCart> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OmsShoppingCart> lqw = new LambdaQueryWrapper<>();
@ -29,5 +44,52 @@ public class OmsShoppingCartServiceImpl extends ServiceImpl<OmsShoppingCartMappe
return this.list(lqw); return this.list(lqw);
} }
@Override
public ShoppingCartsCheckResult checkShoppingCarts(BmsSupplier supplier, List<OmsShoppingCart> shoppingCarts, boolean throwEx){
ShoppingCartsCheckResult cartsCheckResult = new ShoppingCartsCheckResult();
//校验
List<Long> skuIds = shoppingCarts.stream().map(OmsShoppingCart::getSkuId).collect(Collectors.toList());
GoodsSku goodsSku = new GoodsSku();
goodsSku.setSelectSkuIds(skuIds);
goodsSku.setEnable(1);
goodsSku.setQuerySpuShelf(1);
List<GoodSkuVo> goodsSkus = goodsSkuService.selectSkuVo(goodsSku);
for (OmsShoppingCart shoppingCart : shoppingCarts) {
boolean isOk = goodsSkus.stream().anyMatch(vo -> {
if(vo.getShelf().equals(0)||vo.getEnable().equals(0)){
return false;
}
return shoppingCart.getSkuId().equals(vo.getId());
});
if(!isOk){
if(throwEx){
Assert.throwEx("部分商已下架");
}
shoppingCart.setErrCode(1);
shoppingCart.setErrMessage("已下架");
}
}
goodsSkus = goodsSkus.stream().filter(vo->vo.getShelf().equals(1)&&vo.getEnable().equals(1)).collect(Collectors.toList());
//todo 检验库存
//检验规格拦截
List<GoodsSku> goodsSkuEntities = goodsSkus.stream().map(vo-> CopierUtil.copy(vo,new GoodsSku())).collect(Collectors.toList());
List<Long> invalidSkuIds = bmsRuleMainService.checkErrSkuIds(supplier,goodsSkuEntities);
if(CollectionUtil.isNotEmpty(invalidSkuIds)){
for (Long invalidSkuId : invalidSkuIds) {
for (OmsShoppingCart shoppingCart : shoppingCarts) {
if(shoppingCart.getSkuId().equals(invalidSkuId)){
if(throwEx){
Assert.throwEx("客户不符合部分商品规则");
}
shoppingCart.setErrCode(1);
shoppingCart.setErrMessage("已不符合商品规则");
break;
}
}
}
}
return cartsCheckResult;
}
} }

17
src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java

@ -55,7 +55,9 @@ public class SysUserController {
@GetMapping("/tree") @GetMapping("/tree")
@PreAuthorize("hasRole('sys:user:query')") @PreAuthorize("hasRole('sys:user:query')")
public R<List<SysUserSalesTreeVo>> getTree(){ public R<List<SysUserSalesTreeVo>> getTree(){
List<SysUser> sysUsers = sysUserService.list(); LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(SysUser::getSalesFlag,1);
List<SysUser> sysUsers = sysUserService.list(lqw);
List<SysUserSales> userSales = sysUserSalesService.list(); List<SysUserSales> userSales = sysUserSalesService.list();
for (SysUser sysUser : sysUsers) { for (SysUser sysUser : sysUsers) {
sysUser.setParentId("0"); sysUser.setParentId("0");
@ -317,12 +319,23 @@ public class SysUserController {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public R<?> updateSalesParent(@RequestBody @Valid SysUserParentParam userBo){ public R<?> updateSalesParent(@RequestBody @Valid SysUserParentParam userBo){
final String pid = userBo.getParentId(); final String pid = userBo.getParentId();
List<SysUserSales> sysUserSalesList = userBo.getUserIds().stream().map(uid->{ final SysUserSales userSales = sysUserSalesService.getById(pid);
boolean isExist = userBo.getUserIds().stream().filter(StringUtils::hasText).anyMatch(objId->userSales.getPid().equals(objId));
if(isExist&&userBo.getUserIds().size()>1){
return R.error("多节点操作出现递归数据");
}
List<SysUserSales> sysUserSalesList = userBo.getUserIds().stream().filter(StringUtils::hasText).map(uid->{
SysUserSales sysUserSales = new SysUserSales(); SysUserSales sysUserSales = new SysUserSales();
sysUserSales.setUserId(uid); sysUserSales.setUserId(uid);
sysUserSales.setPid(pid); sysUserSales.setPid(pid);
return sysUserSales; return sysUserSales;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
if(isExist){
SysUserSales sysUserSales = new SysUserSales();
sysUserSales.setUserId(userSales.getPid());
sysUserSales.setPid(userSales.getUserId());
sysUserSalesList.add(sysUserSales);
}
sysUserSalesService.saveOrUpdateBatch(sysUserSalesList); sysUserSalesService.saveOrUpdateBatch(sysUserSalesList);
return R.ok(); return R.ok();
} }

51
src/main/java/com/qs/serve/modules/sys/controller/api/SysDictApi.java

@ -0,0 +1,51 @@
package com.qs.serve.modules.sys.controller.api;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.sys.entity.SysDict;
import com.qs.serve.modules.sys.service.SysDictService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* API系统 字典
* @author YenHex
* @since 2022-05-20
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("api/dict")
public class SysDictApi {
private SysDictService sysDictService;
/**
* 列表查询
* @param group 分组key
* @return
*/
@GetMapping("/list")
public R<?> getList(String group){
if(StringUtils.hasEmpty(group)){
return R.error("查询参数为空");
}
PageUtil.startPage();
LambdaQueryWrapper<SysDict> dictWrapper = new LambdaQueryWrapper<>();
dictWrapper.eq(SysDict::getGroupKey,group);
dictWrapper.orderByDesc(SysDict::getSort);
List<SysDict> list = sysDictService.list(dictWrapper);
return R.ok(list);
}
}

8
src/main/java/com/qs/serve/modules/sys/entity/bo/SysRelateSuppliersParam.java

@ -2,6 +2,7 @@ package com.qs.serve.modules.sys.entity.bo;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
/** /**
@ -11,8 +12,15 @@ import java.util.List;
@Data @Data
public class SysRelateSuppliersParam { public class SysRelateSuppliersParam {
/**
* 用户ID当user==null为清楚客户绑定
*/
String userId; String userId;
/**
* 供应商id列表
*/
@NotNull
List<Long> supplierIds; List<Long> supplierIds;
} }

26
src/main/java/com/qs/serve/modules/sys/entity/bo/SysRelateSuppliersParam2.java

@ -0,0 +1,26 @@
package com.qs.serve.modules.sys.entity.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author YenHex
* @since 2022/10/25
*/
@Data
public class SysRelateSuppliersParam2 {
/**
* 用户ID当user==null为清楚客户绑定
*/
String userId;
/**
* 供应商id列表
*/
@NotNull
Long supplierId;
}

3
src/main/java/com/qs/serve/modules/sys/entity/bo/SysUserParentParam.java

@ -2,6 +2,7 @@ package com.qs.serve.modules.sys.entity.bo;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
@ -21,7 +22,7 @@ public class SysUserParentParam {
/** /**
* 父级id * 父级id
*/ */
@NotNull @NotBlank
private String parentId; private String parentId;
} }

63
src/main/java/com/qs/serve/modules/wx/controller/WxUserController.java

@ -43,6 +43,7 @@ public class WxUserController {
public R<PageVo<WxUser>> getList(WxUser param){ public R<PageVo<WxUser>> getList(WxUser param){
PageUtil.startPage(); PageUtil.startPage();
LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>(param); LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>(param);
lqw.eq(WxUser::getFirstFlag,1);
if(param.getNotBindFlag()!=null&&param.getNotBindFlag().equals(1)){ if(param.getNotBindFlag()!=null&&param.getNotBindFlag().equals(1)){
lqw.isNull(WxUser::getPhone).or().eq(WxUser::getPhone,""); lqw.isNull(WxUser::getPhone).or().eq(WxUser::getPhone,"");
}else if (param.getNotBindFlag()!=null&&param.getNotBindFlag().equals(0)){ }else if (param.getNotBindFlag()!=null&&param.getNotBindFlag().equals(0)){
@ -76,12 +77,22 @@ public class WxUserController {
return R.error("该微信用户已被绑定"); return R.error("该微信用户已被绑定");
} }
SysUser sysUser = sysUserService.getById(param.getSysUserId()); SysUser sysUser = sysUserService.getById(param.getSysUserId());
WxUser updVo = new WxUser(); if(!StringUtils.hasText(wxUser.getUnionId())){
updVo.setId(wxUser.getId()); WxUser updVo = new WxUser();
updVo.setSysUserId(sysUser.getId()); updVo.setId(wxUser.getId());
updVo.setEmpName(sysUser.getName()); updVo.setSysUserId(sysUser.getId());
updVo.setPhone(sysUser.getMobile()); updVo.setEmpName(sysUser.getName());
wxUserService.updateById(updVo); updVo.setPhone(sysUser.getMobile());
wxUserService.updateById(updVo);
}else {
LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(WxUser::getUnionId,wxUser.getUnionId());
WxUser updVo = new WxUser();
updVo.setSysUserId(sysUser.getId());
updVo.setEmpName(sysUser.getName());
updVo.setPhone(sysUser.getMobile());
wxUserService.update(updVo,lqw);
}
return R.ok(); return R.ok();
} }
@ -94,10 +105,20 @@ public class WxUserController {
public R<?> rmBind(@RequestBody @Valid WxUserRmBindBo param){ public R<?> rmBind(@RequestBody @Valid WxUserRmBindBo param){
if(StringUtils.hasText(param.getWxUserId())){ if(StringUtils.hasText(param.getWxUserId())){
WxUser wxUser = wxUserService.getById(param.getWxUserId()); WxUser wxUser = wxUserService.getById(param.getWxUserId());
wxUser.setSysUserId("0"); if(!StringUtils.hasText(wxUser.getUnionId())){
wxUser.setEmpName(wxUser.getNickName()); wxUser.setSysUserId("0");
wxUser.setPhone(""); wxUser.setEmpName(wxUser.getNickName());
wxUserService.updateById(wxUser); wxUser.setPhone("");
wxUserService.updateById(wxUser);
}else {
LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(WxUser::getUnionId,wxUser.getUnionId());
WxUser updVo = new WxUser();
updVo.setSysUserId("0");
updVo.setEmpName(wxUser.getNickName());
updVo.setPhone("");
wxUserService.update(updVo,lqw);
}
}else if (StringUtils.hasText(param.getSysUserId())){ }else if (StringUtils.hasText(param.getSysUserId())){
SysUser sysUser = sysUserService.getById(param.getSysUserId()); SysUser sysUser = sysUserService.getById(param.getSysUserId());
List<WxUser> wxUserList = wxUserService.getBySysUserId(sysUser.getId()); List<WxUser> wxUserList = wxUserService.getBySysUserId(sysUser.getId());
@ -111,27 +132,5 @@ public class WxUserController {
return R.ok(); return R.ok();
} }
/**
* 新增微信用户
* @param param
* @return
*/
// @PostMapping("/save")
// public R<?> save(@RequestBody @Valid WxUser param){
// boolean result = wxUserService.save(param);
// return R.isTrue(result);
// }
/**
* 删除微信用户
* @param id
* @return
*/
// @DeleteMapping("/deleteById/{id}")
// public R<?> deleteById(@PathVariable("id") String id){
// boolean result = wxUserService.removeById(id);
// return R.isTrue(result);
// }
} }

3
src/main/java/com/qs/serve/modules/wx/entity/WxUser.java

@ -133,6 +133,9 @@ public class WxUser implements Serializable {
@JsonIgnore @JsonIgnore
private Boolean delFlag; private Boolean delFlag;
@JsonIgnore
private Integer firstFlag;
/** /**
* 为绑定标识当值=1表未绑定用户 * 为绑定标识当值=1表未绑定用户
*/ */

1
src/main/java/com/qs/serve/modules/wx/service/WxUserService.java

@ -25,6 +25,7 @@ public interface WxUserService extends IService<WxUser> {
void syncSubscribe(); void syncSubscribe();
List<WxUser> getByUnionId(String unionId);
List<WxUser> getBySysUserId(String userId); List<WxUser> getBySysUserId(String userId);
List<WxUser> getBySysUserIds(List<String> userIds); List<WxUser> getBySysUserIds(List<String> userIds);

24
src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java

@ -7,10 +7,7 @@ import com.qs.serve.common.framework.security.model.LoginUserType;
import com.qs.serve.common.model.consts.GySysConst; import com.qs.serve.common.model.consts.GySysConst;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.HttpCode; import com.qs.serve.common.model.enums.HttpCode;
import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.*;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.JsonUtil;
import com.qs.serve.modules.wx.common.conf.WxMpConfig; import com.qs.serve.modules.wx.common.conf.WxMpConfig;
import com.qs.serve.modules.wx.common.consts.WxStatusConst; import com.qs.serve.modules.wx.common.consts.WxStatusConst;
import com.qs.serve.modules.wx.entity.WxApp; import com.qs.serve.modules.wx.entity.WxApp;
@ -86,6 +83,8 @@ public class WxUserServiceImpl extends ServiceImpl<WxUserMapper, WxUser> impleme
} }
@Override @Override
public WxUser getCurrentWxUser() { public WxUser getCurrentWxUser() {
return this.getCurrentWxUser(false); return this.getCurrentWxUser(false);
@ -115,6 +114,7 @@ public class WxUserServiceImpl extends ServiceImpl<WxUserMapper, WxUser> impleme
wxUser.setSubscribe(wxMpUser.getSubscribe()?1:0); wxUser.setSubscribe(wxMpUser.getSubscribe()?1:0);
wxUser.setSubscribeScene(wxMpUser.getSubscribeScene()); wxUser.setSubscribeScene(wxMpUser.getSubscribeScene());
wxUser.setTagidList(JsonUtil.objectToJson(wxMpUser.getTagIds())); wxUser.setTagidList(JsonUtil.objectToJson(wxMpUser.getTagIds()));
wxUser.setUnionId(wxMpUser.getUnionId());
} catch (WxErrorException e) { } catch (WxErrorException e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -127,6 +127,13 @@ public class WxUserServiceImpl extends ServiceImpl<WxUserMapper, WxUser> impleme
return null; return null;
} }
@Override
public List<WxUser> getByUnionId(String unionId) {
LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(WxUser::getUnionId,unionId);
return this.list(lqw);
}
@Override @Override
public List<WxUser> getBySysUserId(String userId) { public List<WxUser> getBySysUserId(String userId) {
LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>();
@ -167,6 +174,15 @@ public class WxUserServiceImpl extends ServiceImpl<WxUserMapper, WxUser> impleme
wxUser.setHeadimgUrl(auth2UserInfo.getHeadImgUrl()); wxUser.setHeadimgUrl(auth2UserInfo.getHeadImgUrl());
wxUser.setOpenId(auth2UserInfo.getOpenid()); wxUser.setOpenId(auth2UserInfo.getOpenid());
} }
if(StringUtils.hasText(auth2UserInfo.getUnionId())){
wxUser.setUnionId(auth2UserInfo.getUnionId());
LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(WxUser::getUnionId,auth2UserInfo.getUnionId());
Long count = this.count(lqw);
if(count<1){
wxUser.setFirstFlag(1);
}
}
wxUser.setSubscribe(wxMpUser.getSubscribe()?1:0); wxUser.setSubscribe(wxMpUser.getSubscribe()?1:0);
wxUser.setSubscribeScene(wxMpUser.getSubscribeScene()); wxUser.setSubscribeScene(wxMpUser.getSubscribeScene());
wxUser.setTagidList(JsonUtil.objectToJson(wxMpUser.getTagIds())); wxUser.setTagidList(JsonUtil.objectToJson(wxMpUser.getTagIds()));

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

@ -116,6 +116,7 @@
<if test="query.delFlag != null and query.delFlag != ''"> and `goods_sku`.`del_flag` = #{query.delFlag}</if> <if test="query.delFlag != null and query.delFlag != ''"> and `goods_sku`.`del_flag` = #{query.delFlag}</if>
<if test="query.createBy != null and query.createBy != ''"> and `goods_sku`.`create_by` = #{query.createBy}</if> <if test="query.createBy != null and query.createBy != ''"> and `goods_sku`.`create_by` = #{query.createBy}</if>
<if test="query.updateBy != null and query.updateBy != ''"> and `goods_sku`.`update_by` = #{query.updateBy}</if> <if test="query.updateBy != null and query.updateBy != ''"> and `goods_sku`.`update_by` = #{query.updateBy}</if>
<if test="query.querySpuShelf != null and query.querySpuShelf != ''"> and `goods_spu`.`shelf` = #{query.querySpuShelf}</if>
<if test="query.selectSkuIds!=null and query.selectSkuIds.size > 0"> <if test="query.selectSkuIds!=null and query.selectSkuIds.size > 0">
and `goods_sku`.`id` in and `goods_sku`.`id` in
<foreach collection="query.selectSkuIds" item ="selectId" index="i" open="(" close=")" separator=","> <foreach collection="query.selectSkuIds" item ="selectId" index="i" open="(" close=")" separator=",">

Loading…
Cancel
Save