同城配送订单状态修改 bug,完善遗漏的更改

This commit is contained in:
Jack 2024-12-13 17:46:15 +08:00
parent a918f6fdb3
commit e04b693f5d
7 changed files with 73 additions and 1 deletions

View File

@ -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.pay.*;
import com.suisung.mall.common.modules.product.ShopProductIndex; import com.suisung.mall.common.modules.product.ShopProductIndex;
import com.suisung.mall.common.pojo.output.TimelineOutput; import com.suisung.mall.common.pojo.output.TimelineOutput;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -167,4 +168,16 @@ public interface PayService {
@GetMapping("/admin/pay/analytics/trade/getPayTimeLine") @GetMapping("/admin/pay/analytics/trade/getPayTimeLine")
List<TimelineOutput> getPayTimeLine(@RequestParam("startTime") Long startTime, @RequestParam("endTime") Long endTime); List<TimelineOutput> 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);
} }

View File

@ -79,5 +79,13 @@ public class PayConsumeTradeController {
return CommonResult.success(result); 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);
}
} }

View File

@ -33,4 +33,13 @@ public interface PayConsumeTradeService extends IBaseService<PayConsumeTrade> {
boolean doRefund(List<ShopOrderReturn> shopOrderReturnList); boolean doRefund(List<ShopOrderReturn> shopOrderReturnList);
/**
* 更改交易订单的订单状态和付款状态
* @param orderId
* @param orderStateId 空值或0将不更新
* @param tradeIsPaid 空值或0将不更新
* @return
*/
boolean changeOrderState(String orderId, Integer orderStateId, Integer tradeIsPaid);
} }

View File

@ -8,6 +8,7 @@ import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.suisung.mall.common.api.*; import com.suisung.mall.common.api.*;
import com.suisung.mall.common.constant.MqConstant; 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.common.utils.I18nUtil;
import com.suisung.mall.pay.mapper.PayConsumeTradeMapper; import com.suisung.mall.pay.mapper.PayConsumeTradeMapper;
import com.suisung.mall.pay.service.*; import com.suisung.mall.pay.service.*;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -1357,4 +1359,38 @@ public class PayConsumeTradeServiceImpl extends BaseServiceImpl<PayConsumeTradeM
return true; return true;
} }
/**
* 更改交易订单的订单状态和付款状态
* @param orderId
* @param orderStateId 空值或0将不更新
* @param tradeIsPaid 空值或0将不更新
* @return
*/
@Override
public boolean changeOrderState(String orderId, Integer orderStateId, Integer tradeIsPaid) {
if (StrUtil.isBlank(orderId) || ((orderStateId == null || orderStateId <= 0) && (tradeIsPaid == null || tradeIsPaid <= 0))) {
return false;
}
UpdateWrapper<PayConsumeTrade> 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);
}
} }

View File

@ -96,7 +96,6 @@ public class UserOrderController extends BaseControllerImpl {
QueryWrapper<ShopOrderBase> queryWrapper = new QueryWrapper<>(); QueryWrapper<ShopOrderBase> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("buyer_user_id", user_id); queryWrapper.eq("buyer_user_id", user_id);
queryWrapper.eq("order_state_id", StateCode.ORDER_STATE_FINISH); queryWrapper.eq("order_state_id", StateCode.ORDER_STATE_FINISH);
List<Serializable> baseKey = shopOrderBaseService.findKey(queryWrapper); List<Serializable> baseKey = shopOrderBaseService.findKey(queryWrapper);

View File

@ -498,6 +498,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
params.put("buyer_user_id:eq", user_id); params.put("buyer_user_id:eq", user_id);
params.put("order_buyer_hidden:eq", 0); params.put("order_buyer_hidden:eq", 0);
// 订单信息表
Map data = getOrderInfoLists(params, page, rows); Map data = getOrderInfoLists(params, page, rows);
List<Map> items = (List<Map>) data.get("items"); List<Map> items = (List<Map>) data.get("items");
List<Integer> store_ids = items.stream().map(s -> Convert.toInt(s.get("store_id"))).distinct().collect(Collectors.toList()); List<Integer> 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<ShopOrderBaseMappe
Integer kindId = Convert.toInt(order_info_row.get("kind_id")); Integer kindId = Convert.toInt(order_info_row.get("kind_id"));
// 订单种类(ENUM): 1201-实物 ; 1202-虚拟 ; 1203-电子卡券 ; 1204-外卖订单
if (Arrays.asList(StateCode.PRODUCT_KIND_FUWU, StateCode.PRODUCT_KIND_CARD, StateCode.PRODUCT_KIND_WAIMAI, StateCode.PRODUCT_KIND_EDU).contains(kindId)) { if (Arrays.asList(StateCode.PRODUCT_KIND_FUWU, StateCode.PRODUCT_KIND_CARD, StateCode.PRODUCT_KIND_WAIMAI, StateCode.PRODUCT_KIND_EDU).contains(kindId)) {
order_info_row.put("order_state_name", shopBaseStateCodeService.getText(order_state_id, "3")); order_info_row.put("order_state_name", shopBaseStateCodeService.getText(order_state_id, "3"));
} else { } else {
order_info_row.put("order_state_name", shopBaseStateCodeService.getText(order_state_id, null)); order_info_row.put("order_state_name", shopBaseStateCodeService.getText(order_state_id, null));
if (order_state_id.equals(StateCode.ORDER_STATE_PICKING) if (order_state_id.equals(StateCode.ORDER_STATE_PICKING)
&& order_is_shipped.equals(StateCode.ORDER_SHIPPED_STATE_PART)) { && order_is_shipped.equals(StateCode.ORDER_SHIPPED_STATE_PART)) {
order_info_row.put("order_state_name", "部分发货"); order_info_row.put("order_state_name", "部分发货");

View File

@ -14,6 +14,7 @@ import com.suisung.mall.common.modules.distribution.ShopDistributionUserWithdraw
import com.suisung.mall.common.modules.order.ShopOrderInfo; import com.suisung.mall.common.modules.order.ShopOrderInfo;
import com.suisung.mall.common.modules.order.ShopOrderInvoice; import com.suisung.mall.common.modules.order.ShopOrderInvoice;
import com.suisung.mall.common.modules.order.ShopOrderStateLog; import com.suisung.mall.common.modules.order.ShopOrderStateLog;
import com.suisung.mall.common.modules.pay.PayConsumeTrade;
import com.suisung.mall.common.modules.pay.PayPlantformResource; import com.suisung.mall.common.modules.pay.PayPlantformResource;
import com.suisung.mall.common.modules.plantform.ShopPlantformFeedback; import com.suisung.mall.common.modules.plantform.ShopPlantformFeedback;
import com.suisung.mall.common.modules.product.ShopProductComment; import com.suisung.mall.common.modules.product.ShopProductComment;
@ -258,6 +259,9 @@ public class ShopOrderInfoServiceImpl extends BaseServiceImpl<ShopOrderInfoMappe
return false; return false;
} }
// 远程调用 更改交易订单状态
payService.changePayConsumeTradeState(orderId, orderStatus, 0);
// 写入订单状态更改日志 // 写入订单状态更改日志
ShopOrderStateLog shopOrderStateLog = new ShopOrderStateLog(); ShopOrderStateLog shopOrderStateLog = new ShopOrderStateLog();
shopOrderStateLog.setOrder_id(orderId); shopOrderStateLog.setOrder_id(orderId);