master:档口客户销售优惠管理功能完善;
parent
3b2d3cdacb
commit
51dbe457cf
|
|
@ -89,14 +89,14 @@ public class StoreCustomerController extends XktBaseController {
|
|||
@ApiOperation(value = "获取档口客户详细信息", httpMethod = "GET", response = R.class)
|
||||
@GetMapping(value = "/{storeCusId}")
|
||||
public R<StoreCusVO> getInfo(@PathVariable("storeCusId") Long storeCusId) {
|
||||
return R.ok(BeanUtil.toBean(storeCusService.selectStoreCustomerByStoreCusId(storeCusId), StoreCusVO.class));
|
||||
return R.ok(BeanUtil.toBean(storeCusService.selectByStoreCusId(storeCusId), StoreCusVO.class));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询档口客户列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:customer:list')")
|
||||
@ApiOperation(value = "查询档口客户列表", httpMethod = "GET", response = R.class)
|
||||
@ApiOperation(value = "查询档口客户列表", httpMethod = "POST", response = R.class)
|
||||
@PostMapping("/page")
|
||||
public R<Page<StoreCusPageResDTO>> selectPage(@Validated @RequestBody StoreCusPageVO pageVO) {
|
||||
return R.ok(storeCusService.selectPage(BeanUtil.toBean(pageVO, StoreCusPageDTO.class)));
|
||||
|
|
|
|||
|
|
@ -4,12 +4,13 @@ import cn.hutool.core.bean.BeanUtil;
|
|||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.XktBaseController;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.page.Page;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeCusProdDiscount.StoreCusProdBatchDiscountVO;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeCusProdDiscount.StoreCusProdDiscExistVO;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeCusProdDiscount.StoreCusProdDiscPageVO;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeCusProdDiscount.StoreCusProdDiscountVO;
|
||||
import com.ruoyi.xkt.domain.StoreCustomerProductDiscount;
|
||||
import com.ruoyi.xkt.dto.storeCusProdDiscount.StoreCusProdDiscountDTO;
|
||||
import com.ruoyi.xkt.dto.storeCusProdDiscount.*;
|
||||
import com.ruoyi.xkt.service.IStoreCustomerProductDiscountService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
|
@ -18,9 +19,6 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
|||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 档口客户优惠Controller
|
||||
*
|
||||
|
|
@ -30,10 +28,10 @@ import java.util.List;
|
|||
@Api(tags = "档口客户优惠")
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/rest/v1/cus-discounts")
|
||||
@RequestMapping("/rest/v1/cus-disc")
|
||||
public class StoreCustomerProductDiscountController extends XktBaseController {
|
||||
|
||||
final IStoreCustomerProductDiscountService storeCusProdDiscountSvc;
|
||||
final IStoreCustomerProductDiscountService storeCusProdDiscService;
|
||||
|
||||
/**
|
||||
* 销售出库时,新增或修改档口客户优惠
|
||||
|
|
@ -43,60 +41,40 @@ public class StoreCustomerProductDiscountController extends XktBaseController {
|
|||
@Log(title = "销售出库时,新增或修改档口客户优惠", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public R<Integer> edit(@Validated @RequestBody StoreCusProdDiscountVO cusProdDisVO) {
|
||||
return R.ok(storeCusProdDiscountSvc.updateStoreCusProdDiscount(BeanUtil.toBean(cusProdDisVO, StoreCusProdDiscountDTO.class)));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询档口客户优惠列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:discount:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(StoreCustomerProductDiscount storeCustomerProductDiscount) {
|
||||
startPage();
|
||||
List<StoreCustomerProductDiscount> list = storeCusProdDiscountSvc.selectStoreCustomerProductDiscountList(storeCustomerProductDiscount);
|
||||
return getDataTable(list);
|
||||
return R.ok(storeCusProdDiscService.updateStoreCusProdDiscount(BeanUtil.toBean(cusProdDisVO, StoreCusProdDiscountDTO.class)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出档口客户优惠列表
|
||||
* 客户销售管理 批量减价、批量抹零减价
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:discount:export')")
|
||||
@Log(title = "档口客户优惠", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, StoreCustomerProductDiscount storeCustomerProductDiscount) {
|
||||
List<StoreCustomerProductDiscount> list = storeCusProdDiscountSvc.selectStoreCustomerProductDiscountList(storeCustomerProductDiscount);
|
||||
ExcelUtil<StoreCustomerProductDiscount> util = new ExcelUtil<StoreCustomerProductDiscount>(StoreCustomerProductDiscount.class);
|
||||
util.exportExcel(response, list, "档口客户优惠数据");
|
||||
@PreAuthorize("@ss.hasPermi('system:discount:edit')")
|
||||
@ApiOperation(value = "客户销售管理 批量减价、批量抹零减价", httpMethod = "PUT", response = R.class)
|
||||
@Log(title = "客户销售管理 批量减价、批量抹零减价", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/batch")
|
||||
public R<Integer> batchDiscount(@Validated @RequestBody StoreCusProdBatchDiscountVO batchDiscVO) {
|
||||
return R.ok(storeCusProdDiscService.batchDiscount(BeanUtil.toBean(batchDiscVO, StoreCusProdBatchDiscountDTO.class)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取档口客户优惠详细信息
|
||||
* 查询客户销售管理列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:discount:query')")
|
||||
@GetMapping(value = "/{storeCusProdDiscId}")
|
||||
public R getInfo(@PathVariable("storeCusProdDiscId") Long storeCusProdDiscId) {
|
||||
return success(storeCusProdDiscountSvc.selectStoreCustomerProductDiscountByStoreCusProdDiscId(storeCusProdDiscId));
|
||||
@PreAuthorize("@ss.hasPermi('system:customer:list')")
|
||||
@ApiOperation(value = "查询客户销售管理列表", httpMethod = "POST", response = R.class)
|
||||
@PostMapping("/page")
|
||||
public R<Page<StoreCusProdDiscPageResDTO>> selectPage(@Validated @RequestBody StoreCusProdDiscPageVO pageVO) {
|
||||
return R.ok(storeCusProdDiscService.selectPage(BeanUtil.toBean(pageVO, StoreCusProdDiscPageDTO.class)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增档口客户优惠
|
||||
* 新增客户销售定价时,根据入参查询是否已存在优惠
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:discount:add')")
|
||||
@Log(title = "档口客户优惠", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public R add(@RequestBody StoreCustomerProductDiscount storeCustomerProductDiscount) {
|
||||
return success(storeCusProdDiscountSvc.insertStoreCustomerProductDiscount(storeCustomerProductDiscount));
|
||||
@PreAuthorize("@ss.hasPermi('system:customer:list')")
|
||||
@ApiOperation(value = "新增客户销售定价时,根据入参查询是否已存在优惠", httpMethod = "POST", response = R.class)
|
||||
@PostMapping("/exists")
|
||||
public R discountExist(@Validated @RequestBody StoreCusProdDiscExistVO existVO) {
|
||||
storeCusProdDiscService.discountExist(BeanUtil.toBean(existVO, StoreCusProdDiscExistDTO.class));
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除档口客户优惠
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:discount:remove')")
|
||||
@Log(title = "档口客户优惠", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{storeCusProdDiscIds}")
|
||||
public R remove(@PathVariable Long[] storeCusProdDiscIds) {
|
||||
return success(storeCusProdDiscountSvc.deleteStoreCustomerProductDiscountByStoreCusProdDiscIds(storeCusProdDiscIds));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,52 @@
|
|||
package com.ruoyi.web.controller.xkt.vo.storeCusProdDiscount;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@ApiModel("档口客户批量减价、批量抹零")
|
||||
@Data
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class StoreCusProdBatchDiscountVO {
|
||||
|
||||
@NotNull(message = "档口ID不能为空!")
|
||||
@ApiModelProperty(name = "档口ID")
|
||||
private Long storeId;
|
||||
@NotNull(message = "优惠列表不能为空!")
|
||||
@Valid
|
||||
@ApiModelProperty(value = "优惠列表", required = true)
|
||||
List<DiscountItemVO> discountList;
|
||||
|
||||
@Data
|
||||
@ApiModel(value = "档口优惠列表")
|
||||
public static class DiscountItemVO {
|
||||
@NotNull(message = "档口商品ID不能为空!")
|
||||
@ApiModelProperty(name = "档口商品ID")
|
||||
private Long storeProdId;
|
||||
@NotNull(message = "档口商品颜色ID不能为空!")
|
||||
@ApiModelProperty(name = "档口商品颜色ID")
|
||||
private Long storeProdColorId;
|
||||
@NotNull(message = "优惠金额不能为空!")
|
||||
@ApiModelProperty(value = "优惠金额", required = true)
|
||||
private Integer discount;
|
||||
@NotNull(message = "档口客户ID不能为空!")
|
||||
@ApiModelProperty(value = "档口ID", required = true)
|
||||
private Long storeCusId;
|
||||
@ApiModelProperty(value = "档口客户名称", required = true)
|
||||
@NotBlank(message = "档口客户名称不能为空!")
|
||||
private String storeCusName;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
package com.ruoyi.web.controller.xkt.vo.storeCusProdDiscount;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@ApiModel("档口客户批量减价、批量抹零")
|
||||
@Data
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class StoreCusProdDiscExistVO {
|
||||
|
||||
@NotNull(message = "档口ID不能为空!")
|
||||
@ApiModelProperty(name = "档口ID")
|
||||
private Long storeId;
|
||||
@NotNull(message = "优惠列表不能为空!")
|
||||
@Valid
|
||||
@ApiModelProperty(value = "优惠列表", required = true)
|
||||
List<DiscountItemVO> discountList;
|
||||
|
||||
@Data
|
||||
@ApiModel(value = "档口优惠列表")
|
||||
public static class DiscountItemVO {
|
||||
@NotNull(message = "档口商品ID不能为空!")
|
||||
@ApiModelProperty(name = "档口商品ID")
|
||||
private Long storeProdId;
|
||||
@NotBlank(message = "商品货号不能为空!")
|
||||
@ApiModelProperty(name = "商品货号")
|
||||
private String prodArtNum;
|
||||
@ApiModelProperty(name = "商品颜色名称")
|
||||
@NotBlank(message = "商品颜色名称不能为空!")
|
||||
private String colorName;
|
||||
@NotNull(message = "档口商品颜色ID不能为空!")
|
||||
@ApiModelProperty(name = "档口商品颜色ID")
|
||||
private Long storeProdColorId;
|
||||
@NotNull(message = "优惠金额不能为空!")
|
||||
@ApiModelProperty(value = "优惠金额", required = true)
|
||||
private Integer discount;
|
||||
@NotNull(message = "档口客户ID不能为空!")
|
||||
@ApiModelProperty(value = "档口客户ID", required = true)
|
||||
private Long storeCusId;
|
||||
@NotBlank(message = "档口客户名称不能为空!")
|
||||
@ApiModelProperty(value = "档口客户名称", required = true)
|
||||
private String storeCusName;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.ruoyi.web.controller.xkt.vo.storeCusProdDiscount;
|
||||
|
||||
import com.ruoyi.web.controller.xkt.vo.BasePageVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel("档口客户销售分页查询入参")
|
||||
@Data
|
||||
public class StoreCusProdDiscPageVO extends BasePageVO {
|
||||
|
||||
@ApiModelProperty(value = "客户名称")
|
||||
private String cusName;
|
||||
@ApiModelProperty(value = "商品货号")
|
||||
private String prodArtNum;
|
||||
@ApiModelProperty(value = "档口ID", required = true)
|
||||
@NotNull(message = "档口ID不能为空")
|
||||
private Long storeId;
|
||||
|
||||
}
|
||||
|
|
@ -33,6 +33,6 @@ public class StoreCusProdDiscountVO {
|
|||
private String phone;
|
||||
@NotNull(message = "优惠金额不能为空!")
|
||||
@ApiModelProperty(value = "优惠金额", required = true)
|
||||
private BigDecimal discount;
|
||||
private Integer discount;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,9 @@ public class StoreCusVO {
|
|||
@ApiModelProperty(value = "客户联系电话")
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "联系电话格式不正确,请输入有效的中国大陆手机号")
|
||||
private String phone;
|
||||
@NotNull(message = "大小码加价不能为空!")
|
||||
@ApiModelProperty(value = "大小码加价 0 不加 1加价", required = true)
|
||||
private Integer addOverPrice;
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,10 @@ public class StoreCustomer extends XktBaseEntity {
|
|||
@Excel(name = "客户备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 大小码加价 0 不加 1加价
|
||||
*/
|
||||
private Integer addOverPrice;
|
||||
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public class StoreCustomerProductDiscount extends XktBaseEntity {
|
|||
* 优惠金额
|
||||
*/
|
||||
@Excel(name = "优惠金额")
|
||||
private BigDecimal discount;
|
||||
private Integer discount;
|
||||
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
package com.ruoyi.xkt.dto.storeCusProdDiscount;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@ApiModel("档口客户批量减价、批量抹零")
|
||||
@Data
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class StoreCusProdBatchDiscountDTO {
|
||||
|
||||
@ApiModelProperty(name = "档口ID")
|
||||
private Long storeId;
|
||||
@ApiModelProperty(value = "优惠列表")
|
||||
private List<DiscountItemDTO> discountList;
|
||||
|
||||
@Data
|
||||
@Valid
|
||||
@ApiModel(value = "档口优惠列表")
|
||||
public static class DiscountItemDTO {
|
||||
@ApiModelProperty(name = "档口商品ID")
|
||||
private Long storeProdId;
|
||||
@ApiModelProperty(name = "档口商品颜色ID")
|
||||
private Long storeProdColorId;
|
||||
@ApiModelProperty(value = "优惠金额")
|
||||
private Integer discount;
|
||||
@ApiModelProperty(value = "档口ID")
|
||||
private Long storeCusId;
|
||||
@ApiModelProperty(value = "档口客户名称")
|
||||
private String storeCusName;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package com.ruoyi.xkt.dto.storeCusProdDiscount;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@ApiModel("档口客户批量减价、批量抹零")
|
||||
@Data
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class StoreCusProdDiscExistDTO {
|
||||
|
||||
@ApiModelProperty(name = "档口ID")
|
||||
private Long storeId;
|
||||
@ApiModelProperty(value = "优惠列表")
|
||||
List<DiscountItemDTO> discountList;
|
||||
|
||||
@Data
|
||||
@ApiModel(value = "档口优惠列表")
|
||||
public static class DiscountItemDTO {
|
||||
@ApiModelProperty(name = "档口商品ID")
|
||||
private Long storeProdId;
|
||||
@ApiModelProperty(name = "商品货号")
|
||||
private String prodArtNum;
|
||||
@ApiModelProperty(name = "商品颜色名称")
|
||||
private String colorName;
|
||||
@ApiModelProperty(name = "档口商品颜色ID")
|
||||
private Long storeProdColorId;
|
||||
@ApiModelProperty(value = "优惠金额")
|
||||
private Integer discount;
|
||||
@ApiModelProperty(value = "档口客户ID")
|
||||
private Long storeCusId;
|
||||
@ApiModelProperty(value = "档口客户名称")
|
||||
private String storeCusName;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package com.ruoyi.xkt.dto.storeCusProdDiscount;
|
||||
|
||||
import com.ruoyi.xkt.dto.BasePageDTO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel("档口客户销售分页查询入参")
|
||||
@Data
|
||||
public class StoreCusProdDiscPageDTO extends BasePageDTO {
|
||||
|
||||
@ApiModelProperty(value = "客户名称")
|
||||
private String cusName;
|
||||
@ApiModelProperty(value = "商品货号")
|
||||
private String prodArtNum;
|
||||
@ApiModelProperty(value = "档口ID")
|
||||
private Long storeId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.ruoyi.xkt.dto.storeCusProdDiscount;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@ApiModel("档口客户销售管理分页数据")
|
||||
@Data
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class StoreCusProdDiscPageResDTO {
|
||||
|
||||
@ApiModelProperty(value = "档口客户商品优惠ID")
|
||||
private Long storeCusProdDiscId;
|
||||
@ApiModelProperty(value = "档口ID")
|
||||
private Long storeId;
|
||||
@ApiModelProperty(name = "档口商品ID")
|
||||
private Long storeProdId;
|
||||
@ApiModelProperty(name = "档口客户ID")
|
||||
private Long storeCusId;
|
||||
@ApiModelProperty(name = "档口客户名称")
|
||||
private String storeCusName;
|
||||
@ApiModelProperty(name = "档口商品颜色ID")
|
||||
private Long storeProdColorId;
|
||||
@ApiModelProperty(name = "优惠金额")
|
||||
private Integer discount;
|
||||
@ApiModelProperty("更新时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
|
|
@ -28,6 +28,6 @@ public class StoreCusProdDiscountDTO {
|
|||
@ApiModelProperty(value = "客户联系电话")
|
||||
private String phone;
|
||||
@ApiModelProperty(value = "优惠金额")
|
||||
private BigDecimal discount;
|
||||
private Integer discount;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ public class StoreCusDTO {
|
|||
private String cusName;
|
||||
@ApiModelProperty(value = "客户联系电话")
|
||||
private String phone;
|
||||
@ApiModelProperty(value = "大小码加价 0 不加 1加价")
|
||||
private Integer addOverPrice;
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import io.swagger.annotations.ApiModel;
|
|||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
|
|
@ -20,16 +19,17 @@ import java.util.Date;
|
|||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class StoreCusPageResDTO {
|
||||
|
||||
@ApiModelProperty(value = "档口客户ID", notes = "新增为空,编辑必传")
|
||||
@ApiModelProperty(value = "档口客户ID")
|
||||
@JsonProperty("storeCusId")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "档口ID")
|
||||
private Long storeId;
|
||||
@NotBlank(message = "客户名称不能为空!")
|
||||
@ApiModelProperty(value = "客户名称")
|
||||
private String cusName;
|
||||
@ApiModelProperty(value = "客户联系电话")
|
||||
private String phone;
|
||||
@ApiModelProperty(value = "大小码加价 0 不加 1加价")
|
||||
private Integer addOverPrice;
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
@ApiModelProperty("创建时间")
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package com.ruoyi.xkt.mapper;
|
|||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.xkt.domain.StoreCustomerProductDiscount;
|
||||
import com.ruoyi.xkt.dto.storeCusProdDiscount.StoreCusProdDiscPageDTO;
|
||||
import com.ruoyi.xkt.dto.storeCusProdDiscount.StoreCusProdDiscPageResDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -12,51 +14,7 @@ import java.util.List;
|
|||
* @date 2025-03-26
|
||||
*/
|
||||
public interface StoreCustomerProductDiscountMapper extends BaseMapper<StoreCustomerProductDiscount> {
|
||||
/**
|
||||
* 查询档口客户优惠
|
||||
*
|
||||
* @param id 档口客户优惠主键
|
||||
* @return 档口客户优惠
|
||||
*/
|
||||
public StoreCustomerProductDiscount selectStoreCustomerProductDiscountByStoreCusProdDiscId(Long id);
|
||||
|
||||
/**
|
||||
* 查询档口客户优惠列表
|
||||
*
|
||||
* @param storeCustomerProductDiscount 档口客户优惠
|
||||
* @return 档口客户优惠集合
|
||||
*/
|
||||
public List<StoreCustomerProductDiscount> selectStoreCustomerProductDiscountList(StoreCustomerProductDiscount storeCustomerProductDiscount);
|
||||
List<StoreCusProdDiscPageResDTO> selectDiscPage(StoreCusProdDiscPageDTO pageDTO);
|
||||
|
||||
/**
|
||||
* 新增档口客户优惠
|
||||
*
|
||||
* @param storeCustomerProductDiscount 档口客户优惠
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertStoreCustomerProductDiscount(StoreCustomerProductDiscount storeCustomerProductDiscount);
|
||||
|
||||
/**
|
||||
* 修改档口客户优惠
|
||||
*
|
||||
* @param storeCustomerProductDiscount 档口客户优惠
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateStoreCustomerProductDiscount(StoreCustomerProductDiscount storeCustomerProductDiscount);
|
||||
|
||||
/**
|
||||
* 删除档口客户优惠
|
||||
*
|
||||
* @param id 档口客户优惠主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteStoreCustomerProductDiscountByStoreCusProdDiscId(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除档口客户优惠
|
||||
*
|
||||
* @param storeCusProdDiscIds 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteStoreCustomerProductDiscountByStoreCusProdDiscIds(Long[] storeCusProdDiscIds);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
package com.ruoyi.xkt.service;
|
||||
|
||||
import com.ruoyi.xkt.domain.StoreCustomerProductDiscount;
|
||||
import com.ruoyi.xkt.dto.storeCusProdDiscount.StoreCusProdDiscountDTO;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.common.core.page.Page;
|
||||
import com.ruoyi.xkt.dto.storeCusProdDiscount.*;
|
||||
|
||||
/**
|
||||
* 档口客户优惠Service接口
|
||||
|
|
@ -12,29 +10,6 @@ import java.util.List;
|
|||
* @date 2025-03-26
|
||||
*/
|
||||
public interface IStoreCustomerProductDiscountService {
|
||||
/**
|
||||
* 查询档口客户优惠
|
||||
*
|
||||
* @param storeCusProdDiscId 档口客户优惠主键
|
||||
* @return 档口客户优惠
|
||||
*/
|
||||
public StoreCustomerProductDiscount selectStoreCustomerProductDiscountByStoreCusProdDiscId(Long storeCusProdDiscId);
|
||||
|
||||
/**
|
||||
* 查询档口客户优惠列表
|
||||
*
|
||||
* @param storeCustomerProductDiscount 档口客户优惠
|
||||
* @return 档口客户优惠集合
|
||||
*/
|
||||
public List<StoreCustomerProductDiscount> selectStoreCustomerProductDiscountList(StoreCustomerProductDiscount storeCustomerProductDiscount);
|
||||
|
||||
/**
|
||||
* 新增档口客户优惠
|
||||
*
|
||||
* @param storeCustomerProductDiscount 档口客户优惠
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertStoreCustomerProductDiscount(StoreCustomerProductDiscount storeCustomerProductDiscount);
|
||||
|
||||
/**
|
||||
* 修改档口客户优惠
|
||||
|
|
@ -42,21 +17,29 @@ public interface IStoreCustomerProductDiscountService {
|
|||
* @param cusProdDisDTO 档口客户优惠
|
||||
* @return 结果
|
||||
*/
|
||||
public Integer updateStoreCusProdDiscount(StoreCusProdDiscountDTO cusProdDisDTO);
|
||||
Integer updateStoreCusProdDiscount(StoreCusProdDiscountDTO cusProdDisDTO);
|
||||
|
||||
/**
|
||||
* 批量删除档口客户优惠
|
||||
* 档口客户 批量减价、批量抹零减价
|
||||
*
|
||||
* @param storeCusProdDiscIds 需要删除的档口客户优惠主键集合
|
||||
* @return 结果
|
||||
* @param batchDiscDTO 批量减价入参
|
||||
* @return Integer
|
||||
*/
|
||||
public int deleteStoreCustomerProductDiscountByStoreCusProdDiscIds(Long[] storeCusProdDiscIds);
|
||||
Integer batchDiscount(StoreCusProdBatchDiscountDTO batchDiscDTO);
|
||||
|
||||
/**
|
||||
* 删除档口客户优惠信息
|
||||
* 查询客户销售管理列表
|
||||
*
|
||||
* @param storeCusProdDiscId 档口客户优惠主键
|
||||
* @return 结果
|
||||
* @param pageDTO 分页入参
|
||||
* @return Page<StoreCusProdDiscPageResDTO>
|
||||
*/
|
||||
public int deleteStoreCustomerProductDiscountByStoreCusProdDiscId(Long storeCusProdDiscId);
|
||||
Page<StoreCusProdDiscPageResDTO> selectPage(StoreCusProdDiscPageDTO pageDTO);
|
||||
|
||||
/**
|
||||
* 客户销售管理,新增客户优惠时,判断是否已存在优惠
|
||||
* @param existDTO 优惠是否存在DTO
|
||||
* @return String
|
||||
*/
|
||||
void discountExist(StoreCusProdDiscExistDTO existDTO);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public interface IStoreCustomerService {
|
|||
* @param storeCusId 档口客户主键
|
||||
* @return 档口客户
|
||||
*/
|
||||
public StoreCusDTO selectStoreCustomerByStoreCusId(Long storeCusId);
|
||||
public StoreCusDTO selectByStoreCusId(Long storeCusId);
|
||||
|
||||
/**
|
||||
* 查询档口客户列表
|
||||
|
|
|
|||
|
|
@ -2,14 +2,16 @@ package com.ruoyi.xkt.service.impl;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.constant.HttpStatus;
|
||||
import com.ruoyi.common.core.page.Page;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.xkt.domain.StoreCustomer;
|
||||
import com.ruoyi.xkt.domain.StoreCustomerProductDiscount;
|
||||
import com.ruoyi.xkt.domain.StoreProductColor;
|
||||
import com.ruoyi.xkt.dto.storeCusProdDiscount.StoreCusProdDiscountDTO;
|
||||
import com.ruoyi.xkt.dto.storeCusProdDiscount.*;
|
||||
import com.ruoyi.xkt.mapper.StoreCustomerMapper;
|
||||
import com.ruoyi.xkt.mapper.StoreCustomerProductDiscountMapper;
|
||||
import com.ruoyi.xkt.mapper.StoreProductColorMapper;
|
||||
|
|
@ -20,10 +22,11 @@ import org.apache.commons.lang3.ObjectUtils;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -36,7 +39,7 @@ import java.util.stream.Collectors;
|
|||
@RequiredArgsConstructor
|
||||
public class StoreCustomerProductDiscountServiceImpl implements IStoreCustomerProductDiscountService {
|
||||
|
||||
final StoreCustomerProductDiscountMapper cusProdDiscountMapper;
|
||||
final StoreCustomerProductDiscountMapper cusProdDiscMapper;
|
||||
final StoreCustomerMapper storeCusMapper;
|
||||
final StoreProductColorMapper storeProdColorMapper;
|
||||
|
||||
|
|
@ -57,13 +60,13 @@ public class StoreCustomerProductDiscountServiceImpl implements IStoreCustomerPr
|
|||
}
|
||||
StoreCustomer storeCus = CollectionUtils.isNotEmpty(storeCusList) ? storeCusList.get(0) : this.createStoreCustomer(cusProdDisDTO);
|
||||
// 获取当前档口客户已有的优惠
|
||||
List<StoreCustomerProductDiscount> cusProdDisList = Optional.ofNullable(cusProdDiscountMapper.selectList(new LambdaQueryWrapper<StoreCustomerProductDiscount>()
|
||||
List<StoreCustomerProductDiscount> cusProdDisList = Optional.ofNullable(cusProdDiscMapper.selectList(new LambdaQueryWrapper<StoreCustomerProductDiscount>()
|
||||
.eq(StoreCustomerProductDiscount::getStoreCusName, cusProdDisDTO.getStoreCusName()).eq(StoreCustomerProductDiscount::getDelFlag, Constants.UNDELETED)
|
||||
.eq(StoreCustomerProductDiscount::getStoreId, cusProdDisDTO.getStoreId()))).orElse(new ArrayList<>());
|
||||
// 已存在优惠但优惠额度低于当前优惠,则更新该部分优惠
|
||||
List<StoreCustomerProductDiscount> updateList = cusProdDisList.stream()
|
||||
// 找到所有优惠低于当前优惠额度的列表
|
||||
.filter(x -> cusProdDisDTO.getDiscount().compareTo(ObjectUtils.defaultIfNull(x.getDiscount(), BigDecimal.ZERO)) > 0)
|
||||
.filter(x -> cusProdDisDTO.getDiscount().compareTo(ObjectUtils.defaultIfNull(x.getDiscount(), 0)) > 0)
|
||||
// 更新最新的优惠
|
||||
.peek(x -> x.setDiscount(cusProdDisDTO.getDiscount())).collect(Collectors.toList());
|
||||
// 已有优惠的id
|
||||
|
|
@ -81,69 +84,104 @@ public class StoreCustomerProductDiscountServiceImpl implements IStoreCustomerPr
|
|||
updateList.addAll(addDiscountList);
|
||||
}
|
||||
// 更新及新增当前客户优惠
|
||||
return this.cusProdDiscountMapper.insertOrUpdate(updateList).size();
|
||||
return this.cusProdDiscMapper.insertOrUpdate(updateList).size();
|
||||
}
|
||||
|
||||
/**
|
||||
* 档口客户 批量减价、批量抹零减价
|
||||
*
|
||||
* @param batchDiscDTO 批量减价入参
|
||||
* @return Integer
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public Integer batchDiscount(StoreCusProdBatchDiscountDTO batchDiscDTO) {
|
||||
// 获取当前客户已有优惠列表
|
||||
List<StoreCustomerProductDiscount> prodCusDiscList = this.cusProdDiscMapper.selectList(new LambdaQueryWrapper<StoreCustomerProductDiscount>()
|
||||
.in(StoreCustomerProductDiscount::getStoreCusId, batchDiscDTO.getDiscountList().stream()
|
||||
.map(StoreCusProdBatchDiscountDTO.DiscountItemDTO::getStoreCusId).distinct().collect(Collectors.toList()))
|
||||
.eq(StoreCustomerProductDiscount::getDelFlag, Constants.UNDELETED)
|
||||
.eq(StoreCustomerProductDiscount::getStoreId, batchDiscDTO.getStoreId())
|
||||
.in(StoreCustomerProductDiscount::getStoreProdColorId, batchDiscDTO.getDiscountList().stream()
|
||||
.map(StoreCusProdBatchDiscountDTO.DiscountItemDTO::getStoreProdColorId).distinct().collect(Collectors.toList())));
|
||||
// 数据库已有的客户优惠map
|
||||
Map<String, StoreCustomerProductDiscount> prodCusDiscMap = prodCusDiscList.stream().collect(Collectors
|
||||
.toMap(item -> item.getStoreCusId().toString() + item.getStoreProdColorId().toString(), Function.identity()));
|
||||
// 最新的优惠金额
|
||||
List<StoreCustomerProductDiscount> updateList = new ArrayList<>();
|
||||
// 入参优惠列表
|
||||
batchDiscDTO.getDiscountList().forEach(itemDTO -> {
|
||||
// 如果已存在优惠则叠加
|
||||
if (prodCusDiscMap.containsKey(itemDTO.getStoreCusId().toString() + itemDTO.getStoreProdColorId().toString())) {
|
||||
StoreCustomerProductDiscount prodColorDisc = prodCusDiscMap.get(itemDTO.getStoreCusId().toString() + itemDTO.getStoreProdColorId().toString());
|
||||
// 优惠金额进行累加
|
||||
prodColorDisc.setDiscount(ObjectUtils.defaultIfNull(prodColorDisc.getDiscount(), 0) + ObjectUtils.defaultIfNull(itemDTO.getDiscount(), 0));
|
||||
updateList.add(prodColorDisc);
|
||||
// 不存在优惠则新增
|
||||
} else {
|
||||
// 新增优惠
|
||||
updateList.add(new StoreCustomerProductDiscount() {{
|
||||
setDiscount(itemDTO.getDiscount());
|
||||
setStoreId(batchDiscDTO.getStoreId());
|
||||
setStoreCusName(itemDTO.getStoreCusName());
|
||||
setStoreCusId(itemDTO.getStoreCusId());
|
||||
setStoreProdColorId(itemDTO.getStoreProdColorId());
|
||||
setStoreProdId(itemDTO.getStoreProdId());
|
||||
}});
|
||||
}
|
||||
});
|
||||
if (CollectionUtils.isEmpty(updateList)) {
|
||||
return 0;
|
||||
}
|
||||
return this.cusProdDiscMapper.updateById(updateList).size();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询档口客户优惠
|
||||
* 查询客户销售管理列表
|
||||
*
|
||||
* @param storeCusProdDiscId 档口客户优惠主键
|
||||
* @return 档口客户优惠
|
||||
* @param pageDTO 分页入参
|
||||
* @return Page<StoreCusProdDiscPageResDTO>
|
||||
*/
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public StoreCustomerProductDiscount selectStoreCustomerProductDiscountByStoreCusProdDiscId(Long storeCusProdDiscId) {
|
||||
return cusProdDiscountMapper.selectStoreCustomerProductDiscountByStoreCusProdDiscId(storeCusProdDiscId);
|
||||
public Page<StoreCusProdDiscPageResDTO> selectPage(StoreCusProdDiscPageDTO pageDTO) {
|
||||
PageHelper.startPage(pageDTO.getPageNum(), pageDTO.getPageSize());
|
||||
List<StoreCusProdDiscPageResDTO> list = this.cusProdDiscMapper.selectDiscPage(pageDTO);
|
||||
return Page.convert(new PageInfo<>(list));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询档口客户优惠列表
|
||||
* 客户销售管理,新增客户优惠时,判断是否已存在优惠
|
||||
*
|
||||
* @param storeCustomerProductDiscount 档口客户优惠
|
||||
* @return 档口客户优惠
|
||||
* @param existDTO 优惠是否存在DTO
|
||||
* @return String
|
||||
*/
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public List<StoreCustomerProductDiscount> selectStoreCustomerProductDiscountList(StoreCustomerProductDiscount storeCustomerProductDiscount) {
|
||||
return cusProdDiscountMapper.selectStoreCustomerProductDiscountList(storeCustomerProductDiscount);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增档口客户优惠
|
||||
*
|
||||
* @param storeCustomerProductDiscount 档口客户优惠
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertStoreCustomerProductDiscount(StoreCustomerProductDiscount storeCustomerProductDiscount) {
|
||||
storeCustomerProductDiscount.setCreateTime(DateUtils.getNowDate());
|
||||
return cusProdDiscountMapper.insertStoreCustomerProductDiscount(storeCustomerProductDiscount);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除档口客户优惠
|
||||
*
|
||||
* @param storeCusProdDiscIds 需要删除的档口客户优惠主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteStoreCustomerProductDiscountByStoreCusProdDiscIds(Long[] storeCusProdDiscIds) {
|
||||
return cusProdDiscountMapper.deleteStoreCustomerProductDiscountByStoreCusProdDiscIds(storeCusProdDiscIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除档口客户优惠信息
|
||||
*
|
||||
* @param storeCusProdDiscId 档口客户优惠主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteStoreCustomerProductDiscountByStoreCusProdDiscId(Long storeCusProdDiscId) {
|
||||
return cusProdDiscountMapper.deleteStoreCustomerProductDiscountByStoreCusProdDiscId(storeCusProdDiscId);
|
||||
public void discountExist(StoreCusProdDiscExistDTO existDTO) {
|
||||
List<StoreCustomerProductDiscount> discountList = this.cusProdDiscMapper.selectList(new LambdaQueryWrapper<StoreCustomerProductDiscount>()
|
||||
.eq(StoreCustomerProductDiscount::getStoreId, existDTO.getStoreId())
|
||||
.in(StoreCustomerProductDiscount::getStoreProdColorId, existDTO.getDiscountList().stream().map(StoreCusProdDiscExistDTO.DiscountItemDTO::getStoreProdColorId).collect(Collectors.toList()))
|
||||
.in(StoreCustomerProductDiscount::getStoreCusId, existDTO.getDiscountList().stream().map(StoreCusProdDiscExistDTO.DiscountItemDTO::getStoreCusId).collect(Collectors.toList()))
|
||||
.eq(StoreCustomerProductDiscount::getDelFlag, Constants.UNDELETED));
|
||||
if (CollectionUtils.isEmpty(discountList)) {
|
||||
return;
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
// 判断存在哪些优惠,给与提示
|
||||
Map<String, StoreCustomerProductDiscount> existDiscMap = discountList.stream().collect(Collectors
|
||||
.toMap(x -> x.getStoreCusId().toString() + x.getStoreProdColorId().toString(), Function.identity()));
|
||||
// 根据入参一次确认
|
||||
existDTO.getDiscountList().forEach(x -> {
|
||||
final String existKey = x.getStoreCusId().toString() + x.getStoreProdColorId().toString();
|
||||
if (existDiscMap.containsKey(existKey)) {
|
||||
sb.append("客户:").append(x.getStoreCusName()).append("、商品:").append(x.getProdArtNum()).append(x.getColorName())
|
||||
.append("、已存在优惠:").append(existDiscMap.get(existKey).getDiscount()).append("元").append("\n");
|
||||
}
|
||||
});
|
||||
if (sb.length() > 0) {
|
||||
throw new ServiceException(sb.toString(), HttpStatus.ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ public class StoreCustomerServiceImpl implements IStoreCustomerService {
|
|||
*/
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public StoreCusDTO selectStoreCustomerByStoreCusId(Long storeCusId) {
|
||||
public StoreCusDTO selectByStoreCusId(Long storeCusId) {
|
||||
StoreCustomer storeCus = Optional.ofNullable(storeCusMapper.selectOne(new LambdaQueryWrapper<StoreCustomer>()
|
||||
.eq(StoreCustomer::getId, storeCusId).eq(StoreCustomer::getDelFlag, Constants.UNDELETED)))
|
||||
.orElseThrow(() -> new ServiceException("档口客户不存在!", HttpStatus.ERROR));
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService {
|
|||
final StoreProductColorPriceMapper prodColorPriceMapper;
|
||||
final StoreProductFileMapper prodFileMapper;
|
||||
final StoreProductCategoryAttributeMapper prodCateAttrMapper;
|
||||
|
||||
final StoreCertificateMapper storeCertMapper;
|
||||
|
||||
/**
|
||||
* 新增档口首页各部分图
|
||||
|
|
@ -213,6 +213,9 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService {
|
|||
Store store = Optional.ofNullable(this.storeMapper.selectOne(new LambdaQueryWrapper<Store>()
|
||||
.eq(Store::getId, storeId).eq(Store::getDelFlag, Constants.UNDELETED)))
|
||||
.orElseThrow(() -> new ServiceException("档口不存在!", HttpStatus.ERROR));
|
||||
// 档口认证
|
||||
StoreCertificate storeCert = this.storeCertMapper.selectOne(new LambdaQueryWrapper<StoreCertificate>()
|
||||
.eq(StoreCertificate::getStoreId, storeId).eq(StoreCertificate::getDelFlag, Constants.UNDELETED));
|
||||
// 获取商品基本信息
|
||||
StoreProduct storeProd = Optional.ofNullable(this.storeProdMapper.selectOne(new LambdaQueryWrapper<StoreProduct>()
|
||||
.eq(StoreProduct::getId, storeProdId).eq(StoreProduct::getDelFlag, Constants.UNDELETED)
|
||||
|
|
@ -281,7 +284,8 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService {
|
|||
.setFileUrl(fileMap.get(x.getFileId()).getFileUrl()).setFileSize(fileMap.get(x.getFileId()).getFileSize()) : decorationDTO;
|
||||
}).collect(Collectors.toList());
|
||||
return new StoreHomeProdResDTO() {{
|
||||
setStore(BeanUtil.toBean(store, StoreBasicDTO.class).setStoreId(storeId));
|
||||
setStore(BeanUtil.toBean(store, StoreBasicDTO.class).setStoreId(storeId)
|
||||
.setLicenseName(ObjectUtils.isNotEmpty(storeCert) ? storeCert.getLicenseName() : null));
|
||||
setStoreProd(storeProdDTO);
|
||||
setStoreProdStatusCount(statusCountDTO);
|
||||
setRecommendedList(recommendedList);
|
||||
|
|
|
|||
|
|
@ -37,8 +37,6 @@ import java.util.*;
|
|||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.ruoyi.common.constant.Constants.ORDER_NUM_1;
|
||||
|
||||
/**
|
||||
* 档口商品Service业务层处理
|
||||
*
|
||||
|
|
|
|||
|
|
@ -93,4 +93,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
|
||||
<select id="selectDiscPage" resultType="com.ruoyi.xkt.dto.storeCusProdDiscount.StoreCusProdDiscPageResDTO">
|
||||
SELECT
|
||||
scpd.id AS storeCusProdDiscId,
|
||||
sp.prod_art_num AS prodArtNum,
|
||||
scpd.store_id AS storeId,
|
||||
scpd.store_prod_id AS storeProdId,
|
||||
scpd.store_cus_id AS storeCusId,
|
||||
scpd.store_cus_name AS storeCusName,
|
||||
scpd.store_prod_color_id AS storeProdColorId,
|
||||
scpd.discount,
|
||||
scpd.update_time
|
||||
FROM
|
||||
store_customer_product_discount scpd
|
||||
LEFT JOIN store_product sp ON scpd.store_prod_id = sp.id
|
||||
WHERE
|
||||
scpd.del_flag = 0 AND scpd.store_id = #{storeId}
|
||||
<if test="cusName != null and cusName != ''"> AND scpd.store_cus_name = #{cusName}</if>
|
||||
<if test="prodArtNum != null and prodArtNum != ''"> AND sp.prod_art_num like concat('%', #{prodArtNum}, '%')</if>
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue