From 7fbb76204e3a145e54edb8f9bfcf002251acb34a Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期二, 03 九月 2024 10:02:00 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2' into master-v2 --- 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/dto/response/customer/CustomerDTO.java | 3 + src/main/java/com/mzl/flower/web/partner/FlowerMarkupSpController.java | 28 +++++++++ src/main/java/com/mzl/flower/service/payment/OrderService.java | 3 + src/main/java/com/mzl/flower/mapper/member/MemberGrowthRecordMapper.java | 2 src/main/java/com/mzl/flower/dto/response/current/CurrentUserDTO.java | 3 + src/main/java/com/mzl/flower/schedule/PointScheduleService.java | 2 src/main/java/com/mzl/flower/mapper/flower/FlowerMarkupSpMapper.java | 3 + src/main/java/com/mzl/flower/service/customer/CustomerService.java | 13 ++++ src/main/java/com/mzl/flower/service/system/UserService.java | 16 +++++ src/main/resources/mapper/flower/FlowerMarkupSpMapper.xml | 35 +++++++++++ 12 files changed, 149 insertions(+), 6 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/dto/response/current/CurrentUserDTO.java b/src/main/java/com/mzl/flower/dto/response/current/CurrentUserDTO.java index 8e67b4f..7d12c3b 100644 --- a/src/main/java/com/mzl/flower/dto/response/current/CurrentUserDTO.java +++ b/src/main/java/com/mzl/flower/dto/response/current/CurrentUserDTO.java @@ -50,4 +50,7 @@ @ApiModelProperty(value = "是否绑定微信") private Boolean bindWechat; + + @ApiModelProperty(value = "当前积分") + private Integer currentPoint; } diff --git a/src/main/java/com/mzl/flower/dto/response/customer/CustomerDTO.java b/src/main/java/com/mzl/flower/dto/response/customer/CustomerDTO.java index 7038788..fdb8747 100644 --- a/src/main/java/com/mzl/flower/dto/response/customer/CustomerDTO.java +++ b/src/main/java/com/mzl/flower/dto/response/customer/CustomerDTO.java @@ -1,5 +1,6 @@ package com.mzl.flower.dto.response.customer; +import com.mzl.flower.dto.request.menber.UserGrowthRecordDTO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -52,4 +53,6 @@ @ApiModelProperty("更新时间") private LocalDateTime updateTime; + + private UserGrowthRecordDTO userGrowthRecord; } 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/mapper/member/MemberGrowthRecordMapper.java b/src/main/java/com/mzl/flower/mapper/member/MemberGrowthRecordMapper.java index ae0809a..d8dc079 100644 --- a/src/main/java/com/mzl/flower/mapper/member/MemberGrowthRecordMapper.java +++ b/src/main/java/com/mzl/flower/mapper/member/MemberGrowthRecordMapper.java @@ -23,7 +23,7 @@ @Repository public interface MemberGrowthRecordMapper extends BaseMapper<MemberGrowthRecord> { - @Select("SELECT CASE WHEN SUM(growth) < 0 THEN 0 ELSE SUM(growth) END as total_growth from t_member_growth_record WHERE user_id = #{userId} and deleted = '0'") + @Select("SELECT COALESCE(CASE WHEN SUM(growth) < 0 THEN 0 ELSE SUM(growth) END, 0) as total_growth from t_member_growth_record WHERE user_id = #{userId} and deleted = '0'") Integer getSumGrowthByUsertId(@Param("userId") String userId); List<MemberGrowthRecordVO> queryPage(@Param("dto") MemberRecordQueryDTO dto, Page page); diff --git a/src/main/java/com/mzl/flower/schedule/PointScheduleService.java b/src/main/java/com/mzl/flower/schedule/PointScheduleService.java index ad3cd3d..4465d23 100644 --- a/src/main/java/com/mzl/flower/schedule/PointScheduleService.java +++ b/src/main/java/com/mzl/flower/schedule/PointScheduleService.java @@ -55,7 +55,7 @@ customerPointDetail.setChangeType(Constants.POINT_CHANGE_TYPE.reduce.name()); customerPointDetail.setType(Constants.POINT_TYPE.expired.name()); customerPointDetail.setPoint(expiredPoint); - customerPointDetail.setRecordDate(now); + customerPointDetail.setRecordDate(lastYear); customerPointDetail.create("sys"); customerPointDetail.setRemarks(DateUtils.toString(now,"yyyy-MM-dd")+"过期积分结算"); customerPointDetailMapper.insert(customerPointDetail); diff --git a/src/main/java/com/mzl/flower/service/customer/CustomerService.java b/src/main/java/com/mzl/flower/service/customer/CustomerService.java index 564e32a..0081055 100644 --- a/src/main/java/com/mzl/flower/service/customer/CustomerService.java +++ b/src/main/java/com/mzl/flower/service/customer/CustomerService.java @@ -10,6 +10,7 @@ import com.mzl.flower.dto.request.customer.ChangePartnerDTO; import com.mzl.flower.dto.request.customer.QueryCustomerDTO; import com.mzl.flower.dto.request.customer.UpdateCustomerDTO; +import com.mzl.flower.dto.request.menber.UserGrowthRecordDTO; import com.mzl.flower.dto.response.customer.CustomerDTO; import com.mzl.flower.dto.response.partner.PartnerDTO; import com.mzl.flower.entity.customer.Customer; @@ -17,12 +18,15 @@ import com.mzl.flower.enums.TrueOrFalseEnum; import com.mzl.flower.mapper.customer.CustomerMapper; import com.mzl.flower.mapper.partner.PartnerMapper; +import com.mzl.flower.service.menber.MemberGrowthRecordService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; +import javax.annotation.Resource; import java.util.List; @Service @@ -34,6 +38,8 @@ private final CustomerMapper customerMapper; private final PartnerMapper partnerMapper; + @Resource + private MemberGrowthRecordService memberGrowthRecordService; public CustomerService(CustomerMapper customerMapper, PartnerMapper partnerMapper) { this.customerMapper = customerMapper; @@ -41,7 +47,12 @@ } public CustomerDTO getCurrentCustomer() { - return customerMapper.getCurrentCustomer(SecurityUtils.getUserId()); + CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(SecurityUtils.getUserId()); + UserGrowthRecordDTO userGrowthRecordDTO = memberGrowthRecordService.getInfoByUserId(SecurityUtils.getUserId()); + if(!ObjectUtils.isEmpty(userGrowthRecordDTO)){ + currentCustomer.setUserGrowthRecord(userGrowthRecordDTO); + } + return currentCustomer; } public PartnerDTO getCurrentBindPartner() { 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/service/payment/OrderService.java b/src/main/java/com/mzl/flower/service/payment/OrderService.java index 75609cc..a332165 100644 --- a/src/main/java/com/mzl/flower/service/payment/OrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java @@ -958,6 +958,9 @@ if(checkList != null && checkList.size() > 0){ for(OrderItemCheck c : checkList){ + if(Constants.CHECK_TYPE.replace.name().equals(c.getType())){ + continue; + } totalAmount = totalAmount.subtract(getAmount(c.getDeductAmount())); } } diff --git a/src/main/java/com/mzl/flower/service/system/UserService.java b/src/main/java/com/mzl/flower/service/system/UserService.java index fca2da7..855ec56 100644 --- a/src/main/java/com/mzl/flower/service/system/UserService.java +++ b/src/main/java/com/mzl/flower/service/system/UserService.java @@ -13,11 +13,14 @@ import com.mzl.flower.dto.response.system.MenuTreeDTO; import com.mzl.flower.dto.response.system.UserDetailsDTO; import com.mzl.flower.dto.response.system.UserListDTO; +import com.mzl.flower.entity.point.CustomerPoint; import com.mzl.flower.entity.system.*; import com.mzl.flower.enums.TrueOrFalseEnum; +import com.mzl.flower.mapper.point.CustomerPointMapper; import com.mzl.flower.mapper.system.*; import com.mzl.flower.service.customer.CustomerService; import com.mzl.flower.service.partner.PartnerService; +import com.mzl.flower.service.point.CustomerPointService; import com.mzl.flower.service.supplier.SupplierService; import com.mzl.flower.utils.TreeBuilderUtil; import com.mzl.flower.utils.UUIDGenerator; @@ -73,6 +76,10 @@ @Autowired private EmployeeMapper employeeMapper; + + @Autowired + private CustomerPointMapper customerPointMapper; + public User findUserByOpenId(String openId, String sessionKey, String unionId , String imgUrl, String nickname,String userType){ @@ -188,6 +195,15 @@ if(Constants.USER_TYPE.customer.name().equals(user.getType())){ result.setCustomerDTO(customerService.getCurrentCustomer()); + //查询积分 + CustomerPoint customerPoint = customerPointMapper.selectOne(new LambdaQueryWrapper<CustomerPoint>() + .eq(CustomerPoint::getUserId, userId)); + if(customerPoint == null){ + result.setCurrentPoint(0); + }else{ + Integer currentPoint =customerPoint.getTotalPoint()-customerPoint.getUsedPoint()-customerPoint.getExpiredPoint(); + result.setCurrentPoint(currentPoint>=0?currentPoint:0); + } }else if(Constants.USER_TYPE.supplier.name().equals(user.getType())){ result.setSupplierDTO(supplierService.getCurrentSupplier()); }else if(Constants.USER_TYPE.partner.name().equals(user.getType())){ 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