diff --git a/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklLedgerMerReceiverBind.java b/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklLedgerMerReceiverBind.java index 5b714f5e..2495d37a 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklLedgerMerReceiverBind.java +++ b/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklLedgerMerReceiverBind.java @@ -40,6 +40,7 @@ public class LklLedgerMerReceiverBind implements Serializable { private String entrust_file_path; private String ret_url; private String apply_id; + private Long platform_id; private String audit_status; private String audit_status_text; private String remark; diff --git a/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderSeparate.java b/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderSeparate.java index d0562013..bd3ef01c 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderSeparate.java +++ b/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderSeparate.java @@ -46,6 +46,9 @@ public class LklOrderSeparate { @ApiModelProperty(value = "分账指令流水号,分账系统生成唯一流水") private String separate_no; + @ApiModelProperty(value = "平台订单Id") + private String order_id; + @ApiModelProperty(value = "分账总金额,单位:分") private String total_amt; diff --git a/mall-common/src/main/java/com/suisung/mall/common/modules/order/ShopOrderLkl.java b/mall-common/src/main/java/com/suisung/mall/common/modules/order/ShopOrderLkl.java new file mode 100644 index 00000000..b147537a --- /dev/null +++ b/mall-common/src/main/java/com/suisung/mall/common/modules/order/ShopOrderLkl.java @@ -0,0 +1,70 @@ +package com.suisung.mall.common.modules.order; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + *

+ * 关联拉卡拉的店铺订单信息 + *

+ * + * @author Xinze + * @since 2021-04-30 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("shop_order_lkl") +@ApiModel(value = "ShopOrderLkl对象", description = "关联拉卡拉的店铺订单信息") +public class ShopOrderLkl implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "自增Id") + @TableId(value = "id", type = IdType.INPUT) + private Long id; + + private String store_id; + + private String order_id; + + private String log_no; + + private String log_date; + + private String merchant_no; + + private Integer total_amt; + + private Integer shopping_fee; + + private BigDecimal split_ratio; + + private String payment_time; + + private String account_type; + + private String trans_type; + + private String lkl_trade_no; + + private String lkl_term_no; + + private String lkl_resp; + + private Integer status; + + private Date created_at; + + private Date updated_at; +} diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LakalaApiService.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LakalaApiService.java index ee485fc4..3b015460 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LakalaApiService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LakalaApiService.java @@ -9,7 +9,6 @@ package com.suisung.mall.shop.lakala.service; import cn.hutool.json.JSONObject; -import com.lkl.laop.sdk.request.V3SacsSeparateRequest; import com.suisung.mall.common.api.CommonResult; import org.springframework.data.util.Pair; @@ -190,7 +189,8 @@ public interface LakalaApiService { * @param merchantNo 拉卡拉外部商户号 * @param logNo 拉卡拉对账单流水号 * @param logDate 拉卡拉对账单交易日期 yyyyMMdd - * @return 响应结果 { + * @return 响应结果 分账总金额,可分账金额 键值对 + * { * "merchant_no": "82229005943096D", * "total_separate_amt": "9900", * "can_separate_amt": "0", @@ -198,15 +198,15 @@ public interface LakalaApiService { * "log_no": "66210306990190" * } */ - JSONObject queryMchCanSplitAmt(String merchantNo, String logNo, String logDate); + Pair queryMchCanSplitAmt(String merchantNo, String logNo, String logDate); /** * 拉卡拉订单分账,用户下单成功之后,进行分账 * 说明:分账指令是异步处理模式,响应报文成功时,指令状态是”status”: “PROCESSING”,需要等待分账结果通知,或者主动发起查询,建议主动发起查询与分账指令动作之间间隔15秒以上。 * 参考:https://o.lakala.com/#/home/document/detail?id=389 * - * @param v3SacsSeparateRequest + * @param orderId 平台订单号 * @return */ - Pair innerDoOrderSeparate(V3SacsSeparateRequest v3SacsSeparateRequest); + Pair innerDoOrderSeparate(String orderId); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerEcService.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerEcService.java index 63afe7aa..343e8bd3 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerEcService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerEcService.java @@ -19,7 +19,7 @@ public interface LklLedgerEcService extends IBaseService { * @param record * @return */ - Boolean saveOrUpdateByMchId(LklLedgerEc record); + Boolean addOrUpdateByMchId(LklLedgerEc record); /** * 根据applyId更新记录 diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerMemberService.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerMemberService.java index 29bfbda5..d0a6aa46 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerMemberService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerMemberService.java @@ -36,7 +36,7 @@ public interface LklLedgerMemberService extends IBaseService { * @param record * @return */ - Boolean saveOrUpdateByMerCupNo(LklLedgerMember record); + Boolean addOrUpdateByMerCupNo(LklLedgerMember record); /** diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerMerReceiverBindService.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerMerReceiverBindService.java index 238f54f1..59f54b1e 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerMerReceiverBindService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerMerReceiverBindService.java @@ -11,6 +11,8 @@ package com.suisung.mall.shop.lakala.service; import com.suisung.mall.common.modules.lakala.LklLedgerMerReceiverBind; import com.suisung.mall.core.web.service.IBaseService; +import java.util.List; + public interface LklLedgerMerReceiverBindService extends IBaseService { /** @@ -19,10 +21,10 @@ public interface LklLedgerMerReceiverBindService extends IBaseService selectByMerCupNo(String merCupNo, Boolean isPlatform); + /** * 更新审核结果 * diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerReceiverService.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerReceiverService.java index 149eab1b..6efa80e8 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerReceiverService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerReceiverService.java @@ -22,7 +22,7 @@ public interface LklLedgerReceiverService extends IBaseService queryMchCanSplitAmt(String merchantNo, String logNo, String logDate) { if (StringUtils.isAnyBlank(merchantNo, logNo, logDate)) { return null; } @@ -1926,7 +1935,14 @@ public class LakalaApiServiceImpl implements LakalaApiService { return null; } - return (JSONObject) lklRespJSON.get("resp_data"); + JSONObject respData = (JSONObject) lklRespJSON.get("resp_data"); + if (respData == null + || StringUtils.isAnyBlank(respData.getStr("total_separate_amt"), respData.getStr("can_separate_amt"))) { + log.error(I18nUtil._("返回值有误!")); + return null; + } + + return Pair.of(respData.getStr("total_separate_amt"), respData.getStr("can_separate_amt")); } catch (SDKException e) { log.error("账户余额查询失败:", e); return null; @@ -1938,38 +1954,123 @@ public class LakalaApiServiceImpl implements LakalaApiService { * 说明:分账指令是异步处理模式,响应报文成功时,指令状态是”status”: “PROCESSING”,需要等待分账结果通知,或者主动发起查询,建议主动发起查询与分账指令动作之间间隔15秒以上。 * 参考:https://o.lakala.com/#/home/document/detail?id=389 * - * @param v3SacsSeparateRequest + * @param orderId 平台订单Id * @return */ @Override - public Pair innerDoOrderSeparate(V3SacsSeparateRequest v3SacsSeparateRequest) { - if (v3SacsSeparateRequest == null) { - return Pair.of(false, "分账参数不能为空"); + public Pair innerDoOrderSeparate(String orderId) { + if (StrUtil.isBlank(orderId)) { + return Pair.of(false, "订单号不能为空"); } - // 1. 配置初始化 - initLKLSDK(); - try { - log.debug("分账执行请求参数:{}", JSONUtil.toJsonStr(v3SacsSeparateRequest)); - //3. 发送请求 - String responseStr = LKLSDK.httpPost(v3SacsSeparateRequest); - if (StrUtil.isBlank(responseStr)) { - return Pair.of(false, "服务器无返回值!"); + // 1. 配置初始化 + initLKLSDK(); + + // 获取订单信息、店铺信息,商户信息、分账信息 + List orderList = shopOrderLklService.selectByOrderId(orderId, ""); + if (CollectionUtil.isEmpty(orderList)) { + return Pair.of(false, "订单不存在"); } - JSONObject lklRespJSON = JSONUtil.parseObj(responseStr); - if (lklRespJSON == null || !lklSacsSuccessCode.equals(lklRespJSON.getStr("code")) || lklRespJSON.get("resp_data") == null) { - log.error("返回值有误!"); - return Pair.of(false, "返回值有误!"); - } - return Pair.of(true, "分账成功执行,处理中"); + for (ShopOrderLkl order : orderList) { + String merchantNo = order.getMerchant_no(); + + // 分账总金额 + Integer paymentAmount = order.getTotal_amt(); + Integer shoppingFee = order.getShopping_fee(); + BigDecimal splitRatio = order.getSplit_ratio(); + if (paymentAmount <= 0 || (shoppingFee != null && paymentAmount - shoppingFee <= 0)) { + return Pair.of(false, "订单金额有误"); + } + + V3SacsSeparateRequest req = new V3SacsSeparateRequest(); + req.setMerchantNo(merchantNo); + req.setLogNo(orderId); + req.setLogDate(order.getLog_date()); + req.setOutSeparateNo(StringUtils.genLklOrderNo(18)); // 14+18=32位商户分账指令流水号,每个商户号下唯一,否则会校验失败 + req.setTotalAmt(order.getTotal_amt().toString()); + req.setLklOrgNo(orgCode); + req.setCalType("0"); // 0- 按照指定金额,1- 按照指定比例。默认 0 + req.setNotifyUrl(projectDomain + "/api/v1/lkl/order/separate/notify"); + + + List platformList = lklLedgerMerReceiverBindService.selectByMerCupNo(merchantNo, true); + List distributorList = lklLedgerMerReceiverBindService.selectByMerCupNo(merchantNo, false); + if (CollectionUtil.isEmpty(platformList)) { + return Pair.of(false, "商户未绑定分账平台方"); + } + + + List recvDatas = new ArrayList<>(); + + + // 是否有运费 + if (shoppingFee != null && shoppingFee > 0) { + V3SacsSeparateRecvDatas recvData = new V3SacsSeparateRecvDatas(); + recvData.setRecvNo(platformList.get(0).getReceiver_no()); + recvData.setSeparateValue(shoppingFee.toString()); // 分账金额,单位分,分账金额不能大于订单金额,分账金额不能小于0 + recvDatas.add(recvData); + } + + Integer splitAmount = paymentAmount - shoppingFee; + if (!CollectionUtils.isEmpty(distributorList) + && (splitRatio != null && splitRatio.compareTo(BigDecimal.ONE) > 0)) { + // 平台方分账 + BigDecimal separateValue = new BigDecimal(splitAmount).multiply(new BigDecimal("0.01")); // 平台收取1%手续费 + if (separateValue.compareTo(BigDecimal.ZERO) > 0) { + V3SacsSeparateRecvDatas recvData = new V3SacsSeparateRecvDatas(); + recvData.setRecvNo(platformList.get(0).getReceiver_no()); + recvData.setSeparateValue(separateValue.toString()); // 分账金额,单位分,分账金额不能大于订单金额,分账金额不能小于0 + recvDatas.add(recvData); + } + + // 代理方分账, 100-1-splitRatio 1%是平台方的,其余都是代理商的 + BigDecimal separateValue2 = new BigDecimal(splitAmount).multiply(new BigDecimal(99).subtract(splitRatio).divide(new BigDecimal(100))); + if (separateValue.compareTo(BigDecimal.ZERO) > 0) { + V3SacsSeparateRecvDatas recvData2 = new V3SacsSeparateRecvDatas(); + recvData2.setRecvNo(distributorList.get(0).getReceiver_no()); + recvData2.setSeparateValue(separateValue2.toString()); // 分账金额,单位分,分账金额不能大于订单金额,分账金额不能小于0 + recvDatas.add(recvData2); + } + } else { + // 仅平台方一方分账 + BigDecimal separateValue = new BigDecimal(splitAmount).multiply(new BigDecimal(100).subtract(splitRatio).divide(new BigDecimal(100))); + if (separateValue.compareTo(BigDecimal.ZERO) > 0) { + V3SacsSeparateRecvDatas recvData = new V3SacsSeparateRecvDatas(); + recvData.setRecvNo(platformList.get(0).getReceiver_no()); + recvData.setSeparateValue(separateValue.toString()); // 分账金额,单位分,分账金额不能大于订单金额,分账金额不能小于0 + recvDatas.add(recvData); + } + } + + req.setRecvDatas(recvDatas); + + + log.debug("分账执行请求参数:{}", JSONUtil.toJsonStr(req)); + + //3. 发送请求 + String responseStr = LKLSDK.httpPost(req); + if (StrUtil.isBlank(responseStr)) { + return Pair.of(false, "服务器无返回值!"); + } + + JSONObject lklRespJSON = JSONUtil.parseObj(responseStr); + if (lklRespJSON == null || !lklSacsSuccessCode.equals(lklRespJSON.getStr("code")) || lklRespJSON.get("resp_data") == null) { + log.error("分账返回值有误!"); + return Pair.of(false, "返回值有误!"); + } + + return Pair.of(true, "分账成功执行,处理中"); + } } catch (SDKException e) { log.error("分账发生错误:", e); return Pair.of(false, "分账发生错误"); } + + return null; } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java index 2cf0f6ca..eeb2003d 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java @@ -47,7 +47,7 @@ public class LklLedgerEcServiceImpl extends BaseServiceImpl selectByMerCupNo(String merCupNo, Boolean isPlatform) { + if (StrUtil.isBlank(merCupNo)) { + return null; + } + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("mer_cup_no", merCupNo) + .eq("audit_status", CommonConstant.Enable); + if (isPlatform != null && isPlatform) { + queryWrapper.eq("platform_id", 0); + } else if (isPlatform != null && !isPlatform) { + queryWrapper.gt("platform_id", 0); + } + + queryWrapper.orderByAsc("id"); + + return list(queryWrapper); + } + /** * 更新审核结果 * @@ -111,7 +145,7 @@ public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl retPair = shopStoreBaseService.merchEntryInfo2StoreInfo(mchMobile); - - if (retPair.getFirst() > 0) { - // 2025-05-17暂停e签宝电子合同生成流程 - // 更改合同记录表的店铺id - // esignContractService.updateContractStoreId(mchMobile, retPair.getFirst()); - // 填充合同模版表的店铺Id - // esignContractFillingFileService.updateContractFillingStoreId(mchMobile, retPair.getFirst()); - // 店铺创建状态已完成 - shopMchEntryService.updateMerchEntryStoreStatus(mchMobile, CommonConstant.Enable); - logger.info("商家进件:初始化店铺成功!"); - } else { - logger.error("商家进件:初始化店铺失败!"); - // throw new ApiException("商家进件:初始化店铺失败!"); - } - } +// if (shopEntry != null && !CommonConstant.Enable.equals(shopEntry.getStore_status())) { +// String mchMobile = shopEntry.getLogin_mobile(); +// // 禁止往外抛异常,如果失败使用补偿机制,创建新店 +// Pair retPair = shopStoreBaseService.merchEntryInfo2StoreInfo(mchMobile, false); +// +// if (retPair.getFirst() > 0) { +// // 2025-05-17暂停e签宝电子合同生成流程 +// // 更改合同记录表的店铺id +// // esignContractService.updateContractStoreId(mchMobile, retPair.getFirst()); +// // 填充合同模版表的店铺Id +// // esignContractFillingFileService.updateContractFillingStoreId(mchMobile, retPair.getFirst()); +// // 店铺创建状态已完成 +// shopMchEntryService.updateMerchEntryStoreStatus(mchMobile, CommonConstant.Enable); +// logger.info("商家进件:初始化店铺成功!"); +// } else { +// logger.error("商家进件:初始化店铺失败!"); +// // throw new ApiException("商家进件:初始化店铺失败!"); +// } +// } // 1、(电子合同)给商家申请分账功能使用;务必检查是否申请过?申请过忽略 // 下一步等待拉卡拉审核通过,再绑定接收方和商家的关系 diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/mapper/ShopOrderLklMapper.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/mapper/ShopOrderLklMapper.java new file mode 100644 index 00000000..6d954634 --- /dev/null +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/mapper/ShopOrderLklMapper.java @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2025. Lorem ipsum dolor sit amet, consectetur adipiscing elit. + * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. + * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. + * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. + * Vestibulum commodo. Ut rhoncus gravida arcu. + */ + +package com.suisung.mall.shop.order.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.suisung.mall.common.modules.order.ShopOrderLkl; + +public interface ShopOrderLklMapper extends BaseMapper { +} diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/ShopOrderLklService.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/ShopOrderLklService.java new file mode 100644 index 00000000..1e4c12ef --- /dev/null +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/ShopOrderLklService.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2025. Lorem ipsum dolor sit amet, consectetur adipiscing elit. + * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. + * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. + * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. + * Vestibulum commodo. Ut rhoncus gravida arcu. + */ + +package com.suisung.mall.shop.order.service; + +import com.suisung.mall.common.modules.order.ShopOrderLkl; +import com.suisung.mall.core.web.service.IBaseService; + +import java.util.List; + +public interface ShopOrderLklService extends IBaseService { + + /** + * 添加或更新记录 + * + * @param record + * @return + */ + Boolean addOrUpdateByStoreOrder(ShopOrderLkl record); + + /** + * 根据订单编号查询多条记录(因为一个订单里可能有多个店铺的商品) + * + * @param orderId + * @param storeId + * @return + */ + List selectByOrderId(String orderId, String storeId); +} diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderLklServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderLklServiceImpl.java new file mode 100644 index 00000000..18a2eb37 --- /dev/null +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderLklServiceImpl.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2025. Lorem ipsum dolor sit amet, consectetur adipiscing elit. + * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. + * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. + * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. + * Vestibulum commodo. Ut rhoncus gravida arcu. + */ + +package com.suisung.mall.shop.order.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.suisung.mall.common.modules.order.ShopOrderLkl; +import com.suisung.mall.core.web.service.impl.BaseServiceImpl; +import com.suisung.mall.shop.order.mapper.ShopOrderLklMapper; +import com.suisung.mall.shop.order.service.ShopOrderLklService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Slf4j +@Service +public class ShopOrderLklServiceImpl extends BaseServiceImpl implements ShopOrderLklService { + + @Override + public Boolean addOrUpdateByStoreOrder(ShopOrderLkl record) { + if (record == null + || StringUtils.isAnyBlank(record.getOrder_id(), record.getStore_id(), record.getLog_no())) { + return false; + } + + List existsRecordList = selectByOrderId(record.getOrder_id(), record.getStore_id()); + if (CollectionUtil.isNotEmpty(existsRecordList) + && existsRecordList.get(0) != null + && existsRecordList.get(0).getId() > 0) { + // 更新记录 + record.setId(existsRecordList.get(0).getId()); + return updateById(record); + } + + return add(record); + } + + /** + * 根据订单编号查询多条记录(因为一个订单里可能有多个店铺的商品) + * + * @param orderId + * @return + */ + @Override + public List selectByOrderId(String orderId, String storeId) { + if (StringUtils.isBlank(orderId)) { + return null; + } + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + if (StrUtil.isNotBlank(storeId)) { + queryWrapper.eq("store_id", storeId); + } + + return list(queryWrapper); + } +} diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStoreBaseController.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStoreBaseController.java index 44393d0d..7119d95a 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStoreBaseController.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStoreBaseController.java @@ -254,7 +254,7 @@ public class ShopStoreBaseController extends BaseControllerImpl { @ApiOperation(value = "商家入驻资料转成店铺", notes = "商家入驻资料转成店铺") @RequestMapping(value = "/mchinfo/to/storeinfo", method = RequestMethod.POST) public CommonResult merchEntryInfo2StoreInfo(@RequestBody JSONObject jsonParam) { - Pair result = shopStoreBaseService.merchEntryInfo2StoreInfo(jsonParam.getStr("mchMobile")); + Pair result = shopStoreBaseService.merchEntryInfo2StoreInfo(jsonParam.getStr("mchMobile"), true); if (result.getFirst().equals(0)) { return CommonResult.failed(result.getSecond()); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreBaseService.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreBaseService.java index 47ac019b..a62579ff 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreBaseService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreBaseService.java @@ -141,9 +141,10 @@ public interface ShopStoreBaseService extends IBaseService { * (重要)入驻审批通过并且合同盖章完结之后,把商家入驻信息转换成店铺信息,正式生成店铺所需的数据 * * @param mchMobile + * @param allowThrown 是否允许抛出异常 * @return 店铺Id */ - Pair merchEntryInfo2StoreInfo(String mchMobile); + Pair merchEntryInfo2StoreInfo(String mchMobile, Boolean allowThrown); /** * 根据店铺名称判断店铺是否存在 diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreBaseServiceImpl.java index a49ec76a..7767ed28 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreBaseServiceImpl.java @@ -2991,11 +2991,12 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl merchEntryInfo2StoreInfo(String mchMobile) { + public Pair merchEntryInfo2StoreInfo(String mchMobile, Boolean allowThrown) { if (StrUtil.isBlank(mchMobile)) { logger.error("生成店铺:商家手机号不能为空"); return Pair.of(0, "商家手机不能为空"); @@ -3071,7 +3072,10 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl + + + + + * + +