提交代码

new-dev
胡锐 1 year ago
parent 2951172df3
commit 45f7566a07
  1. 1
      hai-cweb/src/main/java/com/cweb/config/AuthConfig.java
  2. 49
      hai-cweb/src/main/java/com/cweb/controller/HighUserCardController.java
  3. 15
      hai-service/src/main/java/com/hai/order/service/impl/OrderCreateHandleServiceImpl.java

@ -126,6 +126,7 @@ public class AuthConfig implements WebMvcConfigurer {
.excludePathPatterns("/wechat/*") .excludePathPatterns("/wechat/*")
.excludePathPatterns("/tuanyou/*") .excludePathPatterns("/tuanyou/*")
.excludePathPatterns("/notify/*") .excludePathPatterns("/notify/*")
.excludePathPatterns("/highUserCard/calculateRecharge")
.excludePathPatterns("/highOrder/getOrderByOrderNo") .excludePathPatterns("/highOrder/getOrderByOrderNo")
.excludePathPatterns("/coupon/getUserCouponByOrderNo") .excludePathPatterns("/coupon/getUserCouponByOrderNo")
.excludePathPatterns("/activity/getActivityByCoupon") .excludePathPatterns("/activity/getActivityByCoupon")

@ -10,10 +10,7 @@ import com.hai.common.security.UserCenter;
import com.hai.common.utils.RedisUtil; import com.hai.common.utils.RedisUtil;
import com.hai.common.utils.ResponseMsgUtil; import com.hai.common.utils.ResponseMsgUtil;
import com.hai.config.HuiLianTongUnionCardConfig; import com.hai.config.HuiLianTongUnionCardConfig;
import com.hai.entity.HighFleetOilCard; import com.hai.entity.*;
import com.hai.entity.HighOilCard;
import com.hai.entity.HighUser;
import com.hai.entity.HighUserCard;
import com.hai.enum_type.UserCardType; import com.hai.enum_type.UserCardType;
import com.hai.model.HighUserModel; import com.hai.model.HighUserModel;
import com.hai.model.ResponseData; import com.hai.model.ResponseData;
@ -30,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*; import java.util.*;
@Controller @Controller
@ -60,6 +58,49 @@ public class HighUserCardController {
@Resource @Resource
private HighOilCardService oilCardService; private HighOilCardService oilCardService;
@Resource
private SecConfigService secConfigService;
@RequestMapping(value = "/calculateRecharge", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "计算充值金额")
public ResponseData calculateRecharge(@RequestBody JSONObject body, HttpServletRequest request) {
try {
if (body == null || body.getBigDecimal("rechargeAmount") == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
// 充值赠送比例
SecConfig rechargeRatio = secConfigService.findByCodeType("OIL_CARD_RECHARGE_RATIO");
// 充值金额
BigDecimal rechargeAmount = body.getBigDecimal("rechargeAmount");
// 赠送比例
BigDecimal ratio = new BigDecimal("0");
// 赠送金额
BigDecimal givePrice = new BigDecimal("0");
if (rechargeRatio != null) {
ratio = new BigDecimal(rechargeRatio.getCodeValue()).divide(new BigDecimal("100"));
givePrice = body.getBigDecimal("rechargeAmount").multiply(ratio).setScale(2, RoundingMode.DOWN);
}
Map<String,Object> param = new HashMap<>();
param.put("rechargeAmount", rechargeAmount);
param.put("rechargeRatio", ratio.multiply(new BigDecimal("100")));
param.put("givePrice", givePrice);
param.put("rechargeAmountTotal", rechargeAmount.add(givePrice));
return ResponseMsgUtil.success(param);
} catch (Exception e) {
log.error("HighUserCardController --> calculateRecharge() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/bindCard", method = RequestMethod.POST) @RequestMapping(value = "/bindCard", method = RequestMethod.POST)
@ResponseBody @ResponseBody
@ApiOperation(value = "绑卡") @ApiOperation(value = "绑卡")

@ -1214,6 +1214,17 @@ public class OrderCreateHandleServiceImpl implements OrderCreateHandleService {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的油卡"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的油卡");
} }
// 充值金额
BigDecimal rechargeAmount = createOrderChildModel.getGoodsPrice();
// 赠送金额
BigDecimal givePrice = new BigDecimal("0");
SecConfig rechargeRatio = secConfigService.findByCodeType("OIL_CARD_RECHARGE_RATIO");
if (rechargeRatio != null && StringUtils.isNotBlank(rechargeRatio.getCodeValue())) {
BigDecimal ratio = new BigDecimal(rechargeRatio.getCodeValue()).divide(new BigDecimal("100"));
givePrice = rechargeAmount.multiply(ratio).setScale(2, RoundingMode.DOWN);
}
HighChildOrder childOrder = new HighChildOrder(); HighChildOrder childOrder = new HighChildOrder();
childOrder.setOrderNo(order.getOrderNo()); childOrder.setOrderNo(order.getOrderNo());
childOrder.setMemId(order.getMemId()); childOrder.setMemId(order.getMemId());
@ -1224,7 +1235,7 @@ public class OrderCreateHandleServiceImpl implements OrderCreateHandleService {
childOrder.setGoodsId(card.getId()); childOrder.setGoodsId(card.getId());
childOrder.setGoodsName("油卡充值"); childOrder.setGoodsName("油卡充值");
childOrder.setGoodsSpecName(card.getCardNo()); childOrder.setGoodsSpecName(card.getCardNo());
childOrder.setGoodsPrice(createOrderChildModel.getGoodsPrice()); childOrder.setGoodsPrice(rechargeAmount.add(givePrice));
childOrder.setGoodsActualPrice(childOrder.getGoodsPrice()); childOrder.setGoodsActualPrice(childOrder.getGoodsPrice());
childOrder.setSaleCount(createOrderChildModel.getSaleCount()); childOrder.setSaleCount(createOrderChildModel.getSaleCount());
childOrder.setGiveawayType(false); childOrder.setGiveawayType(false);
@ -1234,7 +1245,7 @@ public class OrderCreateHandleServiceImpl implements OrderCreateHandleService {
childOrder.setTotalDeductionPrice(childOrder.getTotalPrice().subtract(childOrder.getTotalActualPrice())); childOrder.setTotalDeductionPrice(childOrder.getTotalPrice().subtract(childOrder.getTotalActualPrice()));
childOrder.setPraiseStatus(0); childOrder.setPraiseStatus(0);
childOrder.setCreateTime(new Date()); childOrder.setCreateTime(new Date());
childOrder.setExt1(givePrice.toString());
return childOrder; return childOrder;
} }
} }

Loading…
Cancel
Save