商品模块代码提交

This commit is contained in:
Tankaikai
2025-03-04 09:33:02 +08:00
parent 6e2e73fdcd
commit 23f4e36bda
8 changed files with 190 additions and 10 deletions

View File

@@ -1,15 +1,18 @@
package com.czg.controller.admin;
import com.czg.account.dto.points.OrderDeductionPointsDTO;
import com.czg.account.entity.MemberPoints;
import com.czg.account.param.ConsumeAwardPointsParam;
import com.czg.account.param.MemberPointsParam;
import com.czg.account.param.PayedDeductPointsParam;
import com.czg.account.service.MemberPointsService;
import com.czg.log.annotation.OperationLog;
import com.czg.resp.CzgResult;
import com.mybatisflex.core.paginate.Page;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
/**
@@ -36,4 +39,65 @@ public class MemberPointsController {
return CzgResult.success(page);
}
/**
* 001-会员积分账户信息
*/
@GetMapping("user-points")
public CzgResult<MemberPoints> getMemberPoints(@RequestParam Long userId) {
MemberPoints data = memberPointsService.getMemberPoints(userId);
return CzgResult.success(data);
}
/**
* 002-获取订单可用积分及抵扣金额(支付页面使用)
*
* @param userId 用户id
* @param orderAmount 订单金额
*/
@GetMapping("calc-usable-points")
public CzgResult<OrderDeductionPointsDTO> getMemberUsablePoints(@RequestParam Long userId, @RequestParam BigDecimal orderAmount) {
OrderDeductionPointsDTO usablePoints = memberPointsService.getMemberUsablePoints(userId, orderAmount);
return CzgResult.success(usablePoints);
}
/**
* 004-根据抵扣金额计算所需积分
*
* @param userId 用户id
* @param orderAmount 订单金额
* @param deductionAmount 抵扣金额
*/
@GetMapping("calc-used-points")
public CzgResult<Integer> calcUsedPoints(@RequestParam Long userId, @RequestParam BigDecimal orderAmount, @RequestParam BigDecimal deductionAmount) {
int points = memberPointsService.calcUsedPoints(userId, orderAmount, deductionAmount);
return CzgResult.success(points);
}
/**
* 003-根据积分计算可抵扣金额
*/
@GetMapping("calc-deduction-amount")
public CzgResult<BigDecimal> calcDeductionAmount(@RequestParam Long userId, @RequestParam BigDecimal orderAmount, @RequestParam Integer points) {
BigDecimal deductionAmount = memberPointsService.calcDeductionAmount(userId, orderAmount, points);
return CzgResult.success(deductionAmount);
}
/**
* 005-支付完成扣减积分(支付成功回调中使用)
*/
@PostMapping("payed-deduct-points")
public CzgResult<Boolean> deductPoints(@RequestBody PayedDeductPointsParam param) {
boolean ret = memberPointsService.deductPoints(param.getUserId(), param.getPoints(), param.getContent(), param.getOrderId());
return CzgResult.success(ret);
}
/**
* 006-消费赠送积分(支付成功回调中使用)
*/
@PostMapping("consume-award-points")
public CzgResult<Void> consumeAwardPoints(@RequestBody ConsumeAwardPointsParam param) {
memberPointsService.consumeAwardPoints(param.getUserId(), param.getOrderId());
return CzgResult.success();
}
}

View File

@@ -62,10 +62,13 @@ public class UMemberPointsController {
/**
* 003-根据积分计算可抵扣金额
* @param userId 用户id
* @param orderAmount 订单金额
* @param points 使用积分
*/
@GetMapping("calc-deduction-amount")
public CzgResult<BigDecimal> calcDeductionAmount(@RequestParam Long memberId, @RequestParam BigDecimal orderAmount, @RequestParam Integer points) {
BigDecimal deductionAmount = memberPointsService.calcDeductionAmount(memberId, orderAmount, points);
public CzgResult<BigDecimal> calcDeductionAmount(@RequestParam Long userId, @RequestParam BigDecimal orderAmount, @RequestParam Integer points) {
BigDecimal deductionAmount = memberPointsService.calcDeductionAmount(userId, orderAmount, points);
return CzgResult.success(deductionAmount);
}