Cui Zhi Feng
2024-09-02 e947fcb46dc87b2bcdf8f666b6def2c42e43a81a
合伙人批量新增商品加价
已修改4个文件
已添加1个文件
113 ■■■■■ 文件已修改
src/main/java/com/mzl/flower/dto/request/flower/FlowerMarkupSpSaveBatchDTO.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/mapper/flower/FlowerMarkupSpMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/flower/FlowerMarkupSpService.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/web/partner/FlowerMarkupSpController.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/flower/FlowerMarkupSpMapper.xml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}
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);
}
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);
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);
    }
}
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>