|
@@ -76,6 +76,7 @@ import com.kmall.common.utils.wechat.WechatReverseApiResult;
|
|
|
import com.kmall.manager.manager.alipay.AliPayMicropayApiResult;
|
|
|
import com.kmall.manager.manager.alipay.AliPayRequestParams;
|
|
|
import com.kmall.manager.manager.alipay.AliPayUtil;
|
|
|
+import com.kmall.manager.manager.dto.PayOriginInfoDTO;
|
|
|
import com.kmall.manager.manager.express.kdn.KdniaoUtil;
|
|
|
import com.kmall.manager.manager.express.sf.ServiceException;
|
|
|
import com.kmall.manager.manager.express.sf.entity.RouteEntity;
|
|
@@ -252,10 +253,10 @@ public class OrderServiceImpl implements OrderService {
|
|
|
@Autowired
|
|
|
private MkActivitiesPromotionService mkActivitiesPromotionService;
|
|
|
/**
|
|
|
- * 免税mall日志记录
|
|
|
+ * 日志记录
|
|
|
*/
|
|
|
@Autowired
|
|
|
- private MallVmcSendLogDao mallVmcSendLogDao;
|
|
|
+ private InterfaceSendLogDao interfaceSendLogDao;
|
|
|
|
|
|
/**
|
|
|
* 同步订单消费信息,重发业务
|
|
@@ -585,7 +586,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
String orderSn = orderEntity.getOrderSn();
|
|
|
PickUpCodeEntity pickUpCodeEntity = pickUpCodeService.queryObject(orderSn);
|
|
|
if (pickUpCodeEntity != null) {
|
|
|
- pickUpCodeEntity.setPickUpCodeStatus("1");
|
|
|
+ pickUpCodeEntity.setPickUpCodeStatus(Dict.PickUpCodeStatusEnum.item_1.getStatus());
|
|
|
pickUpCodeService.update(pickUpCodeEntity);
|
|
|
}
|
|
|
TicketMailInfo mailInfo = new TicketMailInfo();
|
|
@@ -601,11 +602,12 @@ public class OrderServiceImpl implements OrderService {
|
|
|
mailInfo.setExprNoBase64Img(exprNoBase64Img);
|
|
|
|
|
|
mailInfo.setExprNo(exprNo);
|
|
|
- String logoUrl = "/statics/img/yto_logo.jpg";
|
|
|
+ String logoUrl = "/statics/img/sf_img.jpg";
|
|
|
|
|
|
Map<String, String> logoMap = new HashMap<>();
|
|
|
logoMap.put("yto", "/statics/img/yto_logo.jpg");
|
|
|
logoMap.put("best", "/statics/img/bestex_logo3.png");
|
|
|
+ logoMap.put("sf", "/statics/img/sf_img.jpg");
|
|
|
if (StringUtils.isNotEmpty(orderEntity.getShippingCode()) && logoMap.containsKey(orderEntity.getShippingCode())) {
|
|
|
logoUrl = logoMap.get(orderEntity.getShippingCode());
|
|
|
}
|
|
@@ -615,7 +617,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
AddressEntity addressEntity = addressDao.queryStoreAddress(storeEntity.getId(),Dict.addressStatus.item_1.getItem());
|
|
|
// 发货人
|
|
|
mailInfo.setSenderTel(addressEntity.getTelNumber());
|
|
|
- mailInfo.setSenderName("CW澳洲大药房1");
|
|
|
+ mailInfo.setSenderName(addressEntity.getSenderName());
|
|
|
mailInfo.setSenderProvince(addressEntity.getProvinceName());
|
|
|
mailInfo.setSenderCity(addressEntity.getCityName());
|
|
|
mailInfo.setSenderDistrict(addressEntity.getCountyName());
|
|
@@ -2087,297 +2089,6 @@ public class OrderServiceImpl implements OrderService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 海控,提交订单并付款
|
|
|
- * @param param 收银端提交的参数
|
|
|
- * @param user 当前收银端用户
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Override
|
|
|
- @Transactional
|
|
|
- @Deprecated
|
|
|
- public synchronized Map offlineRetailSubmitHaiKong(Map param, SysUserEntity user) {
|
|
|
- /*// 解析订单数据 List
|
|
|
- List<LinkedHashMap> goodsList = (List<LinkedHashMap>) param.get("goodsList");
|
|
|
- // 解析用户信息 LinkedHashMap
|
|
|
- Map userInfo = (Map) param.get("userInfo");
|
|
|
- // 解析支付码 String
|
|
|
- String parCode = (String) param.get("payCode");
|
|
|
- // 解析sessionId(WebSocket) String
|
|
|
- String sessionId = (String) param.get("sessionId");
|
|
|
- // machineCode
|
|
|
- String machineCode = (String) param.get("machineCode");
|
|
|
- //选择的方式 1柜取 0邮寄
|
|
|
- int status = Integer.parseInt(param.get("status").toString());
|
|
|
- // 会员码
|
|
|
- String couponBarCode = param.get("couponBarCode").toString();
|
|
|
-
|
|
|
- Map<String, String> mapAddr = new HashMap<>();
|
|
|
- if (status == 0) {
|
|
|
- //省
|
|
|
- String cmbProvince = (String) param.get("cmbProvince");
|
|
|
- //市
|
|
|
- String cmbCity = (String) param.get("cmbCity");
|
|
|
- //区
|
|
|
- String cmbArea = (String) param.get("cmbArea");
|
|
|
- //详细地址
|
|
|
- String addrUser = (String) param.get("addrUser");
|
|
|
-
|
|
|
- mapAddr.put("cmbProvince", cmbProvince);
|
|
|
- mapAddr.put("cmbCity", cmbCity);
|
|
|
- mapAddr.put("cmbArea", cmbArea);
|
|
|
- mapAddr.put("addrUser", addrUser);
|
|
|
- }
|
|
|
-
|
|
|
- try {
|
|
|
- machineCode = URLDecoder.decode(machineCode, "UTF-8");
|
|
|
- } catch (Exception e) {
|
|
|
- LOGGER.error("机器码:", e);
|
|
|
- }
|
|
|
- Map resultObj = Maps.newHashMap();
|
|
|
- if (user == null) {
|
|
|
- resultObj.put("errno", 400);
|
|
|
- resultObj.put("errmsg", "用户登录超时,请重新登录");
|
|
|
- return resultObj;
|
|
|
- }
|
|
|
- if (!user.getRoleType().equalsIgnoreCase("2")) {
|
|
|
- resultObj.put("errno", 400);
|
|
|
- resultObj.put("errmsg", "该操作只允许店员账户操作");
|
|
|
- return resultObj;
|
|
|
- }
|
|
|
- if (org.apache.commons.lang3.StringUtils.isEmpty(user.getMerchSn())) {
|
|
|
- resultObj.put("errno", 400);
|
|
|
- resultObj.put("errmsg", "操作用户的商户编号为空,请先维护用户商户编号信息再来操作");
|
|
|
- return resultObj;
|
|
|
- }
|
|
|
- Long userId = user.getUserId();
|
|
|
- Integer storeId = user.getStoreId();
|
|
|
-
|
|
|
- // TODO 海控需求,下单流程修改,收银端接收会员码,付款码,用户信息,订单数据
|
|
|
- // 1. 校验库存:保税仓库存 + 展销店库存 - 出区数 >= 购买数
|
|
|
- // 获取保税仓库存
|
|
|
- String queryWarehouseStockResponse = haiKongWarehouseTemplate.queryWarehouseStock(null);
|
|
|
- if (org.springframework.util.StringUtils.isEmpty(queryWarehouseStockResponse)) {
|
|
|
- LOGGER.error("调用库存系统接口出现错误!返回结果为空!");
|
|
|
- throw new ServiceException("调用库存系统接口出现错误!");
|
|
|
- }
|
|
|
- WareQueryStockResponseDTO wareQueryStockResponseDTO = JacksonUtil.fromStringJson(queryWarehouseStockResponse, WareQueryStockResponseDTO.class);
|
|
|
- if (Objects.isNull(wareQueryStockResponseDTO)) {
|
|
|
- throw new ServiceException("解析一步达库存系统响应数据出现错误!");
|
|
|
- }
|
|
|
- List<WareQueryStockResponseDTO.WareQueryStockResponseItemDTO> items = wareQueryStockResponseDTO.getItems();
|
|
|
- // 解析xml,组装成map key=>sku value=>库存
|
|
|
- Map<String, Integer> stockMap = new HashMap<>(16);
|
|
|
- items.forEach(item -> {
|
|
|
- String itemCode = item.getItemCode();
|
|
|
- Integer quantity = item.getQuantity();
|
|
|
- if (stockMap.containsKey(itemCode)) {
|
|
|
- // 避免出现sku相同情况
|
|
|
- stockMap.put(itemCode, stockMap.get(itemCode) + quantity);
|
|
|
- } else {
|
|
|
- stockMap.put(itemCode, quantity);
|
|
|
- }
|
|
|
- });
|
|
|
- // 订单总价格(含税价)
|
|
|
- BigDecimal orderPrice = BigDecimal.ZERO;
|
|
|
- // 商品总价格(不含税)
|
|
|
- BigDecimal goodsPrice = BigDecimal.ZERO;
|
|
|
- // 订单所占用的税
|
|
|
- BigDecimal totalTax = BigDecimal.ZERO;
|
|
|
-
|
|
|
- List<OrderGoodsEntity> orderGoodsEntities = new ArrayList<>();
|
|
|
- List<GoodsEntity> goodsEntities = new ArrayList<>();
|
|
|
-
|
|
|
- // TODO 根据商品条码、sku、门店id查询相对应的商品信息,并组装成对象
|
|
|
- List<QueryGoodsVO> queryGoodsVOList = new ArrayList<>();
|
|
|
- goodsList.forEach(map -> {
|
|
|
- QueryGoodsVO queryGoodsVo = new QueryGoodsVO();
|
|
|
- queryGoodsVo.setProdBarcode((String) map.get("prodBarcode"));
|
|
|
- queryGoodsVo.setSku((String) map.get("goodsSn"));
|
|
|
- queryGoodsVo.setStoreId(storeId);
|
|
|
- queryGoodsVo.setSellVolume((Integer) map.get("sellVolume"));
|
|
|
- queryGoodsVo.setRetailPrice(new BigDecimal(String.valueOf(map.get("retailPrice"))));
|
|
|
- queryGoodsVo.setGoodsTaxes(new BigDecimal(String.valueOf(map.get("goodstaxes"))));
|
|
|
- queryGoodsVo.setDisCountedPrice(new BigDecimal(String.valueOf(map.get("disCountedPrice"))));
|
|
|
- queryGoodsVOList.add(queryGoodsVo);
|
|
|
- });
|
|
|
- // 将在循环中查询数据库改为一次性查询
|
|
|
- List<GoodsEntity> goodsEntityList = goodsService.queryGoodsStockByQueryGoodsVoList(queryGoodsVOList);
|
|
|
- // 复制集合数据
|
|
|
- ListUtils listUtils = BeanUtils.instantiate(ListUtils.class);
|
|
|
- listUtils.copyList(goodsEntityList, queryGoodsVOList);
|
|
|
- // 用来存储是否达到满赠条件的map
|
|
|
- Map<String, BigDecimal> categoryConditionMap = new HashMap<>();
|
|
|
- Map<String, BigDecimal> brandConditionMap = new HashMap<>();
|
|
|
-
|
|
|
- for (QueryGoodsVO goodsEntity : queryGoodsVOList) {
|
|
|
- OrderGoodsEntity orderGoodsEntity = new OrderGoodsEntity();
|
|
|
- // 要购买的数量
|
|
|
- Integer sellVolume = goodsEntity.getSellVolume();
|
|
|
- // 条码
|
|
|
- String prodBarcode = goodsEntity.getProdBarcode();
|
|
|
- // 当前sku
|
|
|
- String sku = goodsEntity.getSku();
|
|
|
- // 订单金额(含税价),订单总金额,用户支付的金额
|
|
|
- BigDecimal retailPrice = goodsEntity.getRetailPrice();
|
|
|
- // 商品预估税率
|
|
|
- BigDecimal goodsTaxes = goodsEntity.getGoodsTaxes();
|
|
|
- // 商品优惠金额
|
|
|
- BigDecimal disCountedPrice = goodsEntity.getDisCountedPrice();
|
|
|
- // 商品金额(不包含税的价格),推送海关电子订单需要
|
|
|
- goodsPrice = goodsPrice.add(retailPrice.subtract(goodsTaxes));
|
|
|
- // 累加订单价格(含税价)
|
|
|
- orderPrice = orderPrice.add(retailPrice);
|
|
|
- // 总税款
|
|
|
- totalTax = totalTax.add(goodsTaxes);
|
|
|
- // 当前sku
|
|
|
- String currentSku = goodsEntity.getSku();
|
|
|
- // 仓库库存
|
|
|
- Integer warehouseStock = stockMap.get(currentSku);
|
|
|
- // 门店库存
|
|
|
- Integer stockNum = goodsEntity.getStockNum();
|
|
|
- // 判断库存。。
|
|
|
- if (!stockMap.containsKey(currentSku)) {
|
|
|
- LOGGER.error("库存系统中不包含此sku:【{}】,校验库存出错!下单失败!", currentSku);
|
|
|
- throw new ServiceException(String.format("不包含此sku:【%s】", currentSku));
|
|
|
- } else {
|
|
|
- // 保税仓库存 + 展销店库存 - 出区数 >= 购买数
|
|
|
- // 当前出区数
|
|
|
- Integer exitRegionNumber = goodsEntity.getExitRegionNumber();
|
|
|
- // 保税仓库存 + 门店库存 - 出区数 >= 购买数
|
|
|
- if (!((warehouseStock + stockNum) - exitRegionNumber >= sellVolume)) {
|
|
|
- // 库存不足
|
|
|
- LOGGER.error("sku【{}】库存不足!商品条码:【{}】,门店库存:【{}】,保税仓库存:【{}】,当前出区数:【{}】", currentSku, prodBarcode, stockNum, warehouseStock, exitRegionNumber);
|
|
|
- throw new ServiceException(String.format("sku【%s】库存不足!商品条码:【%s】,门店库存:【%s】,保税仓库存:【%s】,当前出区数:【%s】", currentSku, prodBarcode, stockNum, warehouseStock, exitRegionNumber));
|
|
|
- }
|
|
|
- }
|
|
|
- // 设置订单详情信息
|
|
|
- GoodsEntity entity = new GoodsEntity(goodsEntity);
|
|
|
- wrapOrderGoods(orderGoodsEntity, entity);
|
|
|
- orderGoodsEntities.add(orderGoodsEntity);
|
|
|
-
|
|
|
- // 设置条件信息,暂不支持门店满赠活动
|
|
|
- String categoryId = String.valueOf(entity.getCategoryId());
|
|
|
- String brandId = String.valueOf(entity.getBrandId());
|
|
|
- if (!categoryConditionMap.containsKey(categoryId)) {
|
|
|
- categoryConditionMap.put(categoryId, retailPrice);
|
|
|
- } else {
|
|
|
- categoryConditionMap.put(categoryId, categoryConditionMap.get(categoryId).add(retailPrice));
|
|
|
- }
|
|
|
-// if (!brandConditionMap.containsKey(brandId)) {
|
|
|
-// brandConditionMap.put(brandId, retailPrice);
|
|
|
-// } else {
|
|
|
-// brandConditionMap.put(brandId, brandConditionMap.get(brandId).add(retailPrice));
|
|
|
-// }
|
|
|
- }
|
|
|
- // 2. 判断购买的商品是否能参与满减活动
|
|
|
- // 2.1 查询当前门店是否有满赠的活动
|
|
|
- List<MkActivitiesEntity> activitiesEntities = mkActivitiesService.queryByNowByMz(String.valueOf(storeId), DateUtils.format(new Date(), "yyyy-MM-dd"));
|
|
|
- if (CollectionUtils.isEmpty(activitiesEntities)) {
|
|
|
- LOGGER.error("----- 该门店【{}】暂无满赠活动! -----", storeId);
|
|
|
- } else {
|
|
|
- // 当前门店的活动编号
|
|
|
- List<Long> activitiesSnList = activitiesEntities.stream().map(MkActivitiesEntity::getMkaId).collect(Collectors.toList());
|
|
|
- // 活动
|
|
|
- List<MkActivitiesFullGiftEntity> mkActivitiesFullGiftEntities = mkActivitiesFullGiftService.queryByMkaIdList(activitiesSnList);
|
|
|
- if (CollectionUtils.isEmpty(mkActivitiesFullGiftEntities)) {
|
|
|
- LOGGER.error("----- 该门店【{}】暂无满赠活动! -----", storeId);
|
|
|
- } else {
|
|
|
- mkActivitiesFullGiftEntities.forEach(mkActivitiesFullGiftEntity -> {
|
|
|
- // 存在品牌满赠活动,暂不支持品牌满赠活动
|
|
|
-// String brandId = String.valueOf(mkActivitiesFullGiftEntity.getBrandId());
|
|
|
-// if (brandConditionMap.containsKey(brandId)) {
|
|
|
-// if (brandConditionMap.get(brandId).compareTo(mkActivitiesFullGiftEntity.getQualifiedAmount()) > 0) {
|
|
|
-// // 该品牌满足满赠条件
|
|
|
-//
|
|
|
-// }
|
|
|
-// }
|
|
|
- // 存在分类满赠活动
|
|
|
- String categoryId = String.valueOf(mkActivitiesFullGiftEntity.getCategoryId());
|
|
|
- if (!CollectionUtils.isEmpty(categoryConditionMap) && categoryConditionMap.containsKey(categoryId)) {
|
|
|
- if (categoryConditionMap.get(categoryId).compareTo(mkActivitiesFullGiftEntity.getQualifiedAmount()) > 0) {
|
|
|
- // 该分类满足满赠条件
|
|
|
- String giftBarcode = mkActivitiesFullGiftEntity.getGiftBarcode();
|
|
|
- String giftGoodsSn = mkActivitiesFullGiftEntity.getGiftGoodsSn();
|
|
|
- String shopSn = mkActivitiesFullGiftEntity.getShopSn();
|
|
|
- GoodsEntity goodsEntity = goodsService.queryGoodsStockByBarcodeAndStoreIdAndSku(giftBarcode, Integer.parseInt(shopSn), giftGoodsSn);
|
|
|
- // 存储赠送数
|
|
|
- goodsEntity.setGoodsNumber(mkActivitiesFullGiftEntity.getGiftNumber());
|
|
|
- OrderGoodsEntity orderGoodsEntity = new OrderGoodsEntity();
|
|
|
- wrapOrderGoods(orderGoodsEntity, goodsEntity);
|
|
|
- orderGoodsEntity.setRetailPrice(BigDecimal.ZERO);
|
|
|
- orderGoodsEntity.setDiscountedPrice(BigDecimal.ZERO);
|
|
|
- orderGoodsEntity.setActualPaymentAmount(BigDecimal.ZERO);
|
|
|
- orderGoodsEntities.add(orderGoodsEntity);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- // 3. 校验是否是会员,调用会员系统查询会员信息,查询接口:
|
|
|
- // 优惠后价格
|
|
|
- BigDecimal afterDiscountPrice;
|
|
|
- if (org.springframework.util.StringUtils.isEmpty(couponBarCode)) {
|
|
|
- // 不是会员,不享受积分抵扣,只能使用门店的优惠券
|
|
|
- afterDiscountPrice = calculatePreferentialPrice(orderPrice, 0, goodsList, storeId, userInfo);
|
|
|
- } else {
|
|
|
- // 会员,计算优惠价
|
|
|
- String queryMemberInfoResponse;
|
|
|
- try {
|
|
|
- // 查询会员信息
|
|
|
- queryMemberInfoResponse = haiKongMemberTemplate.getMemberInfoByCode("{\"code\":\"" + couponBarCode + "\"}");
|
|
|
- Response<MemberInfoDTO> response = JacksonUtil.fromListJson(queryMemberInfoResponse, new TypeReference<Response<MemberInfoDTO>>() {
|
|
|
- });
|
|
|
- if (Objects.nonNull(response) && response.getSuccess()) {
|
|
|
- MemberInfoDTO memberInfoDTO = response.getData();
|
|
|
- Integer score = memberInfoDTO.getScore();
|
|
|
- if (Objects.nonNull(score) && score > 0) {
|
|
|
- // 有积分
|
|
|
- afterDiscountPrice = calculatePreferentialPrice(orderPrice, score, goodsList, storeId, userInfo);
|
|
|
- } else {
|
|
|
- // 无积分
|
|
|
- afterDiscountPrice = calculatePreferentialPrice(orderPrice, 0, goodsList, storeId, userInfo);
|
|
|
- }
|
|
|
- } else {
|
|
|
- LOGGER.error("查询会员信息失败!响应结果:{}", queryMemberInfoResponse);
|
|
|
- throw new ServiceException("查询会员信息失败!请重新下单!");
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- LOGGER.error("查询会员信息失败!请重新下单!");
|
|
|
- throw new ServiceException("查询会员信息失败!请重新下单!");
|
|
|
- }
|
|
|
- }
|
|
|
- // 4. 调用付款接口
|
|
|
- // 判断是微信的支付码还是支付宝的支付码
|
|
|
- if (parCode.startsWith("28")) {
|
|
|
- // 支付宝支付
|
|
|
- try {
|
|
|
-// AliPay(user, parCode, order, processRecordEntity, orderWXPayRecordCurrent, store);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- throw e;
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 微信支付
|
|
|
- try {
|
|
|
-// wxPay(user, parCode, resultObj, order, processRecordEntity, orderWXPayRecordCurrent, store);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- throw e;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 5. 扣减库存
|
|
|
-
|
|
|
- // 6. 订单入库
|
|
|
-
|
|
|
-
|
|
|
- return resultObj;*/
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
* 提交订单并付款
|
|
|
*
|
|
|
* @param param 提交的订单数据、包括用户信息、支付码、会话id、机器码(收银台)、取货方式、收货地址信息、会员码
|
|
@@ -2546,8 +2257,8 @@ public class OrderServiceImpl implements OrderService {
|
|
|
storeMngChangeDao.save(storeMngChangeEntity);
|
|
|
|
|
|
int validNum = stockNum - sellVolume;
|
|
|
- // 园区库存变化记录
|
|
|
- MngChangeEntity mngChangeEntity = new MngChangeEntity();
|
|
|
+ // 园区库存变化记录,不计销售扣减
|
|
|
+ /*MngChangeEntity mngChangeEntity = new MngChangeEntity();
|
|
|
mngChangeEntity.setThirdPartyMerchCode(goodsDto.getThirdPartyMerchCode());
|
|
|
mngChangeEntity.setChangeReason("商品销售扣减");
|
|
|
mngChangeEntity.setCreateTime(new Date());
|
|
@@ -2562,7 +2273,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
mngChangeEntity.setChangeType(Dict.changeType.item_1.getItem());
|
|
|
mngChangeEntity.setGoodsId(goodsDto.getId().intValue());
|
|
|
|
|
|
- mngChangeDao.save(mngChangeEntity);
|
|
|
+ mngChangeDao.save(mngChangeEntity);*/
|
|
|
|
|
|
// 如果园区库存数量小于等于0, 则不更新园区库存, 园区库存只做参考
|
|
|
int diff = Math.max(goodsNumber - sellVolume, 0);
|
|
@@ -2576,7 +2287,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
BeanUtils.copyProperties(goodsDto, productStoreRelaEntity);
|
|
|
productStoreRelaEntity.setStockNum(validNum);
|
|
|
productStoreRelaEntity.setStoreId(storeId.longValue());
|
|
|
- productStoreRelaEntity.setSellVolume(goodsDto.getSellVolume() + sellVolume);
|
|
|
+ productStoreRelaEntity.setSellVolume(sellVolume);
|
|
|
productStoreRelaEntity.setLastSaleTime(new Date());
|
|
|
productStoreRelaService.updateStockNumByStoreIdAndSku(productStoreRelaEntity);//修改普通商品库存
|
|
|
|
|
@@ -2668,6 +2379,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
String couponSn = (String) userInfo.get("couponSn");
|
|
|
order.setMerchOrderSn(merchOrderSn);
|
|
|
order.setCoupon_name(couponSn); // 借用这个字段来记录是否使用优惠券
|
|
|
+ order.setIdCard(userEntity.getIdNo());
|
|
|
//插入订单信息和订单商品
|
|
|
orderDao.saveOrderVo(order);
|
|
|
|
|
@@ -2856,12 +2568,6 @@ public class OrderServiceImpl implements OrderService {
|
|
|
consumptionRecords.setOrderSn(order.getOrder_sn());
|
|
|
consumptionRecords.setConsumptionTime(new Date());
|
|
|
consumptionRecords.setShopSn(String.valueOf(storeId));
|
|
|
- // 判断是否有使用生日优惠
|
|
|
- /*if (isBirth) {
|
|
|
- consumptionRecords.setIsUseBirthdayOffer("0"); // 使用生日优惠
|
|
|
- } else {
|
|
|
- consumptionRecords.setIsUseBirthdayOffer("1"); // 没使用生日优惠
|
|
|
- }*/
|
|
|
// 积分消费记录
|
|
|
String deductionScoreStr = (String) param.get("deductionScore");
|
|
|
String scoreDeductionPriceStr = (String) param.get("scoreDeductionPrice");
|
|
@@ -2911,6 +2617,15 @@ public class OrderServiceImpl implements OrderService {
|
|
|
WebSocketServer.sendMessage(sessionId, order.getOrder_sn(), order.getStore_id()
|
|
|
+ "");
|
|
|
|
|
|
+ JedisUtil.del(Constants.WAREHOUSE_STOCK_MAP_KEY + "_" + storeId);
|
|
|
+
|
|
|
+ // TODO 推单测试用
|
|
|
+ order.setPayApp("wxpay");
|
|
|
+ order.setRequest("1111111111111111111");
|
|
|
+ order.setResponse("2222222222222222222");
|
|
|
+ // 推单
|
|
|
+ sendOrderInfoToVmcShop(order, orderGoodsVoList);
|
|
|
+
|
|
|
return resultObj;
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
@@ -2920,6 +2635,114 @@ public class OrderServiceImpl implements OrderService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 免税mall创建订单
|
|
|
+ * @param order 订单信息:包含订单信息,支付信息,跨境信息
|
|
|
+ * @param orderGoodsVoList 订单详情数据
|
|
|
+ */
|
|
|
+ private void sendOrderInfoToVmcShop(OrderVo order, List<OrderGoodsVo> orderGoodsVoList) {
|
|
|
+ SendOrderToVmcShopDTO sendOrderToVmcShopDTO = new SendOrderToVmcShopDTO();
|
|
|
+
|
|
|
+ OrderInfoDTO orderInfoDTO = wrapOrderInfo(order);
|
|
|
+ PayInfoDTO payInfoDTO = wrapPayInfo(order);
|
|
|
+ SeaportInfoDTO seaportInfoDTO = wrapSeaportInfo(order);
|
|
|
+ List<OrderProductInfoDTO> orderProductInfoDTOList = orderGoodsVoList.stream().map(this::wrapOrderProductInfo).collect(Collectors.toList());
|
|
|
+ seaportInfoDTO.setOrderProductInfoList(orderProductInfoDTOList);
|
|
|
+ List<OrderInfoItemDTO> orderInfoItemDTOList = orderGoodsVoList.stream().map(this::wrapOrderInfoItem).collect(Collectors.toList());
|
|
|
+
|
|
|
+ sendOrderToVmcShopDTO.setOrderInfo(orderInfoDTO);
|
|
|
+ sendOrderToVmcShopDTO.setOrderInfoItems(orderInfoItemDTOList);
|
|
|
+ sendOrderToVmcShopDTO.setSeaportInfo(seaportInfoDTO);
|
|
|
+ sendOrderToVmcShopDTO.setPayInfo(payInfoDTO);
|
|
|
+
|
|
|
+ String body = JacksonUtil.toJson(sendOrderToVmcShopDTO);
|
|
|
+
|
|
|
+ String orderSn = order.getOrder_sn();
|
|
|
+ try {
|
|
|
+
|
|
|
+ String response = vmcShopTemplate.sendOrder(body);
|
|
|
+
|
|
|
+ com.kmall.admin.haikong.utils.R<String> r = JacksonUtil.fromListJson(response, new TypeReference<com.kmall.admin.haikong.utils.R<String>>() {});
|
|
|
+
|
|
|
+ if (Objects.nonNull(r) && r.getCode() == 0) {
|
|
|
+ pickUpCodeService.updatePickUpCodeStatusByOrderSn(orderSn, Dict.PickUpCodeStatusEnum.item_0.getStatus());
|
|
|
+ LOGGER.info("推送订单到免税mall成功!响应结果:{}", response);
|
|
|
+ } else {
|
|
|
+ pickUpCodeService.updatePickUpCodeStatusByOrderSn(orderSn, Dict.PickUpCodeStatusEnum.item_6.getStatus());
|
|
|
+ LOGGER.error("推送订单到免税mall失败!响应结果:{}", response);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ pickUpCodeService.updatePickUpCodeStatusByOrderSn(orderSn, Dict.PickUpCodeStatusEnum.item_6.getStatus());
|
|
|
+ LOGGER.error("推送订单到免税mall失败!出现异常!", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private SeaportInfoDTO wrapSeaportInfo(OrderVo order) {
|
|
|
+ SeaportInfoDTO seaportInfoDTO = new SeaportInfoDTO();
|
|
|
+ seaportInfoDTO.setSeaportCode("4600");
|
|
|
+ seaportInfoDTO.setPlatform("1");
|
|
|
+ seaportInfoDTO.setIdentityCard(order.getIdCard());
|
|
|
+ seaportInfoDTO.setIdentityName(order.getPay_name());
|
|
|
+ seaportInfoDTO.setIdentityMobile(order.getMobile());
|
|
|
+ return seaportInfoDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ private PayInfoDTO wrapPayInfo(OrderVo order) {
|
|
|
+ PayInfoDTO payInfoDTO = new PayInfoDTO();
|
|
|
+ payInfoDTO.setMoney(order.getActual_price());
|
|
|
+ payInfoDTO.setPayMode("offline");
|
|
|
+ payInfoDTO.setRequest(order.getRequest());
|
|
|
+ payInfoDTO.setResponse(order.getResponse());
|
|
|
+ payInfoDTO.setOutTradeNo(order.getOrder_sn());
|
|
|
+ return payInfoDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ private OrderInfoItemDTO wrapOrderInfoItem(OrderGoodsVo orderGoodsVo) {
|
|
|
+ OrderInfoItemDTO orderInfoItemDTO = new OrderInfoItemDTO();
|
|
|
+ orderInfoItemDTO.setOrderId(orderGoodsVo.getOrderSn());
|
|
|
+ orderInfoItemDTO.setImageUrl(orderGoodsVo.getList_pic_url());
|
|
|
+ orderInfoItemDTO.setBn("11111111");
|
|
|
+ orderInfoItemDTO.setBarcode(orderGoodsVo.getBarcode());
|
|
|
+ orderInfoItemDTO.setName(orderGoodsVo.getGoods_name());
|
|
|
+ orderInfoItemDTO.setCost(orderGoodsVo.getMarket_price());
|
|
|
+ orderInfoItemDTO.setPrice(orderGoodsVo.getRetail_price());
|
|
|
+ orderInfoItemDTO.setItemcode(orderGoodsVo.getSku());
|
|
|
+ orderInfoItemDTO.setAmount(orderGoodsVo.getActualPaymentAmount());
|
|
|
+ orderInfoItemDTO.setNums(orderGoodsVo.getNumber());
|
|
|
+ orderInfoItemDTO.setTax(true);
|
|
|
+ orderInfoItemDTO.setTaxPrice(orderGoodsVo.getTaxPrice());
|
|
|
+ return orderInfoItemDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ private OrderInfoDTO wrapOrderInfo(OrderVo order) {
|
|
|
+ OrderInfoDTO orderInfoDTO = new OrderInfoDTO();
|
|
|
+ orderInfoDTO.setOuterOrderNo(order.getOrder_sn());
|
|
|
+ orderInfoDTO.setPayApp(order.getPayApp());
|
|
|
+ orderInfoDTO.setDlytypeCode("SF");
|
|
|
+ orderInfoDTO.setConsigneeName(order.getPay_name());
|
|
|
+ orderInfoDTO.setConsigneeAreaProvince(order.getProvince());
|
|
|
+ orderInfoDTO.setConsigneeAreaCity(order.getCity());
|
|
|
+ orderInfoDTO.setConsigneeAreaCounty(order.getDistrict());
|
|
|
+ orderInfoDTO.setConsigneeAddress(order.getAddress());
|
|
|
+ orderInfoDTO.setConsigneeZip("519000");
|
|
|
+ orderInfoDTO.setConsigneeTel("0756-8800000");
|
|
|
+ orderInfoDTO.setConsigneeEmail("hk@greedc.com");
|
|
|
+ orderInfoDTO.setConsigneeMobile(order.getMobile());
|
|
|
+ orderInfoDTO.setWeight("?");
|
|
|
+ orderInfoDTO.setQuantity(order.getNumber());
|
|
|
+ orderInfoDTO.setOrderTotal(order.getActual_price());
|
|
|
+ orderInfoDTO.setPlatform("store");
|
|
|
+
|
|
|
+ return orderInfoDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ private OrderProductInfoDTO wrapOrderProductInfo(OrderGoodsVo orderGoodsVo) {
|
|
|
+ OrderProductInfoDTO orderProductInfoDTO = new OrderProductInfoDTO();
|
|
|
+ orderProductInfoDTO.setProductId(orderGoodsVo.getBarcode());
|
|
|
+ orderProductInfoDTO.setGoodsId(orderGoodsVo.getGoods_sn());
|
|
|
+ return orderProductInfoDTO;
|
|
|
+ }
|
|
|
+
|
|
|
private void AliPay(SysUserEntity user, String parCode, OrderVo order, OrderProcessRecordEntity processRecordEntity, OrderWXPayRecordEntity orderWXPayRecordCurrent, StoreEntity store) throws Exception {
|
|
|
|
|
|
AliPayRequestParams params = new AliPayRequestParams();
|
|
@@ -2939,11 +2762,15 @@ public class OrderServiceImpl implements OrderService {
|
|
|
params.setSubject(store.getMerchName() + "-" + store.getStoreName() + "-" + orderBizTypeZn);
|
|
|
params.setStoreId(store.getId() + "");
|
|
|
params.setTotalAmount(order.getActual_price().setScale(2, BigDecimal.ROUND_HALF_UP) + "");
|
|
|
- LOGGER.info("调用阿里支付接口的请求参数:" + JacksonUtils.toJson(params));
|
|
|
+ String paramsJson = JacksonUtils.toJson(params);
|
|
|
+ order.setRequest(paramsJson);
|
|
|
+ LOGGER.info("调用阿里支付接口的请求参数:" + paramsJson);
|
|
|
AliPayMicropayApiResult aliPayMicropayApiResult = AliPayUtil.aliTradePay(params);
|
|
|
orderWXPayRecordService.updateRecordByAli(orderWXPayRecordCurrent.getId(), aliPayMicropayApiResult);
|
|
|
- LOGGER.info("调用阿里支付接口的同步返回结果:" + JacksonUtils.toJson(aliPayMicropayApiResult));
|
|
|
-
|
|
|
+ String responseJson = JacksonUtils.toJson(aliPayMicropayApiResult);
|
|
|
+ LOGGER.info("调用阿里支付接口的同步返回结果:" + responseJson);
|
|
|
+ order.setResponse(responseJson);
|
|
|
+ order.setPayApp("alipay");
|
|
|
|
|
|
// 修改订单状态
|
|
|
//当支付成功时,修改订单,并把其他支付记录撤销
|
|
@@ -3052,14 +2879,16 @@ public class OrderServiceImpl implements OrderService {
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
-
|
|
|
+ PayOriginInfoDTO payOriginInfoDTO = new PayOriginInfoDTO();
|
|
|
WechatMicropayApiResult wechatMicropayApiResult = WechatUtil
|
|
|
.wxMicropay(store.getMerchName() + "-" + store.getStoreName(), order.getOrderBizType(), null,
|
|
|
orderWXPayRecordCurrent.getOutTradeNoWX(), order.getActual_price().doubleValue(),
|
|
|
- ip, parCode);
|
|
|
+ ip, parCode, payOriginInfoDTO);
|
|
|
orderWXPayRecordService.updateRecord(orderWXPayRecordCurrent.getId(), wechatMicropayApiResult);
|
|
|
|
|
|
-
|
|
|
+ order.setRequest(payOriginInfoDTO.getRequest());
|
|
|
+ order.setResponse(payOriginInfoDTO.getResponse());
|
|
|
+ order.setPayApp("wxpay");
|
|
|
resultObj.put("shopName", store.getStoreName()); // 根据门店编号查询
|
|
|
resultObj.put("userName", user.getUsername());
|
|
|
// 修改订单状态
|
|
@@ -3371,7 +3200,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
orderDao.update(order);
|
|
|
// 修改小票码
|
|
|
PickUpCodeEntity pickUpCodeEntity = pickUpCodeService.queryObject(order.getOrderSn());
|
|
|
- pickUpCodeEntity.setPickUpCodeStatus("3");
|
|
|
+ pickUpCodeEntity.setPickUpCodeStatus(Dict.PickUpCodeStatusEnum.item_3.getStatus());
|
|
|
pickUpCodeService.update(pickUpCodeEntity);
|
|
|
//新增退款记录
|
|
|
OrderRefundEntity orderRefund = orderRefundLog("wx453456511","wx453456566","26999",order.getId(),user.getUserId(),order.getMerchOrderSn());
|
|
@@ -3401,7 +3230,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
orderDao.update(order);
|
|
|
// 修改小票码
|
|
|
PickUpCodeEntity pickUpCodeEntity = pickUpCodeService.queryObject(order.getOrderSn());
|
|
|
- pickUpCodeEntity.setPickUpCodeStatus("3");
|
|
|
+ pickUpCodeEntity.setPickUpCodeStatus(Dict.PickUpCodeStatusEnum.item_3.getStatus());
|
|
|
pickUpCodeService.update(pickUpCodeEntity);
|
|
|
//新增退款记录
|
|
|
OrderRefundEntity orderRefund = orderRefundLog(userRefund.getTradeNo(),userRefund.getOutTradeNo(),userRefund.getRefundFee(),order.getId(),user.getUserId(),order.getMerchOrderSn());
|
|
@@ -3492,14 +3321,18 @@ public class OrderServiceImpl implements OrderService {
|
|
|
private void vipIntegralGoBack(OrderEntity order) throws Exception{
|
|
|
List<IntegralGoBackEntity> changeRecordEntityList = haiKongMemberScoreChangeRecordService.queryIntegralGoBack(order.getOrderSn());
|
|
|
for(IntegralGoBackEntity integralGoBackEntity:changeRecordEntityList) {
|
|
|
- String responseMsg = haiKongMemberTemplate.rollbackMemberScore(JSON.toJSONString(integralGoBackEntity));
|
|
|
+ String integralGoBackEntityMsg = JSON.toJSONString(integralGoBackEntity);
|
|
|
+ Date dateResend = new Date();
|
|
|
+ String responseMsg = haiKongMemberTemplate.rollbackMemberScore(integralGoBackEntityMsg);
|
|
|
Map<String, Object> res = JSON.parseObject(responseMsg, Map.class);
|
|
|
+ LOGGER.info("=======> [vipIntegralGoBack-----调用会员系统积分全量回退接口数据]" + responseMsg);
|
|
|
+
|
|
|
+ //解析数据
|
|
|
if ("true".equals(res.get("success"))) {
|
|
|
LOGGER.info("=======> [vipIntegralGoBack-----调用会员系统积分全量回退接口数据]" + responseMsg);
|
|
|
} else {
|
|
|
LOGGER.error("=======> [vipIntegralGoBack-----调用会员系统积分全量回退接口异常数据]" + responseMsg);
|
|
|
HaiKongResendMsgEntity haiKongResendMsgEntity = new HaiKongResendMsgEntity();
|
|
|
- //haiKongResendMsgEntity.setOpenId(changeRecordEntity.getOpen_id());
|
|
|
haiKongResendMsgEntity.setOpenId(integralGoBackEntity.getOpen_id());
|
|
|
haiKongResendMsgEntity.setOrderSn(order.getOrderSn());
|
|
|
haiKongResendMsgEntity.setInterfaceType(HaiKongMemberSystemUrlEnum.ROLLBACK_MEMBER_SCORE.getUrl());
|
|
@@ -3508,6 +3341,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
haiKongResendMsgEntity.setIsValid(1);
|
|
|
haiKongResendMsgDao.saveResendMsg(haiKongResendMsgEntity);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -3518,12 +3352,16 @@ public class OrderServiceImpl implements OrderService {
|
|
|
private void vmcShopMall(OrderEntity order) {
|
|
|
LOGGER.info("=======> [vmcShopMall-----调用VMCShop接口开始发送退款订单数据]"+order.getOrderSn());
|
|
|
String body = JacksonUtil.toJson(order.getOrderSn());
|
|
|
+ InterfaceSendLogEntity interfaceSendLogEntity = new InterfaceSendLogEntity();
|
|
|
+ interfaceSendLogEntity.setRequestDate(new Date());
|
|
|
+ interfaceSendLogEntity.setSysType(Dict.sendLog.item_mall.getItemName());
|
|
|
String response = vmcShopTemplate.refundOrder(body);
|
|
|
+ Date dateResend = new Date();
|
|
|
//解析响应数据
|
|
|
LOGGER.info("=======> [vmcShopMall------发送退款订单数据成功,开始处理后续流程]"+response);
|
|
|
- //Map<String,String> res = JSON.parseObject(response,Map.class);
|
|
|
+ Map<String,String> res = JSON.parseObject(response,Map.class);
|
|
|
+ interfaceSendLogEntity.setMsgStatus(res.get("code"));
|
|
|
|
|
|
- saveVmcSend(order.getOrderSn(),VmcconnectUrlEnum.ORDERS_CANCEL_ORDER.getMethod(),body,response);
|
|
|
LOGGER.info(order.getOrderSn()+"[发送退款订单数据]"+JSON.toJSONString(order));
|
|
|
|
|
|
}
|
|
@@ -4056,11 +3894,12 @@ public class OrderServiceImpl implements OrderService {
|
|
|
//图片地址
|
|
|
mailInfo.setStoreImgUrl(storeEntity.getStoreImgUrl()==null?"/statics/img/cw_qrcode.png":storeEntity.getStoreImgUrl().trim());
|
|
|
mailInfo.setExprNo(exprNo);
|
|
|
- String logoUrl = "/statics/img/yto_logo.jpg";
|
|
|
+ String logoUrl = "/statics/img/sf_img.jpg";
|
|
|
|
|
|
Map<String, String> logoMap = new HashMap<>();
|
|
|
logoMap.put("yto", "/statics/img/yto_logo.jpg");
|
|
|
logoMap.put("best", "/statics/img/bestex_logo3.png");
|
|
|
+ logoMap.put("sf", "/statics/img/sf_img.jpg");
|
|
|
if (StringUtils.isNotEmpty(orderEntity.getShippingCode()) && logoMap.containsKey(orderEntity.getShippingCode())) {
|
|
|
logoUrl = logoMap.get(orderEntity.getShippingCode());
|
|
|
}
|
|
@@ -4624,10 +4463,9 @@ public class OrderServiceImpl implements OrderService {
|
|
|
String response = vmcShopTemplate.resendOrder(body);
|
|
|
//解析响应数据
|
|
|
LOGGER.info("=======> [resendOrderHkMall---重发订单数据成功,开始处理后续流程]"+response);
|
|
|
- //记录发送至免税Mall日志
|
|
|
- saveVmcSend(orderSn,VmcconnectUrlEnum.ORDERS_RETRY_ORDER.getMethod(),body,response);
|
|
|
Map<String,String> res = JSON.parseObject(response,Map.class);
|
|
|
if("0".equals(res.get("code"))){
|
|
|
+ pickUpCodeService.updatePickUpCodeStatusByOrderSn(orderSn, Dict.PickUpCodeStatusEnum.item_0.getStatus());
|
|
|
return R.ok();
|
|
|
}else{
|
|
|
return R.error(500,"重发订单失败");
|
|
@@ -4635,21 +4473,6 @@ public class OrderServiceImpl implements OrderService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 记录发送至免税Mall日志
|
|
|
- * @param orderSn
|
|
|
- * @param body
|
|
|
- * @param response
|
|
|
- */
|
|
|
- private void saveVmcSend(String orderSn,String urlType,String body,String response){
|
|
|
- MallVmcSendlogEntity mallVmcSendlogEntity = new MallVmcSendlogEntity();
|
|
|
- mallVmcSendlogEntity.setOrderSn(orderSn);
|
|
|
- mallVmcSendlogEntity.setVmcType(urlType);
|
|
|
- mallVmcSendlogEntity.setRequestMsg(body);
|
|
|
- mallVmcSendlogEntity.setResponseMsg(response);
|
|
|
- mallVmcSendLogDao.saveVmcSend(mallVmcSendlogEntity);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
* 设置订单数据
|
|
|
*
|
|
|
* @return
|
|
@@ -4754,6 +4577,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
BigDecimal couponPrice = BigDecimal.ZERO;
|
|
|
BigDecimal freightPrice = Constant.ZERO;
|
|
|
BigDecimal actualPrice = Constant.ZERO;
|
|
|
+ Integer number = 0;
|
|
|
//订单价格计算:订单的总价+运费
|
|
|
for (GoodsEntity goodsEntity : goodsList) {
|
|
|
goodsTotalPrice = goodsTotalPrice
|
|
@@ -4763,6 +4587,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
actualPrice = actualPrice
|
|
|
.add(goodsEntity.getActualPaymentAmount()).setScale(2, RoundingMode.HALF_UP);
|
|
|
couponPrice = couponPrice.add(goodsEntity.getDiscountedPrice()).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ number += goodsEntity.getSellVolume();
|
|
|
}
|
|
|
|
|
|
|
|
@@ -4778,10 +4603,11 @@ public class OrderServiceImpl implements OrderService {
|
|
|
orderInfo.setOrder_sn(orderSn);
|
|
|
orderInfo.setMerchSn(merchSn);
|
|
|
orderInfo.setUser_id(loginUser.getId().longValue());
|
|
|
+ orderInfo.setNumber(number);
|
|
|
actualPrice = actualPrice.subtract(couponPrice);
|
|
|
|
|
|
//StoreEntity storeEntity = storeDao.queryObject(storeId);
|
|
|
- //获取收货人地址
|
|
|
+ //随机获取收货人地址
|
|
|
AddressEntity addressEntity = addressDao.queryStoreAddress(storeId,Dict.addressStatus.item_2.getItem());
|
|
|
if(null==addressEntity){
|
|
|
LOGGER.error("setOrderVo---门店未配置收货人地址:"+storeId);
|
|
@@ -4883,6 +4709,8 @@ public class OrderServiceImpl implements OrderService {
|
|
|
orderGoodsVo.setList_pic_url(goodsDto.getListPicUrl());
|
|
|
orderGoodsVo.setMarket_price(goodsDto.getStoreRetailPrice());
|
|
|
orderGoodsVo.setRetail_price(goodsDto.getStoreRetailPrice());
|
|
|
+ orderGoodsVo.setOrderSn(orderInfo.getOrder_sn());
|
|
|
+ orderGoodsVo.setBarcode(goodsDto.getProdBarcode());
|
|
|
|
|
|
orderGoodsVo.setDiscountedPrice(goodsDto.getDiscountedPrice());
|
|
|
orderGoodsVo.setActualPaymentAmount(goodsDto.getActualPaymentAmount());
|