Merge remote-tracking branch 'origin/2.0-dev' into 2.0-dev

new-dev
袁野 1 year ago
commit 124f0380d5
  1. 49
      hai-cweb/src/main/java/com/cweb/controller/HighUserCardController.java
  2. 21
      hai-service/src/main/java/com/hai/order/service/impl/OrderCreateHandleServiceImpl.java

@ -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 = "绑卡")

@ -1224,6 +1224,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());
@ -1234,17 +1245,17 @@ 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(createOrderChildModel.getGoodsPrice());
childOrder.setSaleCount(createOrderChildModel.getSaleCount()); childOrder.setSaleCount(createOrderChildModel.getSaleCount());
childOrder.setGiveawayType(false); childOrder.setGiveawayType(false);
childOrder.setChildOrderStatus(OrderChildStatus.STATUS1.getNumber()); childOrder.setChildOrderStatus(OrderChildStatus.STATUS1.getNumber());
childOrder.setTotalPrice(childOrder.getGoodsPrice()); childOrder.setTotalPrice(childOrder.getGoodsPrice());
childOrder.setTotalActualPrice(childOrder.getGoodsPrice()); childOrder.setTotalActualPrice(createOrderChildModel.getGoodsPrice());
childOrder.setTotalDeductionPrice(childOrder.getTotalPrice().subtract(childOrder.getTotalActualPrice())); childOrder.setTotalDeductionPrice(createOrderChildModel.getGoodsPrice().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