diff --git a/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/event/handlers/MallExchangeSubEventHandler.java b/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/event/handlers/MallExchangeSubEventHandler.java index e381d1d7..8ad093f6 100644 --- a/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/event/handlers/MallExchangeSubEventHandler.java +++ b/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/event/handlers/MallExchangeSubEventHandler.java @@ -1,30 +1,124 @@ package com.budwk.app.zhgh.pointsmall.mallbridge.event.handlers; +import cn.hutool.core.bean.BeanUtil; +import com.budwk.app.sys.models.Sys_user; import com.budwk.app.zhgh.pointsmall.mallbridge.dto.MallOrderEventDTO; +import com.budwk.app.zhgh.pointsmall.mallbridge.dto.MallOrderQueryDTO; +import com.budwk.app.zhgh.pointsmall.mallbridge.dto.OrderInfoDTO; import com.budwk.app.zhgh.pointsmall.mallbridge.event.MallOrderEventHandler; +import com.budwk.app.zhgh.pointsmall.mallbridge.exception.MallBridgeError; import com.budwk.app.zhgh.pointsmall.mallbridge.model.MallInboundResult; -import com.budwk.app.zhgh.pointsmall.mallbridge.service.MallInboundEventService; +import com.budwk.app.zhgh.pointsmall.mallbridge.model.MallOutboundResult; +import com.budwk.app.zhgh.pointsmall.mallbridge.service.MallOrderQueryOutboundService; +import com.budwk.app.zhgh.pointsmall.mallbridge.service.support.AbstractMallBridgeSupport; import com.budwk.app.zhgh.pointsmall.order.enums.MallOrderStatusEnum; +import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderExchange; +import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderSub; +import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderSubHistory; +import com.budwk.app.zhgh.pointsmall.order.service.PointsMallOrderSubService; +import lombok.extern.slf4j.Slf4j; +import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.trans.Atom; +import org.nutz.trans.Trans; /** * MallExchangeSubEventHandler * orderType=5: 换货单事件处理器。 */ -@IocBean -public class MallExchangeSubEventHandler implements MallOrderEventHandler { +@Slf4j +@IocBean(args = {"refer:dao"}) +public class MallExchangeSubEventHandler extends AbstractMallBridgeSupport implements MallOrderEventHandler { @Inject - private MallInboundEventService inboundEventService; + private PointsMallOrderSubService pointsMallOrderSubService; + @Inject + private MallOrderQueryOutboundService mallOrderQueryOutboundService; + + public MallExchangeSubEventHandler(Dao dao) { + super(dao); + } @Override public int getType() { return 5; } + /** + * 9.2.1 生成订单信息推送 + * 订单类型为:5(换货单)时,mainOrderId 代表原子单ID,orderId 代表换货单ID。 + * 1. 重新调用9.2.2获取换货单详情。 + * 2. 记录换货单流水记录。 + * 3. 换货单状态只保存在退换货表中,不更新原子单退款积分。 + * + * @param dto 请求参数 + * @return 操作结果 + */ @Override public MallInboundResult handle(MallOrderEventDTO dto) { - return inboundEventService.updateSubOrderStatus(dto, MallOrderStatusEnum.EXCHANGE); + if (!hasRequiredOrderEventFields(dto)) { + return MallInboundResult.fail(MallBridgeError.PARAM_ERROR.code(), "参数缺少"); + } + Sys_user user = fetchUser(dto.getUserId()); + if (user == null) { + return MallInboundResult.fail(-1, "用户不存在"); + } + Integer orderStatus = MallOrderStatusEnum.EXCHANGE.getCode(); + log.info("9.2.1生成订单信息推送开始:{},{}", orderStatus, dto); + // 订单类型为:5(换货单),mainOrderId 代表子单ID,orderId 代表换货单ID + String subOrderId = dto.getMainOrderId(); + String exchangeOrderId = dto.getOrderId(); + PointsMallOrderSub sub = pointsMallOrderSubService.findBySubOrderExtId(subOrderId, dto.getSupplierId()); + if (sub == null) { + log.info("9.2.1生成订单信息推送,订单不存在:{}", dto); + return MallInboundResult.fail(MallBridgeError.ORDER_NOT_EXISTS.code(), MallBridgeError.ORDER_NOT_EXISTS.message()); + } + // 订单类型为:5(换货单),需限制同一个换货单只能换一次 + PointsMallOrderExchange existed = dao.fetch(PointsMallOrderExchange.class, Cnd.where("orderMainId", "=", subOrderId) + .and("orderId", "=", exchangeOrderId).and("supplierId", "=", dto.getSupplierId()).and("delFlag", "=", false)); + if (existed != null) { + log.info("9.2.1生成订单信息推送,该订单 已退货/已换货,请不要重复操作:{}", dto); + return MallInboundResult.fail(-1, "该订单 已退货/已换货,请不要重复操作"); + } + log.info("订单类型为:4(退货单),5(换货单)时,调用 9.2.2获取订单详情接口:{}", dto); + OrderInfoDTO orderInfo; + try { + // 订单类型为:5(换货单)时,需重新调用 9.2.2获取订单详情接口 + orderInfo = queryExchangeOrderInfo(dto); + } catch (Exception e) { + log.error("订单类型为:4(退货单),5(换货单)时,调用9.2.2 获取订单详情接口异常:{}", dto); + return MallInboundResult.fail(-1, "调用9.2.2获取订单详情接口异常,异常订单:" + dto.getOrderId()); + } + PointsMallOrderExchange orderExchange = toExchange(dto, orderInfo, sub, orderStatus); + Trans.exec((Atom) () -> { + // 把推送过来的换货单存入退换货表 + dao.insert(orderExchange); + + log.info("9.2.1生成订单信息推送-记录退换货的订单流水记录"); + // 记录推送的子订单流水记录 + PointsMallOrderSubHistory history = BeanUtil.copyProperties(orderExchange, PointsMallOrderSubHistory.class); + history.setId(null); + history.setMainOrderId(orderExchange.getOrderMainId()); + history.setOrderState(orderStatus); + dao.insert(history); + }); + log.info("9.2.1生成订单信息推送结束!"); + return MallInboundResult.success(); } + + private OrderInfoDTO queryExchangeOrderInfo(MallOrderEventDTO dto) { + MallOrderQueryDTO queryDTO = new MallOrderQueryDTO(); + queryDTO.setSupplierId(dto.getSupplierId()); + queryDTO.setOrderType(dto.getOrderType()); + queryDTO.setOrderId(dto.getOrderId()); + MallOutboundResult result = mallOrderQueryOutboundService.queryOrderInfo(queryDTO); + if (result == null || result.getResultCode() != 0 || result.getOrderInfo() == null || result.getOrderInfo().isEmpty()) { + log.error("订单类型为:4(退货单),5(换货单)时,调用9.2.2 获取订单详情接口异常:{},{}", dto, result); + throw new RuntimeException("调用9.2.2获取订单详情接口异常"); + } + return result.getOrderInfo().get(0); + } + } diff --git a/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/event/handlers/MallSubOrderReturnEventHandler.java b/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/event/handlers/MallSubOrderReturnEventHandler.java index 24f53cea..2410de4d 100644 --- a/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/event/handlers/MallSubOrderReturnEventHandler.java +++ b/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/event/handlers/MallSubOrderReturnEventHandler.java @@ -1,30 +1,178 @@ package com.budwk.app.zhgh.pointsmall.mallbridge.event.handlers; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.sys.models.Sys_user; import com.budwk.app.zhgh.pointsmall.mallbridge.dto.MallOrderEventDTO; +import com.budwk.app.zhgh.pointsmall.mallbridge.dto.MallOrderQueryDTO; +import com.budwk.app.zhgh.pointsmall.mallbridge.dto.OrderInfoDTO; import com.budwk.app.zhgh.pointsmall.mallbridge.event.MallOrderEventHandler; +import com.budwk.app.zhgh.pointsmall.mallbridge.exception.MallBridgeError; import com.budwk.app.zhgh.pointsmall.mallbridge.model.MallInboundResult; -import com.budwk.app.zhgh.pointsmall.mallbridge.service.MallInboundEventService; +import com.budwk.app.zhgh.pointsmall.mallbridge.model.MallOutboundResult; +import com.budwk.app.zhgh.pointsmall.mallbridge.service.MallCallPMessagePushService; +import com.budwk.app.zhgh.pointsmall.mallbridge.service.MallOrderQueryOutboundService; +import com.budwk.app.zhgh.pointsmall.mallbridge.service.support.AbstractMallBridgeSupport; import com.budwk.app.zhgh.pointsmall.order.enums.MallOrderStatusEnum; +import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderExchange; +import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderSub; +import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderSubHistory; +import com.budwk.app.zhgh.pointsmall.order.service.PointsMallOrderService; +import com.budwk.app.zhgh.pointsmall.order.service.PointsMallOrderSubService; +import com.budwk.app.zhgh.pointsmall.points.service.PointsMallPointsLockService; +import lombok.extern.slf4j.Slf4j; +import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.trans.Atom; +import org.nutz.trans.Trans; + +import java.math.BigDecimal; +import java.util.Date; /** * MallSubOrderReturnEventHandler * orderType=4: 退货单事件处理器。 */ -@IocBean -public class MallSubOrderReturnEventHandler implements MallOrderEventHandler { +@Slf4j +@IocBean(args = {"refer:dao"}) +public class MallSubOrderReturnEventHandler extends AbstractMallBridgeSupport implements MallOrderEventHandler { @Inject - private MallInboundEventService inboundEventService; + private PointsMallPointsLockService pointsMallPointsLockService; + @Inject + private PointsMallOrderService pointsMallOrderService; + @Inject + private PointsMallOrderSubService pointsMallOrderSubService; + @Inject + private MallCallPMessagePushService mallCallPMessagePushService; + @Inject + private MallOrderQueryOutboundService mallOrderQueryOutboundService; + + public MallSubOrderReturnEventHandler(Dao dao) { + super(dao); + } @Override public int getType() { return 4; } + /** + * 9.2.1 生成订单信息推送 + * 订单类型为:4(退货单)时,mainOrderId 代表原子单ID,orderId 代表退货单ID。 + * 1. 重新调用9.2.2获取退货单详情。 + * 2. 记录退货单流水记录。 + * 3. 退货单退回用户积分。 + * 4. 判断子单是否都完成了,修改主单状态。 + * + * @param dto 请求参数 + * @return 操作结果 + */ @Override public MallInboundResult handle(MallOrderEventDTO dto) { - return inboundEventService.updateSubOrderStatus(dto, MallOrderStatusEnum.REFUNDED); + if (!hasRequiredOrderEventFields(dto)) { + return MallInboundResult.fail(MallBridgeError.PARAM_ERROR.code(), "参数缺少"); + } + Sys_user user = fetchUser(dto.getUserId()); + if (user == null) { + return MallInboundResult.fail(-1, "用户不存在"); + } + Integer orderStatus = MallOrderStatusEnum.REFUNDED.getCode(); + log.info("9.2.1生成订单信息推送开始:{},{}", orderStatus, dto); + // 订单类型为:4(退货单),mainOrderId 代表子单ID,orderId 代表退货单ID + String subOrderId = dto.getMainOrderId(); + String exchangeOrderId = dto.getOrderId(); + PointsMallOrderSub sub = pointsMallOrderSubService.findBySubOrderExtId(subOrderId, dto.getSupplierId()); + if (sub == null) { + log.info("9.2.1生成订单信息推送,订单不存在:{}", dto); + return MallInboundResult.fail(MallBridgeError.ORDER_NOT_EXISTS.code(), MallBridgeError.ORDER_NOT_EXISTS.message()); + } + // 订单类型为:4(退货单),需限制同一个退货单只能退一次 + PointsMallOrderExchange existed = dao.fetch(PointsMallOrderExchange.class, Cnd.where("orderMainId", "=", subOrderId) + .and("orderId", "=", exchangeOrderId).and("supplierId", "=", dto.getSupplierId()).and("delFlag", "=", false)); + if (existed != null) { + log.info("9.2.1生成订单信息推送,该订单 已退货/已换货,请不要重复操作:{}", dto); + return MallInboundResult.fail(-1, "该订单 已退货/已换货,请不要重复操作"); + } + log.info("订单类型为:4(退货单),5(换货单)时,调用 9.2.2获取订单详情接口:{}", dto); + OrderInfoDTO orderInfo; + try { + // 订单类型为:4(退货单)时,需重新调用 9.2.2获取订单详情接口 + orderInfo = queryReturnOrderInfo(dto); + } catch (Exception e) { + log.error("订单类型为:4(退货单),5(换货单)时,调用9.2.2 获取订单详情接口异常:{}", dto); + return MallInboundResult.fail(-1, "调用9.2.2获取订单详情接口异常,异常订单:" + dto.getOrderId()); + } + // 订单退款积分【订单为退货单时有值】 + BigDecimal refund = nvl(orderInfo.getRefund()); + BigDecimal refunded = nvl(sub.getRefund()); + BigDecimal pointsPrice = nvl(sub.getPointsPrice()); + // 订单退货 + if (pointsPrice.compareTo(refunded.add(refund)) < 0) { + // 订单退款积分 如果超过 子订单锁定积分,则校验不通过 + log.info("当前子单:{},订单退款积分:{},超过子表消耗积分:{}", sub.getOrderId(), refund, pointsPrice); + return MallInboundResult.fail(-1, "该订单 已退积分超过下单积分!"); + } + Date now = new Date(); + PointsMallOrderExchange orderExchange = toExchange(dto, orderInfo, sub, orderStatus); + // 退货单需要更新订单子表的退款金额,对账使用;退满时更新子单状态 + BigDecimal refundSum = refunded.add(refund); + PointsMallOrderSub modifySub = new PointsMallOrderSub(); + modifySub.setId(sub.getId()); + modifySub.setRefund(refundSum); + modifySub.setOrderUpdateTime(now); + if (modifySub.getRefund().compareTo(pointsPrice) == 0) { + modifySub.setOrderState(orderStatus); + } + // 记录推送的子订单流水记录 + PointsMallOrderSubHistory history = BeanUtil.copyProperties(orderExchange, PointsMallOrderSubHistory.class); + history.setId(null); + history.setMainOrderId(orderExchange.getOrderMainId()); + history.setOrderState(orderStatus); + log.info("9.2.1生成订单信息推送-记录退换货的订单流水记录"); + log.info("9.2.1生成订单信息推送-订单状态为 已取消 释放积分 为 已退货 退回用户积分"); + Trans.exec((Atom) () -> { + pointsMallOrderSubService.updateSubOrder(modifySub); + + // 把推送过来的退货单存入退换货表 + dao.insert(orderExchange); + + dao.insert(history); + + // 释放积分/返回用户积分 + pointsMallPointsLockService.releaseOrReturnPoints(sub, orderStatus, refund); + // 更新主订单状态,所有子单退货/取消/完成后,修改主单状态 + pointsMallOrderService.updateMainOrderStatus(sub.getMainOrderId(), sub.getSupplierId()); + }); + try { + // callP消息推送 + PointsMallOrderSub notifySub = BeanUtil.copyProperties(sub, PointsMallOrderSub.class); + notifySub.setOrderId(dto.getOrderId()); + notifySub.setPointsPrice(refund); + notifySub.setTotalPrice(orderInfo.getTotalPrice()); + notifySub.setWPayOrAPay(orderInfo.getWPayOrAPay()); + notifySub.setExtJson(orderExchange.getExtJson()); + mallCallPMessagePushService.pushMessageToGlobal(StrUtil.blankToDefault(user.getUsername(), user.getLoginname()), notifySub); + } catch (Exception e) { + log.error("9.2.1 子单取消 或 退货,callP消息推送: {}, {}", dto, e.getMessage()); + } + log.info("9.2.1生成订单信息推送结束!"); + return MallInboundResult.success(); } + + private OrderInfoDTO queryReturnOrderInfo(MallOrderEventDTO dto) { + MallOrderQueryDTO queryDTO = new MallOrderQueryDTO(); + queryDTO.setSupplierId(dto.getSupplierId()); + queryDTO.setOrderType(dto.getOrderType()); + queryDTO.setOrderId(dto.getOrderId()); + MallOutboundResult result = mallOrderQueryOutboundService.queryOrderInfo(queryDTO); + if (result == null || result.getResultCode() != 0 || result.getOrderInfo() == null || result.getOrderInfo().isEmpty()) { + log.error("订单类型为:4(退货单),5(换货单)时,调用9.2.2 获取订单详情接口异常:{},{}", dto, result); + throw new RuntimeException("调用9.2.2获取订单详情接口异常"); + } + return result.getOrderInfo().get(0); + } + } diff --git a/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/service/support/AbstractMallBridgeSupport.java b/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/service/support/AbstractMallBridgeSupport.java index 2bb9de2e..c1f928bb 100644 --- a/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/service/support/AbstractMallBridgeSupport.java +++ b/src/main/java/com/budwk/app/zhgh/pointsmall/mallbridge/service/support/AbstractMallBridgeSupport.java @@ -4,10 +4,13 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; +import com.budwk.app.sys.models.Sys_user; import com.budwk.app.zhgh.pointsmall.invoice.models.PointsMallInvoiceInfo; import com.budwk.app.zhgh.pointsmall.mallbridge.dto.InvoiceInfoDTO; +import com.budwk.app.zhgh.pointsmall.mallbridge.dto.MallOrderEventDTO; import com.budwk.app.zhgh.pointsmall.mallbridge.dto.OrderInfoDTO; import com.budwk.app.zhgh.pointsmall.mallbridge.dto.OrderProInfoDTO; +import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderExchange; import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderMain; import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderSub; import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderSubProduct; @@ -22,6 +25,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -49,6 +53,64 @@ public abstract class AbstractMallBridgeSupport { this.dao = dao; } + protected boolean hasRequiredOrderEventFields(MallOrderEventDTO dto) { + return dto != null && !StrUtil.hasBlank(dto.getSupplierId(), dto.getOrderId(), dto.getMainOrderId(), dto.getUserId()); + } + + protected Sys_user fetchUser(String userId) { + Sys_user user = dao.fetch(Sys_user.class, Cnd.where("id", "=", userId).and("disabled", "=", false).and("delFlag", "=", false)); + if (user != null) { + return user; + } + return dao.fetch(Sys_user.class, Cnd.where("loginname", "=", userId).and("disabled", "=", false).and("delFlag", "=", false)); + } + + protected PointsMallOrderExchange toExchange(MallOrderEventDTO dto, OrderInfoDTO orderInfo, PointsMallOrderSub sub, Integer orderStatus) { + PointsMallOrderExchange exchange = new PointsMallOrderExchange(); + exchange.setOrderMainId(dto.getMainOrderId()); + exchange.setOrderId(dto.getOrderId()); + exchange.setSupplierId(dto.getSupplierId()); + exchange.setUserId(dto.getUserId()); + exchange.setAplName(orderInfo.getAplName()); + exchange.setOrderCreateTime(parseDate(orderInfo.getCreateTime())); + exchange.setOrderUpdateTime(parseDate(orderInfo.getUpdateTime())); + exchange.setOrderCompleteTime(parseDate(StrUtil.blankToDefault(orderInfo.getCompleteTime(), orderInfo.getOrderFinishTime()))); + exchange.setDeliveryStatus(parseInteger(orderInfo.getDeliveryStatus())); + exchange.setFreightCost(orderInfo.getFreightCost()); + exchange.setRefund(orderInfo.getRefund()); + exchange.setLogisticsOrderId(orderInfo.getLogisticsOrderId()); + exchange.setCrrgBsnNm(orderInfo.getCrrgBsnNm()); + exchange.setOrderState(orderStatus); + exchange.setTotalPrice(orderInfo.getTotalPrice()); + exchange.setWPayOrAPay(orderInfo.getWPayOrAPay()); + exchange.setPointsPrice(orderInfo.getPointsPrice()); + exchange.setInvoiceCode(orderInfo.getInvoiceCode()); + // 商品信息:退换货单详情接口返回的商品信息补齐原订单中的图片和文件信息 + exchange.setExtJson(JSONUtil.toJsonStr(mergeProductInfo(orderInfo.getOrderProInfos(), sub.getExtJson()))); + return exchange; + } + + protected List mergeProductInfo(List products, String subExtJson) { + if (products == null || products.isEmpty()) { + return Collections.emptyList(); + } + List subProducts = StrUtil.isBlank(subExtJson) ? Collections.emptyList() : JSONUtil.toList(subExtJson, OrderProInfoDTO.class); + // 将原子单商品列表转换为 Map,key 为 sku;若 sku 重复,保留第一个 + Map subProductMap = subProducts.stream() + .filter(item -> StrUtil.isNotBlank(item.getSku())) + .collect(Collectors.toMap(OrderProInfoDTO::getSku, item -> item, (left, right) -> left)); + // 遍历退换货单商品,从原子单商品 Map 中获取对应图片和文件信息并赋值 + products.forEach(product -> { + OrderProInfoDTO origin = subProductMap.get(product.getSku()); + if (origin != null) { + product.setPicInfo(origin.getPicInfo()); + product.setFileId(origin.getFileId()); + product.setFilePath(origin.getFilePath()); + } + }); + return products; + } + protected PointsMallOrderMain toMain(String supplierId, String userId, OrderInfoDTO orderInfo, Integer state) { PointsMallOrderMain main = new PointsMallOrderMain(); main.setOrderId(orderInfo.getOrderId()); diff --git a/src/main/java/com/budwk/app/zhgh/pointsmall/order/controller/PointsMallOrderSubController.java b/src/main/java/com/budwk/app/zhgh/pointsmall/order/controller/PointsMallOrderSubController.java index 79e42bf8..67426b00 100644 --- a/src/main/java/com/budwk/app/zhgh/pointsmall/order/controller/PointsMallOrderSubController.java +++ b/src/main/java/com/budwk/app/zhgh/pointsmall/order/controller/PointsMallOrderSubController.java @@ -6,6 +6,7 @@ import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderExchange; import com.budwk.app.zhgh.pointsmall.order.models.PointsMallOrderSub; import com.budwk.app.zhgh.pointsmall.order.param.PointsMallOrderPageParam; import com.budwk.app.zhgh.pointsmall.order.service.PointsMallOrderService; +import com.budwk.app.zhgh.pointsmall.order.service.PointsMallOrderSubService; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.mvc.adaptor.JsonAdaptor; @@ -23,6 +24,8 @@ public class PointsMallOrderSubController { @Inject private PointsMallOrderService pointsMallOrderService; + @Inject + private PointsMallOrderSubService pointsMallOrderSubService; @POST @At("/page") @@ -56,7 +59,7 @@ public class PointsMallOrderSubController { @At("/update") @SaCheckPermission("points.mall.order") public Result update(@Param("..") PointsMallOrderSub orderSub) { - return result(pointsMallOrderService.updateSub(orderSub)); + return result(pointsMallOrderSubService.updateSubOrder(orderSub)); } @POST diff --git a/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/PointsMallOrderService.java b/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/PointsMallOrderService.java index e1ebfc92..c48b0d51 100644 --- a/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/PointsMallOrderService.java +++ b/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/PointsMallOrderService.java @@ -33,8 +33,6 @@ public interface PointsMallOrderService extends BaseService List listExchangeProducts(String orderId); - boolean updateSub(PointsMallOrderSub orderSub); - boolean deleteSub(String id); boolean updateExchange(PointsMallOrderExchange exchange); diff --git a/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/PointsMallOrderSubService.java b/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/PointsMallOrderSubService.java index f049be6f..bf80a3d3 100644 --- a/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/PointsMallOrderSubService.java +++ b/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/PointsMallOrderSubService.java @@ -14,4 +14,9 @@ public interface PointsMallOrderSubService extends BaseService 0; - } - @Override public boolean deleteSub(String id) { if (StrUtil.isBlank(id)) { diff --git a/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/impl/PointsMallOrderSubServiceImpl.java b/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/impl/PointsMallOrderSubServiceImpl.java index aabe9763..8750b857 100644 --- a/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/impl/PointsMallOrderSubServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/pointsmall/order/service/impl/PointsMallOrderSubServiceImpl.java @@ -36,4 +36,13 @@ public class PointsMallOrderSubServiceImpl extends BaseServiceImpl