You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
512 lines
24 KiB
512 lines
24 KiB
package com.cweb.controller;
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.cweb.config.SysConfig;
|
|
import com.cweb.config.SysConst;
|
|
import com.hai.common.exception.ErrorCode;
|
|
import com.hai.common.exception.ErrorHelp;
|
|
import com.hai.common.exception.SysCode;
|
|
import com.hai.common.security.SessionObject;
|
|
import com.hai.common.security.UserCenter;
|
|
import com.hai.common.utils.CoordCommonUtil;
|
|
import com.hai.common.utils.ResponseMsgUtil;
|
|
import com.hai.config.CommonSysConst;
|
|
import com.hai.config.QianZhuConfig;
|
|
import com.hai.config.ThirdProductConfig;
|
|
import com.hai.entity.*;
|
|
import com.hai.enum_type.ProductImgEnum;
|
|
import com.hai.model.*;
|
|
import com.hai.service.*;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import org.apache.commons.collections4.MapUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.logging.log4j.spi.CopyOnWrite;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.w3c.dom.ls.LSException;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import java.math.BigDecimal;
|
|
import java.math.RoundingMode;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Controller
|
|
@RequestMapping(value = "/highThirdParty")
|
|
@Api(value = "订单接口")
|
|
public class HighThirdPartyController {
|
|
|
|
private static Logger log = LoggerFactory.getLogger(HighThirdPartyController.class);
|
|
|
|
@Resource
|
|
private ApiProductService apiProductService;
|
|
|
|
@Resource
|
|
private ThirdProductConfig thirdProductConfig;
|
|
|
|
@Resource
|
|
private HighOrderService highOrderService;
|
|
|
|
@Resource
|
|
private BsCompanyService bsCompanyService;
|
|
|
|
@Resource
|
|
private CommonService commonService;
|
|
|
|
@Autowired
|
|
private UserCenter userCenter;
|
|
|
|
@Resource
|
|
private ApiMemberProductService apiMemberProductService;
|
|
|
|
|
|
@RequestMapping(value = "/getAllCity", method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询所有城市")
|
|
public ResponseData getAllCity(@RequestParam(name = "cityName", required = false) String cityName) {
|
|
try {
|
|
return ResponseMsgUtil.success(apiProductService.getAllCity(cityName));
|
|
|
|
} catch (Exception e) {
|
|
log.error("HighUserCardController --> oilCardRefund() error!", e);
|
|
return ResponseMsgUtil.exception(e);
|
|
}
|
|
}
|
|
|
|
@RequestMapping(value = "/getStarbucksProducts", method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询星巴克商品")
|
|
public ResponseData getStarbucksProducts(@RequestParam(name = "name", required = false) String name,
|
|
@RequestParam(value = "regionId", required = true) String regionId) {
|
|
try {
|
|
|
|
SecRegion region = commonService.getParentByRegion(Long.valueOf(regionId));
|
|
BigDecimal productDiscount = null;
|
|
if (region != null) {
|
|
BsCompany bsCompany = bsCompanyService.selectCompanyByRegion(region.getRegionId().toString());
|
|
productDiscount = thirdProductConfig.getProductConfigNum(1, bsCompany.getId());
|
|
}
|
|
|
|
if (productDiscount == null) {
|
|
log.error("getRechargeProduct error!", "查询失败!");
|
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "当前地区未配置产品");
|
|
}
|
|
|
|
List<String> CategoryNameList = apiProductService.getCategoryName();
|
|
|
|
List<ApiStarbucksProducts> starbucksProductsList = new ArrayList<>();
|
|
int i = 9999;
|
|
for (String s : CategoryNameList) {
|
|
i++;
|
|
ApiStarbucksProducts starbucksProducts = new ApiStarbucksProducts();
|
|
Map<String, Object> map = new HashMap<>();
|
|
map.put("name", name);
|
|
map.put("categoryName", s);
|
|
List<ApiStarbucksProducts> list = apiProductService.getStarbucksProducts(map);
|
|
for (ApiStarbucksProducts apiStarbucksProducts : list) {
|
|
apiStarbucksProducts.setExt1(String.valueOf(i));
|
|
|
|
BigDecimal salesVentiPrice = apiStarbucksProducts.getSalesVentiPrice().add(apiStarbucksProducts.getSalesVentiPrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP);
|
|
BigDecimal salesTallPrice = apiStarbucksProducts.getSalesTallPrice().add(apiStarbucksProducts.getSalesTallPrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP);
|
|
BigDecimal salesGrandePrice = apiStarbucksProducts.getSalesGrandePrice().add(apiStarbucksProducts.getSalesGrandePrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP);
|
|
|
|
if (salesVentiPrice.compareTo(apiStarbucksProducts.getMarketVentiPrice()) > 0) {
|
|
salesVentiPrice = apiStarbucksProducts.getMarketVentiPrice();
|
|
}
|
|
if (salesTallPrice.compareTo(apiStarbucksProducts.getMarketTallPrice()) > 0) {
|
|
salesTallPrice = apiStarbucksProducts.getMarketTallPrice();
|
|
}
|
|
if (salesGrandePrice.compareTo(apiStarbucksProducts.getMarketGrandePrice()) > 0) {
|
|
salesGrandePrice = apiStarbucksProducts.getMarketGrandePrice();
|
|
}
|
|
apiStarbucksProducts.setSalesVentiPrice(salesVentiPrice);
|
|
apiStarbucksProducts.setSalesTallPrice(salesTallPrice);
|
|
apiStarbucksProducts.setSalesGrandePrice(salesGrandePrice);
|
|
starbucksProductsList.add(apiStarbucksProducts);
|
|
}
|
|
starbucksProducts.setName(s);
|
|
starbucksProducts.setExt2(SysConst.getSysConfig().getImgUrl() + ProductImgEnum.getNameByImgUrl(s));
|
|
starbucksProducts.setId((long) i);
|
|
starbucksProductsList.add(starbucksProducts);
|
|
}
|
|
|
|
return ResponseMsgUtil.success(starbucksProductsList);
|
|
|
|
} catch (Exception e) {
|
|
log.error("HighUserCardController --> getStarbucksProducts() error!", e);
|
|
return ResponseMsgUtil.exception(e);
|
|
}
|
|
}
|
|
|
|
@RequestMapping(value = "/getStarbucksStore", method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询星巴克门店")
|
|
public ResponseData getStarbucksStore(@RequestParam(name = "lat", required = true) String lat,
|
|
@RequestParam(name = "lon", required = true) String lon) {
|
|
try {
|
|
JSONObject jsonObject = QianZhuConfig.getStarbucksStore(lat, lon);
|
|
if (jsonObject.getBoolean("success")) {
|
|
return ResponseMsgUtil.success(jsonObject.getJSONArray("data"));
|
|
} else {
|
|
log.error("getRechargeProduct error!", "查询失败!");
|
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, jsonObject.getString("message"));
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
log.error("HighUserCardController --> oilCardRefund() error!", e);
|
|
return ResponseMsgUtil.exception(e);
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/getKfcStoresList", method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询肯德基门店")
|
|
public ResponseData getKfcStoresList(@RequestParam(name = "storeName", required = false) String storeName,
|
|
@RequestParam(name = "cityCode", required = false) String cityCode,
|
|
@RequestParam(name = "cityName", required = false) String cityName,
|
|
@RequestParam(name = "lat", required = true) String lat,
|
|
@RequestParam(name = "lon", required = true) String lon) {
|
|
try {
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
map.put("storeName", storeName);
|
|
map.put("cityCode", cityCode);
|
|
map.put("cityName", cityName);
|
|
|
|
List<ApiKfcStores> list = apiProductService.getKfcStoresList(map);
|
|
|
|
if (StringUtils.isNotBlank(lat)) {
|
|
for (ApiKfcStores stores : list) {
|
|
double distance = CoordCommonUtil.getDistance(Double.valueOf(stores.getLat()), Double.valueOf(stores.getLon()), Double.valueOf(lat), Double.valueOf(lon));
|
|
stores.setDistance(String.valueOf(Math.round(distance / 100d) / 10d));
|
|
}
|
|
}
|
|
|
|
return ResponseMsgUtil.success(list.stream().sorted(Comparator.comparing(ApiKfcStores::getDistance)).collect(Collectors.toList()));
|
|
|
|
} catch (Exception e) {
|
|
log.error("HighUserCardController --> oilCardRefund() error!", e);
|
|
return ResponseMsgUtil.exception(e);
|
|
}
|
|
}
|
|
|
|
@RequestMapping(value = "/listByStoreCode", method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询肯德基门店菜单")
|
|
public ResponseData listByStoreCode(@RequestParam(name = "storeCode", required = false) String storeCode, @RequestParam(value = "regionId", required = true) String regionId) {
|
|
try {
|
|
|
|
JSONObject jsonObject = QianZhuConfig.listByStoreCode(storeCode);
|
|
|
|
JSONArray array = jsonObject.getJSONArray("data");
|
|
|
|
if (array == null) {
|
|
log.error("addOrder error!");
|
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未查询到任何门店");
|
|
}
|
|
|
|
BigDecimal productDiscount = null;
|
|
SecRegion region = commonService.getParentByRegion(Long.valueOf(regionId));
|
|
if (region != null) {
|
|
BsCompany bsCompany = bsCompanyService.selectCompanyByRegion(region.getRegionId().toString());
|
|
productDiscount = thirdProductConfig.getProductConfigNum(2, bsCompany.getId());
|
|
}
|
|
|
|
if (productDiscount == null) {
|
|
log.error("getRechargeProduct error!", "查询失败!");
|
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "当前地区未配置产品");
|
|
}
|
|
int i = 0;
|
|
|
|
for (Object data : array) {
|
|
JSONObject dataObject = (JSONObject) data;
|
|
i++;
|
|
dataObject.put("kfcId", i);
|
|
if (dataObject.getJSONArray("products") != null) {
|
|
for (Object products : dataObject.getJSONArray("products")) {
|
|
JSONObject productsObject = (JSONObject) products;
|
|
BigDecimal productsPrice = productsObject.getBigDecimal("price");
|
|
|
|
BigDecimal salePriceF = productsPrice.add(productsPrice.multiply(productDiscount).divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_UP);
|
|
if (salePriceF.compareTo(productsObject.getBigDecimal("originalPrice")) > 0) {
|
|
salePriceF = productsObject.getBigDecimal("originalPrice");
|
|
}
|
|
productsObject.put("salePrice", salePriceF);
|
|
|
|
if (productsObject.getJSONArray("specGroups") != null) {
|
|
for (Object specGroups : productsObject.getJSONArray("specGroups")) {
|
|
JSONObject specGroupsObject = (JSONObject) specGroups;
|
|
BigDecimal specGroupsPrice = specGroupsObject.getBigDecimal("price");
|
|
BigDecimal salePrice = specGroupsPrice.add(specGroupsPrice.multiply(productDiscount).divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_UP);
|
|
if (salePrice.compareTo(specGroupsObject.getBigDecimal("originalPrice")) > 0) {
|
|
salePrice = specGroupsObject.getBigDecimal("originalPrice");
|
|
}
|
|
specGroupsObject.put("salePrice", salePrice);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (jsonObject.getBoolean("success")) {
|
|
return ResponseMsgUtil.success(array);
|
|
} else {
|
|
log.error("getRechargeProduct error!", "查询失败!");
|
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, jsonObject.getString("message"));
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
log.error("HighUserCardController --> oilCardRefund() error!", e);
|
|
return ResponseMsgUtil.exception(e);
|
|
}
|
|
}
|
|
|
|
@RequestMapping(value = "/getThirdPartyByDetail", method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询第三方产品详情")
|
|
public ResponseData getThirdPartyByDetail(@RequestParam(name = "platformId", required = true) Integer platformId,
|
|
@RequestParam(name = "productType", required = true) Integer productType,
|
|
@RequestParam(name = "regionId", required = true) String regionId) {
|
|
try {
|
|
|
|
SecRegion region = commonService.getParentByRegion(Long.valueOf(regionId));
|
|
|
|
if (region == null) {
|
|
log.error("getRechargeProduct error!", "查询失败!");
|
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, regionId + "当前地区未配置产品");
|
|
}
|
|
|
|
BsCompany bsCompany = bsCompanyService.selectCompanyByRegion(region.getRegionId().toString());
|
|
|
|
return ResponseMsgUtil.success(thirdProductConfig.getThirdPartyByDetail(platformId , productType , bsCompany.getId()));
|
|
|
|
} catch (Exception e) {
|
|
log.error("HighUserCardController --> oilCardRefund() error!", e);
|
|
return ResponseMsgUtil.exception(e);
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/addOrder", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
@ApiOperation(value = "增加订单")
|
|
public ResponseData addOrder(@RequestBody JSONObject object, HttpServletRequest request) {
|
|
try {
|
|
|
|
// 用户
|
|
SessionObject sessionObject = userCenter.getSessionObject(request);
|
|
HighUserModel userInfoModel = (HighUserModel) sessionObject.getObject();
|
|
|
|
System.out.println("======================================================" + object);
|
|
|
|
if (StringUtils.isBlank(object.getString("customerMobile")) ||
|
|
StringUtils.isBlank(object.getString("regionId")) ||
|
|
object.getInteger("productType") == null ||
|
|
object.getInteger("platformId") == null
|
|
) {
|
|
log.error("addOrder error!");
|
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
|
|
}
|
|
|
|
SecRegion region = commonService.getParentByRegion(object.getLong("regionId"));
|
|
if (region != null) {
|
|
BsCompany bsCompany = bsCompanyService.selectCompanyByRegion(region.getRegionId().toString());
|
|
object.put("companyId", String.valueOf(bsCompany.getId()));
|
|
}
|
|
|
|
object.put("userId", userInfoModel.getHighUser().getId());
|
|
|
|
return ResponseMsgUtil.success(highOrderService.insertThirdProduct(object));
|
|
|
|
} catch (Exception e) {
|
|
log.error("HighOrderController -> addOrder() error!", e);
|
|
return ResponseMsgUtil.exception(e);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@RequestMapping(value = "/getThirdOrderByOrderId", method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询第三方订单详情")
|
|
public ResponseData getThirdOrderByOrderId(@RequestParam(name = "orderId", required = true) Long orderId) {
|
|
try {
|
|
|
|
|
|
HighOrder order = highOrderService.getOrderById(orderId);
|
|
|
|
JSONObject object;
|
|
ThirdPartyModel partyModel = new ThirdPartyModel();
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
// 实际支付金额
|
|
BigDecimal orderPayPrice = new BigDecimal(0);
|
|
|
|
|
|
if (order.getHighChildOrderList().get(0).getGoodsType() == 4) {
|
|
|
|
object = QianZhuConfig.getKfcOrderByOrderNo(order.getOrderNo());
|
|
if (object.getBoolean("success")) {
|
|
BeanUtils.copyProperties(order, partyModel);
|
|
partyModel.setCode(object.getJSONObject("data").getString("ticket"));
|
|
partyModel.setThirdOrderStatus(object.getJSONObject("data").getInteger("status"));
|
|
partyModel.setStatusDesc(object.getJSONObject("data").getString("statusDesc"));
|
|
if (object.getJSONObject("data").getString("ticket") != null) {
|
|
String[] s = object.getJSONObject("data").getString("ticket").split(",");
|
|
|
|
for (String s1 : s) {
|
|
Map<String , Object> map = new HashMap<>();
|
|
String[] childString = s1.split("\\|");
|
|
map.put("code" , childString[0]);
|
|
map.put("phone" , childString[1]);
|
|
list.add(map);
|
|
}
|
|
|
|
partyModel.setList(list);
|
|
}
|
|
partyModel.setEatType(object.getJSONObject("data").getJSONObject("kfcPlaceOrder").getInteger("eatType"));
|
|
partyModel.setKfcOrderMobileRemark(object.getJSONObject("data").getString("kfcOrderMobileRemark"));
|
|
|
|
} else {
|
|
log.error("getThirdOrderByOrderId error!", "查询失败!");
|
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, object.getString("message"));
|
|
}
|
|
} else if (order.getHighChildOrderList().get(0).getGoodsType() == 9) {
|
|
// 查询详单订单的实际
|
|
JSONObject productDetail = thirdProductConfig.getThirdPartyByDetail(1, 1, order.getCompanyId());
|
|
|
|
object = QianZhuConfig.starbucksOrderByOrderNo(order.getOrderNo());
|
|
if (object.getBoolean("success")) {
|
|
BeanUtils.copyProperties(order, partyModel);
|
|
partyModel.setCode(object.getJSONObject("data").getString("ticket"));
|
|
partyModel.setStatusDesc(object.getJSONObject("data").getString("statusDesc"));
|
|
partyModel.setObject(object.getJSONObject("data"));
|
|
|
|
|
|
// 获取星巴克订单内容
|
|
JSONArray starbucksOrder = object.getJSONObject("data").getJSONArray("orderItems");
|
|
|
|
for (Object starbucksObject : starbucksOrder) {
|
|
JSONObject childObject = (JSONObject) starbucksObject;
|
|
|
|
// 计算利润
|
|
BigDecimal profitPrice = childObject.getBigDecimal("unitPrice").multiply(productDetail.getBigDecimal("priceDiscount").divide(new BigDecimal(100)));
|
|
BigDecimal childPrice = childObject.getBigDecimal("unitPrice").add(profitPrice).setScale(2 , RoundingMode.HALF_UP);
|
|
// 计算实际支付金额
|
|
orderPayPrice = orderPayPrice.add(childPrice);
|
|
childObject.put("unitPrice" , childPrice);
|
|
childObject.put("totalPrice" , childPrice.multiply(childObject.getBigDecimal("quantity")));
|
|
|
|
}
|
|
object.getJSONObject("data").put("paymentAmount" , orderPayPrice);
|
|
|
|
partyModel.setObject(object.getJSONObject("data"));
|
|
|
|
if (object.getJSONObject("data").getString("code") != null) {
|
|
String[] s = object.getJSONObject("data").getString("code").split(",");
|
|
|
|
for (String s1 : s) {
|
|
Map<String , Object> map = new HashMap<>();
|
|
String[] childString = s1.split("\\|");
|
|
map.put("code" , childString[0]);
|
|
map.put("phone" , childString[1]);
|
|
list.add(map);
|
|
}
|
|
|
|
partyModel.setList(list);
|
|
}
|
|
|
|
}else {
|
|
log.error("getThirdOrderByOrderId error!", "查询失败!");
|
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, object.getString("message"));
|
|
}
|
|
} else if (order.getHighChildOrderList().get(0).getGoodsType() == 10) {
|
|
BeanUtils.copyProperties(order, partyModel);
|
|
}
|
|
|
|
return ResponseMsgUtil.success(partyModel);
|
|
} catch (Exception e) {
|
|
log.error("HighUserCardController --> oilCardRefund() error!", e);
|
|
return ResponseMsgUtil.exception(e);
|
|
}
|
|
}
|
|
|
|
@RequestMapping(value = "/thirdCancelOrder", method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ApiOperation(value = "取消订单")
|
|
public ResponseData thirdCancelOrder(@RequestParam(name = "orderId", required = true) Long orderId) {
|
|
try {
|
|
|
|
HighOrder order = highOrderService.getOrderById(orderId);
|
|
|
|
if (order.getOrderStatus() == 1) {
|
|
highOrderService.thirdCancelOrder(orderId);
|
|
} else {
|
|
log.error("orderToPay error!");
|
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.STATUS_ERROR, "");
|
|
}
|
|
|
|
return ResponseMsgUtil.success("操作成功");
|
|
|
|
} catch (Exception e) {
|
|
log.error("HighOrderController --> cancelOrder() error!", e);
|
|
return ResponseMsgUtil.exception(e);
|
|
}
|
|
}
|
|
|
|
@RequestMapping(value = "/getMemberProducts", method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询会员产品")
|
|
public ResponseData getMemberProducts(@RequestParam(name = "name", required = false) String name,
|
|
@RequestParam(value = "typeId", required = true) Integer typeId,
|
|
@RequestParam(value = "brandId", required = true) Integer brandId,
|
|
@RequestParam(value = "regionId", required = true) String regionId) {
|
|
try {
|
|
|
|
SecRegion region = commonService.getParentByRegion(Long.valueOf(regionId));
|
|
BigDecimal productDiscount = null;
|
|
if (region != null) {
|
|
BsCompany bsCompany = bsCompanyService.selectCompanyByRegion(region.getRegionId().toString());
|
|
productDiscount = thirdProductConfig.getProductConfigNum(3, bsCompany.getId());
|
|
}
|
|
|
|
if (productDiscount == null) {
|
|
log.error("getRechargeProduct error!", "查询失败!");
|
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "当前地区未配置产品");
|
|
}
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
map.put("name" , name);
|
|
map.put("typeId" , typeId);
|
|
map.put("brandId" , brandId);
|
|
|
|
List<ApiMemberProduct> list = apiMemberProductService.getListApiMemberProduct(map);
|
|
|
|
for (ApiMemberProduct memberProduct : list) {
|
|
|
|
BigDecimal costPrice = memberProduct.getCostPrice().add(memberProduct.getCostPrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP);
|
|
|
|
if (costPrice.compareTo(memberProduct.getPrice()) > 0) {
|
|
costPrice = memberProduct.getPrice();
|
|
}
|
|
|
|
memberProduct.setCostPrice(costPrice);
|
|
}
|
|
|
|
return ResponseMsgUtil.success(list);
|
|
|
|
} catch (Exception e) {
|
|
log.error("HighUserCardController --> oilCardRefund() error!", e);
|
|
return ResponseMsgUtil.exception(e);
|
|
}
|
|
}
|
|
|
|
}
|
|
|