From e947fcb46dc87b2bcdf8f666b6def2c42e43a81a Mon Sep 17 00:00:00 2001
From: Cui Zhi Feng <cuizf@fengyuntec.com>
Date: 星期一, 02 九月 2024 19:18:28 +0800
Subject: [PATCH] 合伙人批量新增商品加价
---
src/main/java/com/mzl/flower/dto/request/flower/FlowerMarkupSpSaveBatchDTO.java | 20 ++++++++++
src/main/java/com/mzl/flower/service/flower/FlowerMarkupSpService.java | 27 +++++++++++++
src/main/java/com/mzl/flower/web/partner/FlowerMarkupSpController.java | 28 +++++++++++++
src/main/java/com/mzl/flower/mapper/flower/FlowerMarkupSpMapper.java | 3 +
src/main/resources/mapper/flower/FlowerMarkupSpMapper.xml | 35 +++++++++++++++++
5 files changed, 110 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/mzl/flower/dto/request/flower/FlowerMarkupSpSaveBatchDTO.java b/src/main/java/com/mzl/flower/dto/request/flower/FlowerMarkupSpSaveBatchDTO.java
new file mode 100644
index 0000000..59a5d99
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/flower/FlowerMarkupSpSaveBatchDTO.java
@@ -0,0 +1,20 @@
+package com.mzl.flower.dto.request.flower;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class FlowerMarkupSpSaveBatchDTO {
+ @ApiModelProperty(value = "商品ids")
+ private List<Long> flowerIds;
+
+ @ApiModelProperty(value = "金额")
+ private BigDecimal fee;
+
+ @ApiModelProperty(value = "合伙人ID")
+ private Long partnerId;
+
+}
diff --git a/src/main/java/com/mzl/flower/mapper/flower/FlowerMarkupSpMapper.java b/src/main/java/com/mzl/flower/mapper/flower/FlowerMarkupSpMapper.java
index 434eefe..318a93d 100644
--- a/src/main/java/com/mzl/flower/mapper/flower/FlowerMarkupSpMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/flower/FlowerMarkupSpMapper.java
@@ -14,4 +14,7 @@
public interface FlowerMarkupSpMapper extends BaseMapper<FlowerMarkupSp> {
List<FlowerMarkupSpListDTO> selectMarkupSpList(Page page, @Param("partnerId") Long partnerId
, @Param("condition") FlowerMarkupSpQueryDTO dto);
+
+ List<FlowerMarkupSpListDTO> selectMarkupSpFlowerList(Page page, @Param("partnerId") Long partnerId
+ , @Param("condition") FlowerMarkupSpQueryDTO dto);
}
diff --git a/src/main/java/com/mzl/flower/service/flower/FlowerMarkupSpService.java b/src/main/java/com/mzl/flower/service/flower/FlowerMarkupSpService.java
index d5cc067..89b410b 100644
--- a/src/main/java/com/mzl/flower/service/flower/FlowerMarkupSpService.java
+++ b/src/main/java/com/mzl/flower/service/flower/FlowerMarkupSpService.java
@@ -26,7 +26,6 @@
private FlowerMarkupSpMapper spMapper;
public void saveMarkupSp(FlowerMarkupSpSaveDTO dto){
-
FlowerMarkupSp sp = spMapper.selectOne(new QueryWrapper<FlowerMarkupSp>()
.eq("partner_id", dto.getPartnerId()).eq("flower_id", dto.getFlowerId()));
if(sp == null){
@@ -45,6 +44,20 @@
markupCacheClient.addMarkupSp(dto.getPartnerId(), dto.getFlowerId(), sp);
}
+ public void saveMarkupSpBatch(FlowerMarkupSpSaveBatchDTO dto){
+ List<Long> flowerIds = dto.getFlowerIds();
+ if(flowerIds != null && flowerIds.size() > 0){
+ for(Long flowerId : flowerIds){
+ FlowerMarkupSpSaveDTO dt = new FlowerMarkupSpSaveDTO();
+ dt.setFlowerId(flowerId);
+ dt.setPartnerId(dto.getPartnerId());
+ dt.setFee(dto.getFee());
+
+ saveMarkupSp(dt);
+ }
+ }
+ }
+
public FlowerMarkupSpDTO getMarkupSp(Long flowerId){
FlowerMarkupSpDTO dto = new FlowerMarkupSpDTO();
dto.setFlowerId(flowerId);
@@ -59,6 +72,18 @@
return dto;
}
+ public Page<FlowerMarkupSpListDTO> selectMarkupSpFlowerList(Page page, FlowerMarkupSpQueryDTO dto){
+ List<FlowerMarkupSpListDTO> ll = spMapper.selectMarkupSpFlowerList(page, dto.getPartnerId(), dto);
+ if(ll != null && ll.size() > 0){
+ for(FlowerMarkupSpListDTO ss : ll){
+ ss.setPrice(getFinalPriceForPartner(dto.getPartnerId(), ss.getCategory(), ss.getFlowerId(), ss.getPrice(), ss.getLevel()));
+ }
+ }
+
+ page.setRecords(ll);
+ return page;
+ }
+
public Page<FlowerMarkupSpListDTO> selectMarkupSpList(Page page, FlowerMarkupSpQueryDTO dto){
List<FlowerMarkupSpListDTO> ll = spMapper.selectMarkupSpList(page, dto.getPartnerId(), dto);
diff --git a/src/main/java/com/mzl/flower/web/partner/FlowerMarkupSpController.java b/src/main/java/com/mzl/flower/web/partner/FlowerMarkupSpController.java
index 6d56aca..88cfaff 100644
--- a/src/main/java/com/mzl/flower/web/partner/FlowerMarkupSpController.java
+++ b/src/main/java/com/mzl/flower/web/partner/FlowerMarkupSpController.java
@@ -6,6 +6,7 @@
import com.mzl.flower.base.ReturnDataDTO;
import com.mzl.flower.config.exception.ValidationException;
import com.mzl.flower.dto.request.flower.FlowerMarkupSpQueryDTO;
+import com.mzl.flower.dto.request.flower.FlowerMarkupSpSaveBatchDTO;
import com.mzl.flower.dto.request.flower.FlowerMarkupSpSaveDTO;
import com.mzl.flower.dto.response.flower.FlowerMarkupSpDTO;
import com.mzl.flower.dto.response.flower.FlowerMarkupSpListDTO;
@@ -65,7 +66,8 @@
@GetMapping("/list")
@ApiOperation(value = "获取商品加价列表")
- public ResponseEntity<ReturnDataDTO<Page<FlowerMarkupSpListDTO>>> selectMarkupSpList(Page page, FlowerMarkupSpQueryDTO dto){
+ public ResponseEntity<ReturnDataDTO<Page<FlowerMarkupSpListDTO>>> selectMarkupSpList(Page page
+ , FlowerMarkupSpQueryDTO dto){
Partner s = spService.getCurrentPartner();
if(s == null){
throw new ValidationException("未找到当前合伙人信息");
@@ -93,4 +95,28 @@
return returnData(R.SUCCESS.getCode(), null);
}
+
+ @GetMapping("/flower/list")
+ @ApiOperation(value = "获取加价商品加列表")
+ public ResponseEntity<ReturnDataDTO<Page<FlowerMarkupSpListDTO>>> selectMarkupSpFlowerList(Page page
+ , FlowerMarkupSpQueryDTO dto){
+ Partner s = spService.getCurrentPartner();
+ if(s == null){
+ throw new ValidationException("未找到当前合伙人信息");
+ }
+ dto.setPartnerId(s.getId());
+ return returnData(R.SUCCESS.getCode(), spService.selectMarkupSpFlowerList(page, dto));
+ }
+
+ @PostMapping("/flower/list/save")
+ @ApiOperation(value = "批量新增商品加价")
+ public ResponseEntity<ReturnDataDTO> saveMarkupSpBatch(@RequestBody FlowerMarkupSpSaveBatchDTO dto) {
+ Partner s = spService.getCurrentPartner();
+ if(s == null){
+ throw new ValidationException("未找到当前合伙人信息");
+ }
+ dto.setPartnerId(s.getId());
+ spService.saveMarkupSpBatch(dto);
+ return returnData(R.SUCCESS.getCode(), null);
+ }
}
diff --git a/src/main/resources/mapper/flower/FlowerMarkupSpMapper.xml b/src/main/resources/mapper/flower/FlowerMarkupSpMapper.xml
index 7e14ac5..69ef777 100644
--- a/src/main/resources/mapper/flower/FlowerMarkupSpMapper.xml
+++ b/src/main/resources/mapper/flower/FlowerMarkupSpMapper.xml
@@ -36,5 +36,38 @@
ORDER BY f.id
</select>
-
+ <select id="selectMarkupSpFlowerList" resultType="com.mzl.flower.dto.response.flower.FlowerMarkupSpListDTO">
+ SELECT f.*, f.id flower_id, sp.fee, s.name supplierName, c.name categoryStr, c.parent_name parentCategoryStr
+ , (CASE f.level
+ WHEN 'A' THEN c.weight_a
+ WHEN 'B' THEN c.weight_b
+ WHEN 'C' THEN c.weight_c
+ WHEN 'D' THEN c.weight_d
+ WHEN 'E' THEN c.weight_e
+ WHEN 'O' THEN c.weight_o
+ END
+ ) weight
+ FROM t_flower f
+ left join t_flower_markup_sp sp on sp.flower_id = f.id and sp.partner_id = #{partnerId}
+ left join t_supplier_info s on s.id = f.supplier_id
+ left join t_flower_category c on f.category = c.id
+ WHERE f.deleted = 0 AND f.status = 'UP'
+ <if test="condition.name != null and condition.name != ''">
+ AND f.name LIKE concat('%', #{condition.name},'%')
+ </if>
+ <if test="condition.level != null and condition.level != ''">
+ AND f.level = #{condition.level}
+ </if>
+ <if test="condition.tags != null and condition.tags != ''">
+ AND f.tags LIKE concat('%', #{condition.tags},'%')
+ </if>
+ <if test="condition.category != null">
+ AND (f.category = #{condition.category}
+ or exists (
+ select 1 from t_flower_category fc where fc.id = f.category and fc.parent_id = #{condition.category}
+ )
+ )
+ </if>
+ ORDER BY f.id
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3