Browse Source

Merge remote-tracking branch 'origin/v1.0' into v1.0

v1.0
15989082884@163.com 2 years ago
parent
commit
22d916e8a1
  1. 3
      src/main/java/com/qs/serve/common/config/properties/ProjectApisProperties.java
  2. 4
      src/main/java/com/qs/serve/common/framework/annotations/TagField.java
  3. 13
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java
  4. 20
      src/main/java/com/qs/serve/modules/oms/controller/OmsOrderController.java
  5. 38
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java
  6. 21
      src/main/java/com/qs/serve/modules/oms/entity/OmsOrder.java
  7. 3
      src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderBo.java
  8. 68
      src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderModifyParam.java
  9. 5
      src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderSkuBo.java
  10. 142
      src/main/java/com/qs/serve/modules/oms/entity/dto/ErpOfferOrderParam.java
  11. 16
      src/main/java/com/qs/serve/modules/oms/entity/dto/OmsSpuToSkuKey.java
  12. 4
      src/main/java/com/qs/serve/modules/oms/entity/vo/OmsConfirmOrderResult.java
  13. 21
      src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java
  14. 200
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java
  15. 54
      src/main/java/com/qs/serve/modules/sale/controller/my/SalePlanMyController.java
  16. 2
      src/main/java/com/qs/serve/modules/tag/controller/TagCategoryController.java
  17. 27
      src/main/java/com/qs/serve/modules/tag/controller/TagDataController.java
  18. 2
      src/main/java/com/qs/serve/modules/tag/controller/TagInfoController.java
  19. 6
      src/main/java/com/qs/serve/modules/tag/entity/TagCategory.java
  20. 13
      src/main/java/com/qs/serve/modules/tag/entity/TagData.java
  21. 6
      src/main/java/com/qs/serve/modules/tag/entity/TagInfo.java
  22. 5
      src/main/java/com/qs/serve/modules/tag/entity/bo/TagInfoBo.java
  23. 34
      src/main/java/com/qs/serve/modules/tag/entity/so/TagDataSo.java
  24. 6
      src/main/java/com/qs/serve/modules/tag/entity/vo/TagCategoryTreeVo.java
  25. 19
      src/main/java/com/qs/serve/modules/tag/entity/vo/TagDataVo.java
  26. 5
      src/main/java/com/qs/serve/modules/tag/mapper/TagDataMapper.java
  27. 4
      src/main/java/com/qs/serve/modules/tag/service/TagDataService.java
  28. 7
      src/main/java/com/qs/serve/modules/tag/service/impl/TagDataServiceImpl.java
  29. 71
      src/main/resources/mapper/tag/TagDataMapper.xml

3
src/main/java/com/qs/serve/common/config/properties/ProjectApisProperties.java

@ -18,4 +18,7 @@ public class ProjectApisProperties {
/** 支付接口 */
private String costToPay;
/** 调度系统-发货单 */
private String diaoduPlanOrder;
}

4
src/main/java/com/qs/serve/common/framework/annotations/TagField.java

@ -0,0 +1,4 @@
package com.qs.serve.common.framework.annotations;
public @interface TagField {
}

13
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java

@ -74,6 +74,13 @@ public class BmsSupplierAddressController {
@SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.UPDATE)
@PreAuthorize("hasRole('bms:supplierAddress:update')")
public R<?> updateById(@RequestBody @Valid BmsSupplierAddress param){
LambdaQueryWrapper<BmsSupplierAddress> supplierAddrLqw = new LambdaQueryWrapper<>();
supplierAddrLqw.eq(BmsSupplierAddress::getTmsSysId,param.getTmsSysId());
supplierAddrLqw.ne(BmsSupplierAddress::getId,param.getId());
long count = bmsSupplierAddressService.count(supplierAddrLqw);
if(count>0){
return R.error("tms_sys_id is exist!!");
}
boolean result = bmsSupplierAddressService.updateById(param);
return R.isTrue(result);
}
@ -93,6 +100,12 @@ public class BmsSupplierAddressController {
}else {
param.setDefaultFlag(0);
}
LambdaQueryWrapper<BmsSupplierAddress> supplierAddrLqw = new LambdaQueryWrapper<>();
supplierAddrLqw.eq(BmsSupplierAddress::getTmsSysId,param.getTmsSysId());
long count = bmsSupplierAddressService.count(supplierAddrLqw);
if(count>0){
return R.error("tms_sys_id is exist!!");
}
bmsSupplierAddressService.save(param);
return R.ok(param);
}

20
src/main/java/com/qs/serve/modules/oms/controller/OmsOrderController.java

@ -8,12 +8,16 @@ import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
import com.qs.serve.modules.bms.service.BmsSupplierAddressService;
import com.qs.serve.modules.oms.entity.OmsOrderItem;
import com.qs.serve.modules.oms.entity.bo.OmsCheckParam;
import com.qs.serve.modules.oms.entity.bo.OmsSpuAssesInfoBo;
import com.qs.serve.modules.oms.entity.bo.OmsUrgentParam;
import com.qs.serve.modules.oms.entity.vo.OmsSpuAssesInfo;
import com.qs.serve.modules.oms.service.OmsOrderItemService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
@ -41,6 +45,8 @@ public class OmsOrderController {
private OmsOrderService omsOrderService;
private OmsOrderItemService omsOrderItemService;
private BmsSupplierAddressService bmsSupplierAddressService;
private SysUserService sysUserService;
/**
* 翻页
@ -48,11 +54,19 @@ public class OmsOrderController {
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('oms:order:query')")
public R<PageVo<OmsOrder>> getPage(OmsOrder param){
PageUtil.startPage();
LambdaQueryWrapper<OmsOrder> orderWrapper = new LambdaQueryWrapper<>(param);
orderWrapper.orderByDesc(OmsOrder::getId);
List<OmsOrder> list = omsOrderService.list(orderWrapper);
for (OmsOrder order : list) {
BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getById(order.getSupplierAddrId());
order.setAddressInfo(supplierAddress);
SysUser sysUser = sysUserService.getById(order.getCheckUserId());
if(sysUser!=null){
order.setCheckUserInfo(sysUser.toSysUserVo());
}
}
return R.byPageHelperList(list);
}
@ -63,7 +77,6 @@ public class OmsOrderController {
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.QUERY)
@PreAuthorize("hasRole('oms:order:query')")
public R<OmsOrder> getById(@PathVariable("id") String id){
OmsOrder omsOrder = omsOrderService.getById(id);
return R.ok(omsOrder);
@ -76,7 +89,6 @@ public class OmsOrderController {
*/
@PostMapping("/check")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.UPDATE)
@PreAuthorize("hasRole('oms:order:update')")
public R<?> check(@RequestBody @Valid OmsCheckParam param){
OmsOrder dbOmsOrder = omsOrderService.getById(param.getOrderId());
if(dbOmsOrder.getStatus().equals(0)){
@ -98,7 +110,6 @@ public class OmsOrderController {
*/
@PostMapping("/urgent")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.UPDATE)
@PreAuthorize("hasRole('oms:order:update')")
public R<?> urgent(@RequestBody @Valid OmsUrgentParam param){
OmsOrder dbOmsOrder = omsOrderService.getById(param.getOrderId());
if(dbOmsOrder.getStatus().equals(0)){
@ -118,7 +129,6 @@ public class OmsOrderController {
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE)
@PreAuthorize("hasRole('oms:order:delete')")
public R<?> deleteById(@PathVariable("id") Long id){
OmsOrder dbOmsOrder = omsOrderService.getById(id);
if(dbOmsOrder.getStatus().equals(0)&&dbOmsOrder.getCheckState().equals(0)){

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

@ -11,11 +11,13 @@ import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
import com.qs.serve.modules.bms.service.BmsSupplierAddressService;
import com.qs.serve.modules.goods.service.GoodsCategoryRuleService;
import com.qs.serve.modules.oms.entity.OmsOrder;
import com.qs.serve.modules.oms.entity.OmsOrderItem;
import com.qs.serve.modules.oms.entity.bo.OmsCancelOrder;
import com.qs.serve.modules.oms.entity.bo.OmsOrderBo;
import com.qs.serve.modules.oms.entity.bo.OmsOrderPcBo;
import com.qs.serve.modules.oms.entity.bo.OmsOrderModifyParam;
import com.qs.serve.modules.oms.entity.bo.OmsOrderSkuBo;
import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderResult;
import com.qs.serve.modules.oms.service.OmsOrderItemService;
import com.qs.serve.modules.oms.service.OmsOrderService;
@ -43,6 +45,7 @@ public class OmsOrderApi {
private OmsOrderItemService omsOrderItemService;
private BmsSupplierAddressService bmsSupplierAddressService;
private SysUserService sysUserService;
private GoodsCategoryRuleService goodsCategoryRuleService;
/**
* 确认订单
@ -64,13 +67,24 @@ public class OmsOrderApi {
return R.ok(omsOrderService.createOrder(omsOrderBo));
}
/**
* 修改草稿的订单
* @param param
* @return
*/
@PostMapping("/modifyOrder")
public R<OmsOrder> modifyOrder(@RequestBody @Valid OmsOrderModifyParam param){
omsOrderService.modifyOrder(param);
return R.ok();
}
/**
* 创建订单(PC)
* @param omsOrderBo
* @return
*/
@PostMapping("/createOrderOnPC")
public R<OmsOrder> createOrder(@RequestBody @Valid OmsOrderPcBo omsOrderBo){
public R<OmsOrder> createOrder(@RequestBody @Valid OmsOrderSkuBo omsOrderBo){
return R.ok(omsOrderService.createOrderPc(omsOrderBo));
}
@ -138,6 +152,7 @@ public class OmsOrderApi {
public R<OmsOrder> getById(@PathVariable("id") String id){
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();
OmsOrder omsOrder = omsOrderService.getById(id);
omsOrder.setBrandRuleInfo(goodsCategoryRuleService.getById(omsOrder.getBrandRuleId()));
if(omsOrder.getSupplierId().toString().equals(supplier.getId())){
LambdaQueryWrapper<OmsOrderItem> lqw = new LambdaQueryWrapper<>();
lqw.eq(OmsOrderItem::getOrderId,id);
@ -145,6 +160,7 @@ public class OmsOrderApi {
omsOrder.setOrderItems(list);
return R.ok(omsOrder);
}
return R.error();
}
@ -165,5 +181,23 @@ public class OmsOrderApi {
return R.error();
}
/**
* 创建报价单
* @param id
* @return
*/
@PostMapping("/buildPriceOrder")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE)
public R<?> buildPriceOrder(@PathVariable("id") String id){
OmsOrder omsOrder = omsOrderService.getById(id);
String userId = AuthContextUtils.getSysUserId();
if(omsOrder==null || !omsOrder.getUserId().equals(userId)){
return R.error("订单不存在或被移除");
}
return R.error();
}
}

21
src/main/java/com/qs/serve/modules/oms/entity/OmsOrder.java

@ -30,13 +30,15 @@ public class OmsOrder implements Serializable {
@TableId(type = IdType.AUTO)
private Long id;
private String latitudeFrom;
/** 订单号 */
@NotBlank(message = "订单号不能为空")
@Length(max = 20,message = "订单号长度不能超过20字")
@TableField(condition = SqlCondition.LIKE)
private String orderSn;
/** 订单类型:0->普通订单 */
/** 订单类型:0->普通订单;1->赠品;2->试吃品 */
private Integer orderType;
/** 供应商ID */
@ -71,20 +73,9 @@ public class OmsOrder implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime checkTime;
/** 成本中心id */
private Long costCenterId;
/** 成本中心编码 */
@Length(max = 20,message = "成本中心编码长度不能超过20字")
private String costCenterCode;
/** 成本中心名称 */
@Length(max = 20,message = "成本中心名称长度不能超过20字")
private String costCenterName;
/** 品牌ID */
@NotNull(message = "品牌ID不能为空")
private Long brandId;
private Long brandRuleId;
/** 制单人id */
@Length(max = 32,message = "制单人id长度不能超过32字")
@ -157,6 +148,8 @@ public class OmsOrder implements Serializable {
@TableField(exist = false)
private Object checkUserInfo;
/** 订单明细项 */
@TableField(exist = false)
private Object brandRuleInfo;
}

3
src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderBo.java

@ -21,6 +21,9 @@ public class OmsOrderBo {
/** 数量(立即购买或非普通订单) */
private Integer quantity;
/** 品牌规则ID */
private Long brandRuleId;
/** 购物车ID(购物车方式下单) */
private List<Long> shoppingCartIds;

68
src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderModifyParam.java

@ -0,0 +1,68 @@
package com.qs.serve.modules.oms.entity.bo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.qs.serve.modules.oms.entity.OmsOrderItem;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
/**
* @author YenHex
* @since 2023/10/8
*/
@Data
public class OmsOrderModifyParam {
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** 订单类型:0->普通订单;1->赠品;2->试吃品 */
private Integer orderType;
/** 供应商收货地址id */
private Long supplierAddrId;
/** 品牌规则ID */
private Long brandRuleId;
/** 制单人id */
private String userId;
/** 发票类型:0->普通发票;1->增值税发票; */
private Integer billType;
/** 是否加急 */
private Integer urgentFlag;
/** 备注 */
private String remark;
/** 供应商ID */
private Long supplierId;
/**
* 明细
*/
private List<OmsOrderItemModifyBo> orderItems;
@Data
public static class OmsOrderItemModifyBo{
/** SpuId(PC) */
private Long spuId;
/** SkuId(H5) */
private Long skuId;
/** 数量 */
private Integer quantity;
}
}

5
src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderPcBo.java → src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderSkuBo.java

@ -10,7 +10,7 @@ import java.util.List;
* @since 2022/10/14
*/
@Data
public class OmsOrderPcBo {
public class OmsOrderSkuBo {
/** 订单类型:0->普通订单; */
@NotNull
@ -22,6 +22,9 @@ public class OmsOrderPcBo {
/** todo 促销活动id列表 */
private List<Long> promotionIds;
/** 品牌规则ID */
private Long brandRuleId;
/** 创建订单参数(确认订单时可不传) */
private CreateOrderParam createOrderParam;

142
src/main/java/com/qs/serve/modules/oms/entity/dto/ErpOfferOrderParam.java

@ -0,0 +1,142 @@
package com.qs.serve.modules.oms.entity.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 报价订单参数
* @Author YenHex
* @Date 2021/6/10
* @Version: 1.0
**/
@Getter
@Setter
public class ErpOfferOrderParam {
/**
* 单据号
*/
@NotNull(message = "单据号不能为空")
private String code;
/**
* 销路通订单ID
*/
@NotNull(message = "销路通订单ID不能为空")
private String empOrderId;
/**
* 日期
*/
private Date date;
/**
* 销售类型
*/
@NotNull(message = "销售类型不能为空")
private String saleTypeCode;
/**
* 客户编码
*/
@NotNull(message = "客户编码不能为空")
private String cusCode;
/**
* 部门编号
*/
@NotNull(message = "部门编号不能为空")
private String depCode;
/**
* 税率
*/
private BigDecimal taxRate;
/**
* 备注
*/
private String remark;
/**
* 备注
*/
private String remark2;
/**
* 客户帐余
*/
private BigDecimal cusPrice;
/**
* 未完成的发货单数量
*/
private Integer unfinishedOrderCount;
/**
* 存货商品列表
*/
private List<InventoryItem> inventoryItemList;
private String cusName;
private String makerName;
/**
* 存货商品
*/
@Getter
@Setter
public static class InventoryItem{
/**
* 销路通明细ID(不用传)
*/
private String empItemId;
/**
* 销路通数量不用传
*/
private Long empQty;
/**
* 存货编码
*/
@JsonProperty("InvCode")
private String invCode;
/**
* 报价 m
*
*/
private BigDecimal offerPrice;
/**
* 数量
*/
private Long quantity;
/**
* 含税单价
*/
private BigDecimal hasRatePrice;
/**
* 价税合计
*/
private BigDecimal hasRateSumPrice;
/**
* 备注
*/
private String remark;
}
}

16
src/main/java/com/qs/serve/modules/oms/entity/dto/OmsSpuToSkuKey.java

@ -0,0 +1,16 @@
package com.qs.serve.modules.oms.entity.dto;
import lombok.Data;
/**
* @author YenHex
* @since 2023/10/7
*/
@Data
public class OmsSpuToSkuKey {
private Long spuId;
private Long skuId;
}

4
src/main/java/com/qs/serve/modules/oms/entity/vo/OmsConfirmOrderResult.java

@ -9,6 +9,7 @@ import com.qs.serve.modules.oms.entity.dto.OmsCalcAmount;
import com.qs.serve.modules.oms.entity.dto.ShoppingCartsCheckResult;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@ -23,6 +24,9 @@ public class OmsConfirmOrderResult {
private Integer orderType;
/** 品牌规则ID */
private Long brandRuleId;
/** 购物车列表 */
private List<OmsShoppingCart> shoppingCarts;

21
src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java

@ -3,10 +3,12 @@ package com.qs.serve.modules.oms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.oms.entity.OmsOrder;
import com.qs.serve.modules.oms.entity.bo.OmsOrderBo;
import com.qs.serve.modules.oms.entity.bo.OmsOrderPcBo;
import com.qs.serve.modules.oms.entity.bo.OmsOrderModifyParam;
import com.qs.serve.modules.oms.entity.bo.OmsOrderSkuBo;
import com.qs.serve.modules.oms.entity.bo.OmsSpuAssesInfoBo;
import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderResult;
import com.qs.serve.modules.oms.entity.vo.OmsSpuAssesInfo;
import java.util.List;
/**
* 订单 服务接口
@ -27,7 +29,7 @@ public interface OmsOrderService extends IService<OmsOrder> {
* @param confirmOrder
* @return
*/
OmsConfirmOrderResult confirmOrderPc(OmsOrderPcBo confirmOrder);
OmsConfirmOrderResult confirmOrderPc(OmsOrderSkuBo confirmOrder);
/**
* 创建订单 H5
@ -36,6 +38,13 @@ public interface OmsOrderService extends IService<OmsOrder> {
*/
OmsOrder createOrder(OmsOrderBo omsOrderBo);
/**
* 修改草稿的订单
* @param param
* @return
*/
void modifyOrder(OmsOrderModifyParam param);
/**
@ -43,7 +52,7 @@ public interface OmsOrderService extends IService<OmsOrder> {
* @param omsOrderBo
* @return
*/
OmsOrder createOrderPc(OmsOrderPcBo omsOrderBo);
OmsOrder createOrderPc(OmsOrderSkuBo omsOrderBo);
/**
* 获取spu预估信息
@ -52,5 +61,11 @@ public interface OmsOrderService extends IService<OmsOrder> {
*/
List<OmsSpuAssesInfo> getSpuAssess(OmsSpuAssesInfoBo param);
/**
* 对接调度系统生成ERP的报价单
* @param id
*/
void buildPriceOrder(String id);
}

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

@ -2,10 +2,10 @@ package com.qs.serve.modules.oms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper;
import com.qs.serve.modules.bms.service.BmsSupplierAddressService;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.GoodsSpu;
@ -14,12 +14,10 @@ import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.service.GoodsSpuService;
import com.qs.serve.modules.oms.entity.OmsOrderItem;
import com.qs.serve.modules.oms.entity.OmsShoppingCart;
import com.qs.serve.modules.oms.entity.bo.CreateOrderParam;
import com.qs.serve.modules.oms.entity.bo.OmsOrderBo;
import com.qs.serve.modules.oms.entity.bo.OmsOrderBo.*;
import com.qs.serve.modules.oms.entity.bo.OmsOrderPcBo;
import com.qs.serve.modules.oms.entity.bo.OmsSpuAssesInfoBo;
import com.qs.serve.modules.oms.entity.bo.*;
import com.qs.serve.modules.oms.entity.dto.ErpOfferOrderParam;
import com.qs.serve.modules.oms.entity.dto.OmsCalcAmount;
import com.qs.serve.modules.oms.entity.dto.OmsSpuToSkuKey;
import com.qs.serve.modules.oms.entity.dto.ShoppingCartsCheckResult;
import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderResult;
import com.qs.serve.modules.oms.entity.vo.OmsSpuAssesInfo;
@ -29,7 +27,9 @@ import com.qs.serve.modules.sale.entity.SalePlan;
import com.qs.serve.modules.sale.entity.SalePlanGoods;
import com.qs.serve.modules.sale.mapper.SalePlanGoodsMapper;
import com.qs.serve.modules.sale.mapper.SalePlanMapper;
import com.qs.serve.modules.sys.entity.SysDept;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysDeptService;
import com.qs.serve.modules.sys.service.SysUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -57,8 +57,10 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
private OmsShoppingCartService omsShoppingCartService;
private GoodsSkuService goodsSkuService;
private GoodsSpuService goodsSpuService;
private BmsSupplierMapper bmsSupplierMapper;
private BmsSupplierAddressService bmsSupplierAddressService;
private SysUserService sysUserService;
private SysDeptService sysDeptService;
private OmsOrderItemService omsOrderItemService;
private SalePlanMapper salePlanMapper;
private SalePlanGoodsMapper salePlanGoodsMapper;
@ -114,29 +116,31 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
}
@Override
public OmsConfirmOrderResult confirmOrderPc(OmsOrderPcBo confirmOrder) {
public OmsConfirmOrderResult confirmOrderPc(OmsOrderSkuBo confirmOrder) {
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();
//构建Sku
List<Long> spuIds = confirmOrder.getSpuParamList().stream()
.map(OmsOrderPcBo.SpuParam::getSpuId).collect(Collectors.toList());
.map(OmsOrderSkuBo.SpuParam::getSpuId).collect(Collectors.toList());
List<GoodsSpu> spuList = goodsSpuService.listByIds(spuIds);
//构建临时购物车列表
List<OmsShoppingCart> shoppingCartList = new ArrayList<>();
for (GoodsSpu goodsSpu : spuList) {
int qty = 1;
for (OmsOrderPcBo.SpuParam spuParam : confirmOrder.getSpuParamList()) {
for (OmsOrderSkuBo.SpuParam spuParam : confirmOrder.getSpuParamList()) {
if(spuParam.getSpuId().equals(goodsSpu.getId())){
qty = spuParam.getQty();
}
}
OmsShoppingCart shoppingCart = new OmsShoppingCart();
shoppingCart.setSpuId(goodsSpu.getId());
shoppingCart.setSkuId(0L);
shoppingCart.setSpuCode(goodsSpu.getSpuCode());
shoppingCart.setSkuCode("");
shoppingCart.setQuantity(qty);
shoppingCart.setSkuId(0L);
shoppingCart.setSkuCode("");
shoppingCart.setSpecInfo(goodsSpu.getName());
shoppingCart.setAddPrice(BigDecimal.ZERO);
shoppingCartList.add(shoppingCart);
}
@ -159,9 +163,86 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
confirmOrderResult.setAmountInfo(calcAmount);
confirmOrderResult.setShoppingCarts(shoppingCartList);
confirmOrderResult.setOrderType(confirmOrder.getOrderType());
confirmOrderResult.setBrandRuleId(confirmOrder.getBrandRuleId());
return confirmOrderResult;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void modifyOrder(OmsOrderModifyParam param) {
OmsOrder order = super.getById(param.getUserId());
if(order.getStatus().equals(0)){
Assert.throwEx("非草稿状态订单无法修改");
}
order.setId(param.getId());
order.setOrderType(param.getOrderType());
order.setSupplierAddrId(param.getSupplierAddrId());
order.setBrandRuleId(param.getBrandRuleId());
if(param.getSupplierId()!=null && !param.getSupplierId().equals(order.getSupplierId())){
BmsSupplier supplier = bmsSupplierMapper.selectById(param.getSupplierId());
order.setSupplierId(param.getSupplierId());
order.setSupplierName(supplier.getSupplierName());
order.setSupplierCode(supplier.getSupplierCode());
}
if(StringUtils.hasText(param.getUserId())){
SysUser sysUser = sysUserService.getById(param.getUserId());
order.setUserId(param.getUserId());
order.setUserPhone(sysUser.getMobile());
order.setUserCode(sysUser.getCode());
}
order.setBillType(param.getBillType());
order.setUrgentFlag(param.getUrgentFlag());
order.setRemark(param.getRemark());
//构建新的item
List<OmsOrderItem> newOrderItemList = new ArrayList<>();
List<OmsOrderModifyParam.OmsOrderItemModifyBo> orderModifyItems = param.getOrderItems();
for (OmsOrderModifyParam.OmsOrderItemModifyBo modifyItem : orderModifyItems) {
GoodsSku goodsSku = null;
GoodsSpu goodsSpu = null;
if(order.getLatitudeFrom().equals("sku")){
//H5下单
goodsSku = goodsSkuService.getById(modifyItem.getSkuId());
goodsSpu = goodsSpuService.getById(goodsSku.getSpuId());
}else {
//PC下单
goodsSpu = goodsSpuService.getById(modifyItem.getSpuId());
}
OmsOrderItem orderItem = new OmsOrderItem();
orderItem.setOrderId(order.getId());
orderItem.setOrderSn(order.getOrderSn());
orderItem.setSpuId(goodsSpu.getId());
orderItem.setSpuCode(goodsSpu.getSpuCode());
orderItem.setSpuTitle(goodsSpu.getName());
if(goodsSku==null){
orderItem.setSkuId(goodsSku.getId());
orderItem.setSkuCode(goodsSku.getSkuCode());
orderItem.setSpecValues(goodsSku.getSpecInfos());
orderItem.setSkuUnit(null);
orderItem.setSkuImg(null);
orderItem.setSalesPrice(goodsSku.getSalesPrice());
orderItem.setCusPrice(goodsSku.getSalesPrice());
orderItem.setMarketPrice(goodsSku.getMarketPrice());
}else {
orderItem.setSpecValues(goodsSpu.getName());
orderItem.setSalesPrice(BigDecimal.ZERO);
orderItem.setCusPrice(BigDecimal.ZERO);
orderItem.setMarketPrice(BigDecimal.ZERO);
}
orderItem.setQuantity(modifyItem.getQuantity());
newOrderItemList.add(orderItem);
}
this.updateById(order);
//移除已有的ITEM
LambdaQueryWrapper<OmsOrderItem> rmItemLqw = new LambdaQueryWrapper<>();
rmItemLqw.eq(OmsOrderItem::getOrderId,param.getId());
omsOrderItemService.remove(rmItemLqw);
//重新保存item
omsOrderItemService.saveBatch(newOrderItemList);
}
@Override
@Transactional(rollbackFor = Exception.class)
public OmsOrder createOrder(OmsOrderBo omsOrderBo) {
@ -174,7 +255,7 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
@Override
@Transactional(rollbackFor = Exception.class)
public OmsOrder createOrderPc(OmsOrderPcBo omsOrderBo) {
public OmsOrder createOrderPc(OmsOrderSkuBo omsOrderBo) {
OmsConfirmOrderResult confirmOrder = this.confirmOrderPc(omsOrderBo);
confirmOrder.setLatitudeFrom("SPU");
CreateOrderParam createOrderParam = omsOrderBo.getCreateOrderParam();
@ -191,12 +272,14 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
}
List<OmsShoppingCart> shoppingCarts = confirmOrder.getShoppingCarts();
OmsOrder order = new OmsOrder();
order.setLatitudeFrom(confirmOrder.getLatitudeFrom().toLowerCase(Locale.ROOT));
order.setOrderSn("SN"+CodeGenUtil.generate(CodeGenUtil.SourceKey.OmsOrder));
order.setOrderType(confirmOrder.getOrderType());
order.setSupplierId(Long.parseLong(supplier.getId()));
order.setSupplierCode(supplier.getCode());
order.setSupplierName(supplier.getName());
order.setSupplierAddrId(address.getId());
order.setBrandRuleId(confirmOrder.getBrandRuleId());
order.setUserId(user.getId());
order.setUserName(user.getName());
order.setUserCode(user.getCode());
@ -286,5 +369,98 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
}
return spuAssesInfoList;
}
@Override
public void buildPriceOrder(String id) {
OmsOrder omsOrder = super.getById(id);
String userId = AuthContextUtils.getSysUserId();
SysUser sysUser = sysUserService.getById(userId);
SysDept dept = sysDeptService.getById(sysUser.getDeptId());
if(omsOrder==null || !omsOrder.getUserId().equals(userId)){
Assert.throwEx("订单不存在或被移除");
}
LambdaQueryWrapper<OmsOrderItem> iteLqw = new LambdaQueryWrapper<>();
iteLqw.eq(OmsOrderItem::getOrderId,id);
List<OmsOrderItem> list = omsOrderItemService.list(iteLqw);
List<Long> spuIds = list.stream().map(OmsOrderItem::getSpuId).collect(Collectors.toList());
//TODO 通过当前函数获取当前账套对于的skuID
List<OmsSpuToSkuKey> spuToSkuKeys = this.getSpuToSkuInfo("",spuIds);
for (OmsOrderItem orderItem : list) {
if( orderItem.getSkuId()!=null && !orderItem.getSkuId().equals(0L) ){
continue;
}
//设置订单的sku信息
GoodsSku goodsSku = null;
for (OmsSpuToSkuKey toSkuKey : spuToSkuKeys) {
if(orderItem.getSpuId().equals(toSkuKey.getSpuId())){
goodsSku = goodsSkuService.getById(toSkuKey.getSkuId());
break;
}
}
if(goodsSku==null){
Assert.throwEx("未能匹配当前账号的产品信息:"+orderItem.getSpuCode());
}else {
orderItem.setSkuId(goodsSku.getId());
orderItem.setSkuCode(goodsSku.getSkuCode());
orderItem.setSpecValues(goodsSku.getSpecInfos());
orderItem.setSalesPrice(goodsSku.getSalesPrice());
orderItem.setSalesPrice(goodsSku.getSalesPrice());
orderItem.setMarketPrice(goodsSku.getSalesPrice());
}
}
//更新设置sku后的信息
omsOrderItemService.updateBatchById(list);
List<ErpOfferOrderParam.InventoryItem> inventoryItemList = new ArrayList<>();
for (OmsOrderItem orderItem : list) {
ErpOfferOrderParam.InventoryItem inventoryItem = new ErpOfferOrderParam.InventoryItem();
inventoryItem.setEmpItemId(orderItem.getId()+"");
inventoryItem.setEmpQty(orderItem.getQuantity().longValue());
inventoryItem.setInvCode(orderItem.getSpuCode());
inventoryItem.setQuantity(orderItem.getQuantity().longValue());
//设置客户特殊价
inventoryItem.setOfferPrice(orderItem.getSalesPrice());
inventoryItem.setHasRatePrice(orderItem.getSalesPrice());
inventoryItem.setHasRateSumPrice(orderItem.getSalesPrice().multiply(new BigDecimal(orderItem.getQuantity())));
inventoryItem.setRemark("CRM创建的报价单");
inventoryItemList.add(inventoryItem);
}
ErpOfferOrderParam offerOrder = new ErpOfferOrderParam();
offerOrder.setCode(omsOrder.getOrderSn());
offerOrder.setEmpOrderId(omsOrder.getId()+"");
offerOrder.setDate(new Date());
//offerOrder.setSaleTypeCode();
offerOrder.setCusCode(omsOrder.getSupplierCode());
offerOrder.setDepCode(dept.getCode());
//TODO 普通13,赠品&试吃品0
//offerOrder.setTaxRate();
offerOrder.setRemark(omsOrder.getRemark());
//offerOrder.setRemark2();
//offerOrder.setCusPrice();
//offerOrder.setUnfinishedOrderCount();
offerOrder.setInventoryItemList(inventoryItemList);
offerOrder.setCusName(omsOrder.getSupplierName());
offerOrder.setMakerName(sysUser.getName());
}
/**
* TODO: 根据账套获取spuId对应的skuId
* @param book
* @param spuIds
* @return
*/
public List<OmsSpuToSkuKey> getSpuToSkuInfo(String book, List<Long> spuIds){
return null;
}
}

54
src/main/java/com/qs/serve/modules/sale/controller/my/SalePlanMyController.java

@ -0,0 +1,54 @@
package com.qs.serve.modules.sale.controller.my;
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.AuthContextUtils;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.sale.entity.SalePlan;
import com.qs.serve.modules.sale.entity.SalePlanGoods;
import com.qs.serve.modules.sale.entity.bo.SalePlanBo;
import com.qs.serve.modules.sale.service.SalePlanGoodsService;
import com.qs.serve.modules.sale.service.SalePlanService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* 销售 销售计划
* @author YenHex
* @since 2023-09-20
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("my/sale/plan")
public class SalePlanMyController {
private final SalePlanService salePlanService;
private final SalePlanGoodsService salePlanGoodsService;
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<SalePlan>> getPage(SalePlan param){
LambdaQueryWrapper<SalePlan> lqw = new LambdaQueryWrapper<>(param);
lqw.eq(SalePlan::getUserId, AuthContextUtils.getSysUserId());
PageUtil.startPage();
List<SalePlan> list = salePlanService.list(lqw);
return R.byPageHelperList(list);
}
}

2
src/main/java/com/qs/serve/modules/tag/controller/TagCategoryController.java

@ -56,6 +56,8 @@ public class TagCategoryController {
treeVo.setParentId(cate.getPid());
treeVo.setSort(0);
treeVo.setCategoryName(cate.getCategoryName());
treeVo.setColorVal(cate.getColorVal());
treeVo.setBgColorVal(cate.getBgColorVal());
treeVo.setRemark(cate.getRemark());
return treeVo;
}).collect(Collectors.toList());

27
src/main/java/com/qs/serve/modules/tag/controller/TagDataController.java

@ -24,7 +24,9 @@ import com.qs.serve.modules.tag.entity.TagData;
import com.qs.serve.modules.tag.entity.TagInfo;
import com.qs.serve.modules.tag.entity.bo.TagInfoBindBo;
import com.qs.serve.modules.tag.entity.bo.TagInfoBo;
import com.qs.serve.modules.tag.entity.so.TagDataSo;
import com.qs.serve.modules.tag.entity.so.TagInfoSo;
import com.qs.serve.modules.tag.entity.vo.TagDataVo;
import com.qs.serve.modules.tag.service.TagDataService;
import com.qs.serve.modules.tag.service.TagInfoService;
import lombok.AllArgsConstructor;
@ -35,6 +37,7 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -55,6 +58,30 @@ public class TagDataController {
private BmsChannelService bmsChannelService;
private SysUserService sysUserService;
/**
* 批量获取标签
* @param param
* @return
*/
@PostMapping("batchQuery")
public R<?> queryBatch(@RequestBody TagDataSo.TagBatchSo param){
List<TagDataVo> tagDataVoList = new ArrayList<>();
for (TagDataSo dataSo : param.getParams()) {
if(dataSo.getIds().size()==0){
continue;
}
TagData query = new TagData();
query.setTargetType(dataSo.getType());
query.setQueryTagIds(dataSo.getIds());
List<TagData> tagDataList = tagDataService.selectList(query);
TagDataVo vo = new TagDataVo();
vo.setFieldName(dataSo.getFieldName());
vo.setType(dataSo.getType());
vo.setInfoList(tagDataList);
tagDataVoList.add(vo);
}
return R.ok(tagDataVoList);
}
/**
* 新增

2
src/main/java/com/qs/serve/modules/tag/controller/TagInfoController.java

@ -94,6 +94,8 @@ public class TagInfoController {
TagCategory tagCategory = tagCategoryService.getById(param.getTagCategoryId());
entity.setTagCategoryId(param.getTagCategoryId());
entity.setTagCategoryName(tagCategory.getCategoryName());
entity.setColorVal(param.getColorVal());
entity.setBgColorVal(param.getBgColorVal());
entity.setRemark(param.getRemark());
boolean result = tagInfoService.updateById(entity);
return R.isTrue(result);

6
src/main/java/com/qs/serve/modules/tag/entity/TagCategory.java

@ -43,6 +43,12 @@ public class TagCategory implements Serializable {
@Length(max = 255,message = "长度不能超过255字")
private String pathIds;
/** 颜色 */
private String colorVal;
/** 背景颜色 */
private String bgColorVal;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;

13
src/main/java/com/qs/serve/modules/tag/entity/TagData.java

@ -15,7 +15,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* 标签数据 实体类
* @author YenHex
@ -58,6 +58,7 @@ public class TagData implements Serializable {
@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")
@ -88,6 +89,16 @@ public class TagData implements Serializable {
@JsonProperty
private Boolean delFlag;
/** 颜色 */
@TableField(exist = false)
private String colorVal;
/** 背景颜色 */
@TableField(exist = false)
private String bgColorVal;
@TableField(exist = false)
private List<String> queryTagIds;
public static TagData toNewObject(TagData source){
TagData data = new TagData();

6
src/main/java/com/qs/serve/modules/tag/entity/TagInfo.java

@ -43,6 +43,12 @@ public class TagInfo implements Serializable {
/** 标签类目id */
private String tagCategoryId;
/** 颜色 */
private String colorVal;
/** 背景颜色 */
private String bgColorVal;
/** 标签类目名称 */
@Length(max = 255,message = "标签类目名称长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)

5
src/main/java/com/qs/serve/modules/tag/entity/bo/TagInfoBo.java

@ -39,6 +39,11 @@ public class TagInfoBo implements Serializable {
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 颜色 */
private String colorVal;
/** 背景颜色 */
private String bgColorVal;
}

34
src/main/java/com/qs/serve/modules/tag/entity/so/TagDataSo.java

@ -0,0 +1,34 @@
package com.qs.serve.modules.tag.entity.so;
import lombok.Data;
import java.util.List;
/**
* @author YenHex
* @since 2023/10/8
*/
@Data
public class TagDataSo {
/**
* 仅用于查询数据标签查询不需要传入
*/
private String fieldName;
/**
* customer
* point
* channel
* salesman
*/
private String type;
private List<String> ids;
@Data
public static class TagBatchSo{
List<TagDataSo> params;
}
}

6
src/main/java/com/qs/serve/modules/tag/entity/vo/TagCategoryTreeVo.java

@ -10,6 +10,12 @@ import lombok.Data;
@Data
public class TagCategoryTreeVo extends TreeNode {
/** 颜色 */
private String colorVal;
/** 背景颜色 */
private String bgColorVal;
private String categoryName;
private String remark;

19
src/main/java/com/qs/serve/modules/tag/entity/vo/TagDataVo.java

@ -0,0 +1,19 @@
package com.qs.serve.modules.tag.entity.vo;
import lombok.Data;
import java.util.List;
/**
* @author YenHex
* @since 2023/10/8
*/
@Data
public class TagDataVo {
private String fieldName;
private String type;
private List<?> infoList;
}

5
src/main/java/com/qs/serve/modules/tag/mapper/TagDataMapper.java

@ -2,6 +2,9 @@ package com.qs.serve.modules.tag.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.tag.entity.TagData;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 标签数据 Mapper
@ -10,5 +13,7 @@ import com.qs.serve.modules.tag.entity.TagData;
*/
public interface TagDataMapper extends BaseMapper<TagData> {
List<TagData> selectList(@Param("query") TagData param);
}

4
src/main/java/com/qs/serve/modules/tag/service/TagDataService.java

@ -2,7 +2,7 @@ package com.qs.serve.modules.tag.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.tag.entity.TagData;
import java.util.List;
/**
* 标签数据 服务接口
* @author YenHex
@ -10,5 +10,7 @@ import com.qs.serve.modules.tag.entity.TagData;
*/
public interface TagDataService extends IService<TagData> {
List<TagData> selectList(TagData param);
}

7
src/main/java/com/qs/serve/modules/tag/service/impl/TagDataServiceImpl.java

@ -8,6 +8,8 @@ import com.qs.serve.modules.tag.entity.TagData;
import com.qs.serve.modules.tag.service.TagDataService;
import com.qs.serve.modules.tag.mapper.TagDataMapper;
import java.util.List;
/**
* 标签数据 服务实现类
* @author YenHex
@ -18,5 +20,10 @@ import com.qs.serve.modules.tag.mapper.TagDataMapper;
@AllArgsConstructor
public class TagDataServiceImpl extends ServiceImpl<TagDataMapper,TagData> implements TagDataService {
@Override
public List<TagData> selectList(TagData param) {
return baseMapper.selectList(param);
}
}

71
src/main/resources/mapper/tag/TagDataMapper.xml

@ -0,0 +1,71 @@
<?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.qs.serve.modules.tag.mapper.TagDataMapper">
<resultMap id="tagDataMap" type="com.qs.serve.modules.tag.entity.TagData" >
<result property="id" column="id"/>
<result property="tagName" column="tag_name"/>
<result property="tagId" column="tag_id"/>
<result property="targetType" column="target_type"/>
<result property="targetId" column="target_id"/>
<result property="targetCode" column="target_code"/>
<result property="targetName" column="target_name"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="tenantId" column="tenant_id"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
<sql id="tagDataSql">
tag_data.`id`,
tag_data.`tag_name`,
tag_data.`tag_id`,
tag_data.`target_type`,
tag_data.`target_id`,
tag_data.`target_code`,
tag_data.`target_name`,
tag_data.`remark`,
tag_data.`create_time`,
tag_data.`update_time`,
tag_data.`create_by`,
tag_data.`update_by`,
tag_data.`tenant_id`,
tag_data.`del_flag` </sql>
<select id="selectList" parameterType="com.qs.serve.modules.tag.entity.TagData" resultMap="tagDataMap">
SELECT
tag_info.color_val,
tag_info.bg_color_val,
<include refid="tagDataSql"/>
FROM `tag_data` `tag_data`
left join tag_info on tag_data.tag_id = tag_info.id
<where>
<if test="query.id != null"> and `tag_data`.`id` = #{query.id}</if>
<if test="query.tagName != null and query.tagName != ''"> and `tag_data`.`tag_name` = #{query.tagName}</if>
<if test="query.tagId != null"> and `tag_data`.`tag_id` = #{query.tagId}</if>
<if test="query.targetType != null and query.targetType != ''"> and `tag_data`.`target_type` = #{query.targetType}</if>
<if test="query.targetId != null and query.targetId != ''"> and `tag_data`.`target_id` = #{query.targetId}</if>
<if test="query.targetCode != null and query.targetCode != ''"> and `tag_data`.`target_code` = #{query.targetCode}</if>
<if test="query.targetName != null and query.targetName != ''"> and `tag_data`.`target_name` = #{query.targetName}</if>
<if test="query.remark != null and query.remark != ''"> and `tag_data`.`remark` = #{query.remark}</if>
<if test="query.createTime != null"> and `tag_data`.`create_time` = #{query.createTime}</if>
<if test="query.updateTime != null"> and `tag_data`.`update_time` = #{query.updateTime}</if>
<if test="query.createBy != null and query.createBy != ''"> and `tag_data`.`create_by` = #{query.createBy}</if>
<if test="query.updateBy != null and query.updateBy != ''"> and `tag_data`.`update_by` = #{query.updateBy}</if>
<if test="query.tenantId != null and query.tenantId != ''"> and `tag_data`.`tenant_id` = #{query.tenantId}</if>
<if test="query.delFlag != null"> and `tag_data`.`del_flag` = #{query.delFlag}</if>
<if test="query.queryTagIds!=null and query.queryTagIds.size > 0">
and `tag_data`.`target_id` in
<foreach collection="query.queryTagIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save