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