diff --git a/mall-common/src/main/java/com/suisung/mall/common/feignService/PayService.java b/mall-common/src/main/java/com/suisung/mall/common/feignService/PayService.java index b9ddb4e3..1af1df7b 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/feignService/PayService.java +++ b/mall-common/src/main/java/com/suisung/mall/common/feignService/PayService.java @@ -5,6 +5,7 @@ import com.suisung.mall.common.modules.order.ShopOrderReturn; import com.suisung.mall.common.modules.pay.*; import com.suisung.mall.common.modules.product.ShopProductIndex; import com.suisung.mall.common.pojo.output.TimelineOutput; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -167,4 +168,16 @@ public interface PayService { @GetMapping("/admin/pay/analytics/trade/getPayTimeLine") List getPayTimeLine(@RequestParam("startTime") Long startTime, @RequestParam("endTime") Long endTime); + + /** + * 更改交易订单的订单状态和付款状态 + * @param orderId + * @param orderStateId 空值或0将不更新 + * @param tradeIsPaid 空值或0将不更新 + * @return + */ + @PostMapping(value = "/admin/pay/pay-consume-trade/change/state") + Boolean changePayConsumeTradeState(@RequestParam(name = "order_id") String orderId, + @RequestParam(name = "order_state_id") Integer orderStateId, + @RequestParam(name = "trade_is_paid") Integer tradeIsPaid); } diff --git a/mall-pay/src/main/java/com/suisung/mall/pay/controller/admin/PayConsumeTradeController.java b/mall-pay/src/main/java/com/suisung/mall/pay/controller/admin/PayConsumeTradeController.java index 5aaa95bb..19fbff0a 100644 --- a/mall-pay/src/main/java/com/suisung/mall/pay/controller/admin/PayConsumeTradeController.java +++ b/mall-pay/src/main/java/com/suisung/mall/pay/controller/admin/PayConsumeTradeController.java @@ -79,5 +79,13 @@ public class PayConsumeTradeController { return CommonResult.success(result); } + @ApiOperation(value = "更改交易订单的订单状态", notes = "更改交易订单的订单状态") + @RequestMapping(value = "/change/state", method = RequestMethod.POST) + public Boolean changePayConsumeTradeState(@RequestParam(name = "order_id") String orderId, + @RequestParam(name = "order_state_id") Integer orderStateId, + @RequestParam(name = "trade_is_paid") Integer tradeIsPaid) { + return payConsumeTradeService.changeOrderState(orderId, orderStateId, tradeIsPaid); + } + } diff --git a/mall-pay/src/main/java/com/suisung/mall/pay/service/PayConsumeTradeService.java b/mall-pay/src/main/java/com/suisung/mall/pay/service/PayConsumeTradeService.java index b1c17866..a9fc2b7f 100644 --- a/mall-pay/src/main/java/com/suisung/mall/pay/service/PayConsumeTradeService.java +++ b/mall-pay/src/main/java/com/suisung/mall/pay/service/PayConsumeTradeService.java @@ -33,4 +33,13 @@ public interface PayConsumeTradeService extends IBaseService { boolean doRefund(List shopOrderReturnList); + /** + * 更改交易订单的订单状态和付款状态 + * @param orderId + * @param orderStateId 空值或0将不更新 + * @param tradeIsPaid 空值或0将不更新 + * @return + */ + boolean changeOrderState(String orderId, Integer orderStateId, Integer tradeIsPaid); + } diff --git a/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/PayConsumeTradeServiceImpl.java b/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/PayConsumeTradeServiceImpl.java index 055c4a89..ec8806ff 100644 --- a/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/PayConsumeTradeServiceImpl.java +++ b/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/PayConsumeTradeServiceImpl.java @@ -8,6 +8,7 @@ import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.suisung.mall.common.api.*; import com.suisung.mall.common.constant.MqConstant; @@ -22,6 +23,7 @@ import com.suisung.mall.common.utils.CheckUtil; import com.suisung.mall.common.utils.I18nUtil; import com.suisung.mall.pay.mapper.PayConsumeTradeMapper; import com.suisung.mall.pay.service.*; +import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -1357,4 +1359,38 @@ public class PayConsumeTradeServiceImpl extends BaseServiceImpl updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("order_id", orderId); + + int cnt =0; + if(orderStateId != null && orderStateId > 0){ + updateWrapper.set("order_state_id", orderStateId); + cnt++; + } + + if(tradeIsPaid != null && tradeIsPaid > 0){ + updateWrapper.set("trade_is_paid", tradeIsPaid); + cnt++; + } + + if(cnt <= 0){ + return false; + } + + return update(updateWrapper); + } + } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/mobile/UserOrderController.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/mobile/UserOrderController.java index e01b4884..13960d88 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/mobile/UserOrderController.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/mobile/UserOrderController.java @@ -96,7 +96,6 @@ public class UserOrderController extends BaseControllerImpl { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("buyer_user_id", user_id); - queryWrapper.eq("order_state_id", StateCode.ORDER_STATE_FINISH); List baseKey = shopOrderBaseService.findKey(queryWrapper); diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java index 7e97bf08..6d4edcb7 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java @@ -498,6 +498,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl items = (List) data.get("items"); List store_ids = items.stream().map(s -> Convert.toInt(s.get("store_id"))).distinct().collect(Collectors.toList()); @@ -7818,10 +7819,12 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl