提交代码

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("/tuanyou/*")
.excludePathPatterns("/notify/*")
.excludePathPatterns("/highUserCard/calculateRecharge")
.excludePathPatterns("/highOrder/getOrderByOrderNo")
.excludePathPatterns("/coupon/getUserCouponByOrderNo")
.excludePathPatterns("/activity/getActivityByCoupon")

@ -10,10 +10,7 @@ import com.hai.common.security.UserCenter;
import com.hai.common.utils.RedisUtil;
import com.hai.common.utils.ResponseMsgUtil;
import com.hai.config.HuiLianTongUnionCardConfig;
import com.hai.entity.HighFleetOilCard;
import com.hai.entity.HighOilCard;
import com.hai.entity.HighUser;
import com.hai.entity.HighUserCard;
import com.hai.entity.*;
import com.hai.enum_type.UserCardType;
import com.hai.model.HighUserModel;
import com.hai.model.ResponseData;
@ -30,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
@Controller
@ -60,6 +58,49 @@ public class HighUserCardController {
@Resource
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)
@ResponseBody
@ApiOperation(value = "绑卡")

@ -1214,6 +1214,17 @@ public class OrderCreateHandleServiceImpl implements OrderCreateHandleService {
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();
childOrder.setOrderNo(order.getOrderNo());
childOrder.setMemId(order.getMemId());
@ -1224,7 +1235,7 @@ public class OrderCreateHandleServiceImpl implements OrderCreateHandleService {
childOrder.setGoodsId(card.getId());
childOrder.setGoodsName("油卡充值");
childOrder.setGoodsSpecName(card.getCardNo());
childOrder.setGoodsPrice(createOrderChildModel.getGoodsPrice());
childOrder.setGoodsPrice(rechargeAmount.add(givePrice));
childOrder.setGoodsActualPrice(childOrder.getGoodsPrice());
childOrder.setSaleCount(createOrderChildModel.getSaleCount());
childOrder.setGiveawayType(false);
@ -1234,7 +1245,7 @@ public class OrderCreateHandleServiceImpl implements OrderCreateHandleService {
childOrder.setTotalDeductionPrice(childOrder.getTotalPrice().subtract(childOrder.getTotalActualPrice()));
childOrder.setPraiseStatus(0);
childOrder.setCreateTime(new Date());
childOrder.setExt1(givePrice.toString());
return childOrder;
}
}

Loading…
Cancel
Save