添加订单接口
This commit is contained in:
@@ -307,4 +307,20 @@ CREATE TABLE `tz_trade_delivery_pick_up_store`
|
|||||||
) ENGINE = InnoDB
|
) ENGINE = InnoDB
|
||||||
DEFAULT CHARSET = utf8mb4 COMMENT ='自提门店表';
|
DEFAULT CHARSET = utf8mb4 COMMENT ='自提门店表';
|
||||||
|
|
||||||
|
-- 订单预约时间修改记录表 (tz_trade_sub_log)
|
||||||
|
CREATE TABLE `tz_trade_sub_log`
|
||||||
|
(
|
||||||
|
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
|
||||||
|
`user_id` bigint(20) NOT NULL COMMENT '用户编号',
|
||||||
|
`order_id` bigint(20) NOT NULL COMMENT '订单号',
|
||||||
|
`sub_time` datetime NOT NULL COMMENT '预约时间',
|
||||||
|
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||||
|
`creator` varchar(64) NOT NULL COMMENT '创建者',
|
||||||
|
`updater` varchar(64) NOT NULL COMMENT '更新者',
|
||||||
|
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_order_id` (`order_id`),
|
||||||
|
KEY `idx_user_id` (`user_id`)
|
||||||
|
) ENGINE = InnoDB
|
||||||
|
DEFAULT CHARSET = utf8mb4 COMMENT ='订单预约时间修改记录表';
|
||||||
|
|
||||||
|
|||||||
@@ -193,6 +193,11 @@
|
|||||||
<artifactId>tashow-sdk-payment</artifactId>
|
<artifactId>tashow-sdk-payment</artifactId>
|
||||||
<version>${revision}</version>
|
<version>${revision}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.tashow.cloud</groupId>
|
||||||
|
<artifactId>tashow-product-api</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- Spring 核心 -->
|
<!-- Spring 核心 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ public enum TradeOrderOperateTypeEnum {
|
|||||||
SYSTEM_COMMENT(34, "到期未评价,系统自动评价"),
|
SYSTEM_COMMENT(34, "到期未评价,系统自动评价"),
|
||||||
MEMBER_CANCEL(40, "取消订单"),
|
MEMBER_CANCEL(40, "取消订单"),
|
||||||
SYSTEM_CANCEL(41, "到期未支付,系统自动取消订单"),
|
SYSTEM_CANCEL(41, "到期未支付,系统自动取消订单"),
|
||||||
|
ADMIN_CANCEL(42, "管理员取消订单"),
|
||||||
// 42 预留:管理员取消订单
|
// 42 预留:管理员取消订单
|
||||||
ADMIN_CANCEL_AFTER_SALE(43, "订单全部售后,管理员自动取消订单"),
|
ADMIN_CANCEL_AFTER_SALE(43, "订单全部售后,管理员自动取消订单"),
|
||||||
MEMBER_DELETE(49, "删除订单"),
|
MEMBER_DELETE(49, "删除订单"),
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import java.util.List;
|
|||||||
* 1. {@link BaseMapper} 为 MyBatis Plus 的基础接口,提供基础的 CRUD 能力
|
* 1. {@link BaseMapper} 为 MyBatis Plus 的基础接口,提供基础的 CRUD 能力
|
||||||
* 2. {@link MPJBaseMapper} 为 MyBatis Plus Join 的基础接口,提供连表 Join 能力
|
* 2. {@link MPJBaseMapper} 为 MyBatis Plus Join 的基础接口,提供连表 Join 能力
|
||||||
*/
|
*/
|
||||||
public interface BaseMapperX<T> extends MPJBaseMapper<T> {
|
public interface BaseMapperX<T> extends MPJBaseMapper<T>,BaseMapper<T> {
|
||||||
|
|
||||||
default PageResult<T> selectPage(SortablePageParam pageParam, @Param("ew") Wrapper<T> queryWrapper) {
|
default PageResult<T> selectPage(SortablePageParam pageParam, @Param("ew") Wrapper<T> queryWrapper) {
|
||||||
return selectPage(pageParam, pageParam.getSortingFields(), queryWrapper);
|
return selectPage(pageParam, pageParam.getSortingFields(), queryWrapper);
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ public class AiDialogServiceImpl extends ServiceImpl<AiDialogMapper, AiDialogDO>
|
|||||||
|
|
||||||
PageResult<AiDialogMessageDO> messageDOS = aiDialogMessageMapper.selectPage(pageParam,
|
PageResult<AiDialogMessageDO> messageDOS = aiDialogMessageMapper.selectPage(pageParam,
|
||||||
new LambdaQueryWrapper<AiDialogMessageDO>().eq(AiDialogMessageDO::getDialogId, aiDialogDO.getId())
|
new LambdaQueryWrapper<AiDialogMessageDO>().eq(AiDialogMessageDO::getDialogId, aiDialogDO.getId())
|
||||||
.orderByDesc(AiDialogMessageDO::getCreateTime)
|
.orderByAsc(AiDialogMessageDO::getCreateTime)
|
||||||
);
|
);
|
||||||
|
|
||||||
DialogResp resp = new DialogResp();
|
DialogResp resp = new DialogResp();
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
package com.tashow.cloud.system.controller.admin.auth;
|
package com.tashow.cloud.system.controller.admin.auth;
|
||||||
|
|
||||||
import static com.tashow.cloud.common.pojo.CommonResult.success;
|
|
||||||
import static com.tashow.cloud.common.util.collection.CollectionUtils.convertSet;
|
|
||||||
import static com.tashow.cloud.web.web.core.util.WebFrameworkUtils.getLoginUserId;
|
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.tashow.cloud.common.enums.CommonStatusEnum;
|
import com.tashow.cloud.common.enums.CommonStatusEnum;
|
||||||
@@ -11,14 +7,7 @@ import com.tashow.cloud.common.enums.UserTypeEnum;
|
|||||||
import com.tashow.cloud.common.pojo.CommonResult;
|
import com.tashow.cloud.common.pojo.CommonResult;
|
||||||
import com.tashow.cloud.security.security.config.SecurityProperties;
|
import com.tashow.cloud.security.security.config.SecurityProperties;
|
||||||
import com.tashow.cloud.security.security.core.util.SecurityFrameworkUtils;
|
import com.tashow.cloud.security.security.core.util.SecurityFrameworkUtils;
|
||||||
import com.tashow.cloud.system.controller.admin.auth.vo.AuthLoginReqVO;
|
import com.tashow.cloud.system.controller.admin.auth.vo.*;
|
||||||
import com.tashow.cloud.system.controller.admin.auth.vo.AuthLoginRespVO;
|
|
||||||
import com.tashow.cloud.system.controller.admin.auth.vo.AuthPermissionInfoRespVO;
|
|
||||||
import com.tashow.cloud.system.controller.admin.auth.vo.AuthRegisterReqVO;
|
|
||||||
import com.tashow.cloud.system.controller.admin.auth.vo.AuthResetPasswordReqVO;
|
|
||||||
import com.tashow.cloud.system.controller.admin.auth.vo.AuthSmsLoginReqVO;
|
|
||||||
import com.tashow.cloud.system.controller.admin.auth.vo.AuthSmsSendReqVO;
|
|
||||||
import com.tashow.cloud.system.controller.admin.auth.vo.AuthSocialLoginReqVO;
|
|
||||||
import com.tashow.cloud.system.convert.auth.AuthConvert;
|
import com.tashow.cloud.system.convert.auth.AuthConvert;
|
||||||
import com.tashow.cloud.system.dal.dataobject.permission.MenuDO;
|
import com.tashow.cloud.system.dal.dataobject.permission.MenuDO;
|
||||||
import com.tashow.cloud.system.dal.dataobject.permission.RoleDO;
|
import com.tashow.cloud.system.dal.dataobject.permission.RoleDO;
|
||||||
@@ -34,17 +23,17 @@ import jakarta.annotation.Resource;
|
|||||||
import jakarta.annotation.security.PermitAll;
|
import jakarta.annotation.security.PermitAll;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
import static com.tashow.cloud.common.pojo.CommonResult.success;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import static com.tashow.cloud.common.util.collection.CollectionUtils.convertSet;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import static com.tashow.cloud.web.web.core.util.WebFrameworkUtils.getLoginUserId;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
/** 管理后台 - 认证 */
|
/** 管理后台 - 认证 */
|
||||||
@RestController
|
@RestController
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<groupId>com.tashow.cloud</groupId>
|
<groupId>com.tashow.cloud</groupId>
|
||||||
<artifactId>tashow-trade-api</artifactId>
|
<artifactId>tashow-trade-api</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.tashow.cloud</groupId>
|
||||||
|
<artifactId>tashow-product-api</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- Web 相关 -->
|
<!-- Web 相关 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@@ -4,10 +4,9 @@ import cn.hutool.core.collection.CollUtil;
|
|||||||
import com.tashow.cloud.common.pojo.CommonResult;
|
import com.tashow.cloud.common.pojo.CommonResult;
|
||||||
import com.tashow.cloud.common.pojo.PageResult;
|
import com.tashow.cloud.common.pojo.PageResult;
|
||||||
import com.tashow.cloud.memberapi.api.user.MemberUserApi;
|
import com.tashow.cloud.memberapi.api.user.MemberUserApi;
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderDetailRespVO;
|
import com.tashow.cloud.productapi.api.product.ProdApi;
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageReqVO;
|
import com.tashow.cloud.productapi.api.product.dto.ProdDO;
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageRespVO;
|
import com.tashow.cloud.trade.controller.admin.order.vo.*;
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderSummaryRespVO;
|
|
||||||
import com.tashow.cloud.trade.convert.order.TradeOrderConvert;
|
import com.tashow.cloud.trade.convert.order.TradeOrderConvert;
|
||||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderDO;
|
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderDO;
|
||||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderItemDO;
|
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderItemDO;
|
||||||
@@ -20,10 +19,7 @@ import jakarta.annotation.security.PermitAll;
|
|||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -49,9 +45,12 @@ public class TradeOrderController {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private MemberUserApi memberUserApi;
|
private MemberUserApi memberUserApi;
|
||||||
|
@Resource
|
||||||
|
private ProdApi prodApi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得交易订单分页
|
* 获得交易订单分页
|
||||||
|
*
|
||||||
* @param reqVO
|
* @param reqVO
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -73,6 +72,7 @@ public class TradeOrderController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得交易订单详情
|
* 获得交易订单详情
|
||||||
|
*
|
||||||
* @param id 订单编号
|
* @param id 订单编号
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -92,10 +92,9 @@ public class TradeOrderController {
|
|||||||
return success(TradeOrderConvert.INSTANCE.convert(order, orderItems, orderLogs));
|
return success(TradeOrderConvert.INSTANCE.convert(order, orderItems, orderLogs));
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得交易订单统计
|
* 获得交易订单统计
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/summary")
|
@GetMapping("/summary")
|
||||||
@@ -104,73 +103,58 @@ public class TradeOrderController {
|
|||||||
public CommonResult<TradeOrderSummaryRespVO> getOrderSummary() {
|
public CommonResult<TradeOrderSummaryRespVO> getOrderSummary() {
|
||||||
return success(tradeOrderQueryService.getOrderSummary());
|
return success(tradeOrderQueryService.getOrderSummary());
|
||||||
}
|
}
|
||||||
//
|
|
||||||
// // 获得交易订单的物流轨迹
|
/**
|
||||||
// // id: 交易订单编号
|
* 取消订单
|
||||||
// @GetMapping("/get-express-track-list")
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PutMapping("/cancel")
|
||||||
|
@PermitAll
|
||||||
// @PreAuthorize("@ss.hasPermission('trade:order:query')")
|
// @PreAuthorize("@ss.hasPermission('trade:order:query')")
|
||||||
// public CommonResult<List<?>> getOrderExpressTrackList(@RequestParam("id") Long id) {
|
public CommonResult<Boolean> cancel(@RequestParam("id") Long id) {
|
||||||
// return success(TradeOrderConvert.INSTANCE.convertList02(
|
return success(tradeOrderUpdateService.cancelOrderByAdmin(id));
|
||||||
// tradeOrderQueryService.getExpressTrackList(id)));
|
}
|
||||||
// }
|
|
||||||
//
|
// 订单备注
|
||||||
// // 订单发货
|
@PutMapping("/update-remark")
|
||||||
// @PutMapping("/delivery")
|
@PermitAll
|
||||||
// @PreAuthorize("@ss.hasPermission('trade:order:update')")
|
// @PreAuthorize("@ss.hasPermission('trade:order:update')")
|
||||||
// public CommonResult<Boolean> deliveryOrder(@RequestBody TradeOrderDeliveryReqVO deliveryReqVO) {
|
public CommonResult<Boolean> updateOrderRemark(@RequestBody TradeOrderRemarkReqVO reqVO) {
|
||||||
// tradeOrderUpdateService.deliveryOrder(deliveryReqVO);
|
tradeOrderUpdateService.updateOrderRemark(reqVO);
|
||||||
// return success(true);
|
return success(true);
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// // 订单备注
|
/**
|
||||||
// @PutMapping("/update-remark")
|
* 交易快照
|
||||||
// @PreAuthorize("@ss.hasPermission('trade:order:update')")
|
*
|
||||||
// public CommonResult<Boolean> updateOrderRemark(@RequestBody TradeOrderRemarkReqVO reqVO) {
|
* @return
|
||||||
// tradeOrderUpdateService.updateOrderRemark(reqVO);
|
*/
|
||||||
// return success(true);
|
@GetMapping("/fastPhoto")
|
||||||
// }
|
@PermitAll
|
||||||
//
|
|
||||||
// // 订单调价
|
|
||||||
// @PutMapping("/update-price")
|
|
||||||
// @PreAuthorize("@ss.hasPermission('trade:order:update')")
|
|
||||||
// public CommonResult<Boolean> updateOrderPrice(@RequestBody TradeOrderUpdatePriceReqVO reqVO) {
|
|
||||||
// tradeOrderUpdateService.updateOrderPrice(reqVO);
|
|
||||||
// return success(true);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // 修改订单收货地址
|
|
||||||
// @PutMapping("/update-address")
|
|
||||||
// @PreAuthorize("@ss.hasPermission('trade:order:update')")
|
|
||||||
// public CommonResult<Boolean> updateOrderAddress(@RequestBody TradeOrderUpdateAddressReqVO reqVO) {
|
|
||||||
// tradeOrderUpdateService.updateOrderAddress(reqVO);
|
|
||||||
// return success(true);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // 订单核销
|
|
||||||
// // id: 交易订单编号
|
|
||||||
// @PutMapping("/pick-up-by-id")
|
|
||||||
// @PreAuthorize("@ss.hasPermission('trade:order:pick-up')")
|
|
||||||
// public CommonResult<Boolean> pickUpOrderById(@RequestParam("id") Long id) {
|
|
||||||
// tradeOrderUpdateService.pickUpOrderByAdmin(getLoginUserId(), id);
|
|
||||||
// return success(true);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // 订单核销
|
|
||||||
// // pickUpVerifyCode: 自提核销码
|
|
||||||
// @PutMapping("/pick-up-by-verify-code")
|
|
||||||
// @PreAuthorize("@ss.hasPermission('trade:order:pick-up')")
|
|
||||||
// public CommonResult<Boolean> pickUpOrderByVerifyCode(@RequestParam("pickUpVerifyCode") String pickUpVerifyCode) {
|
|
||||||
// tradeOrderUpdateService.pickUpOrderByAdmin(getLoginUserId(), pickUpVerifyCode);
|
|
||||||
// return success(true);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // 查询核销码对应的订单
|
|
||||||
// // pickUpVerifyCode: 自提核销码
|
|
||||||
// @GetMapping("/get-by-pick-up-verify-code")
|
|
||||||
// @PreAuthorize("@ss.hasPermission('trade:order:query')")
|
// @PreAuthorize("@ss.hasPermission('trade:order:query')")
|
||||||
// public CommonResult<TradeOrderDetailRespVO> getByPickUpVerifyCode(@RequestParam("pickUpVerifyCode") String pickUpVerifyCode) {
|
public CommonResult<TradeOrderFastPhotoRespVo> fastPhoto(TradeOrderFastPhotoReqVo reqVo) {
|
||||||
// TradeOrderDO tradeOrder = tradeOrderUpdateService.getByPickUpVerifyCode(pickUpVerifyCode);
|
//获取交易订单详情
|
||||||
// return success(TradeOrderConvert.INSTANCE.convert2(tradeOrder, null));
|
TradeOrderItemDO orderItem = tradeOrderQueryService.getOrderItem(reqVo.getItemId());
|
||||||
// }
|
//获取产品详情
|
||||||
|
ProdDO prodInfo = prodApi.getProdInfo(reqVo.getSpuId());
|
||||||
|
return success(TradeOrderConvert.INSTANCE.convert(orderItem,prodInfo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务信息修改记录
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/subTimeLog")
|
||||||
|
@PermitAll
|
||||||
|
// @PreAuthorize("@ss.hasPermission('trade:order:query')")
|
||||||
|
public CommonResult<TradeOrderFastPhotoRespVo> subTimeLog(TradeOrderFastPhotoReqVo reqVo) {
|
||||||
|
//获取交易订单详情
|
||||||
|
TradeOrderItemDO orderItem = tradeOrderQueryService.getOrderItem(reqVo.getItemId());
|
||||||
|
//获取产品详情
|
||||||
|
|
||||||
|
return success(TradeOrderConvert.INSTANCE.convert(orderItem,null));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.tashow.cloud.trade.controller.admin.order.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class TradeOrderFastPhotoReqVo {
|
||||||
|
|
||||||
|
//订单项id
|
||||||
|
private Long itemId;
|
||||||
|
//产品id
|
||||||
|
private Long spuId;
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.tashow.cloud.trade.controller.admin.order.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class TradeOrderFastPhotoRespVo {
|
||||||
|
|
||||||
|
//产品主图
|
||||||
|
private String pic;
|
||||||
|
//产品轮播图
|
||||||
|
private String imgs;
|
||||||
|
//商品名称
|
||||||
|
private String spuName;
|
||||||
|
//商品概述
|
||||||
|
private String brief;
|
||||||
|
//sku
|
||||||
|
private String skuName;
|
||||||
|
//商品详细描述
|
||||||
|
private String content;
|
||||||
|
}
|
||||||
@@ -3,7 +3,6 @@ package com.tashow.cloud.trade.convert.order;
|
|||||||
import cn.hutool.core.util.BooleanUtil;
|
import cn.hutool.core.util.BooleanUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import com.tashow.cloud.common.pojo.PageResult;
|
import com.tashow.cloud.common.pojo.PageResult;
|
||||||
import com.tashow.cloud.common.util.collection.CollectionUtils;
|
import com.tashow.cloud.common.util.collection.CollectionUtils;
|
||||||
import com.tashow.cloud.common.util.date.LocalDateTimeUtils;
|
import com.tashow.cloud.common.util.date.LocalDateTimeUtils;
|
||||||
@@ -14,6 +13,7 @@ import com.tashow.cloud.memberapi.api.address.dto.MemberAddressRespDTO;
|
|||||||
import com.tashow.cloud.memberapi.api.user.dto.MemberUserRespDTO;
|
import com.tashow.cloud.memberapi.api.user.dto.MemberUserRespDTO;
|
||||||
import com.tashow.cloud.payapi.api.order.dto.PayOrderCreateReqDTO;
|
import com.tashow.cloud.payapi.api.order.dto.PayOrderCreateReqDTO;
|
||||||
import com.tashow.cloud.payapi.enums.DictTypeConstants;
|
import com.tashow.cloud.payapi.enums.DictTypeConstants;
|
||||||
|
import com.tashow.cloud.productapi.api.product.dto.ProdDO;
|
||||||
import com.tashow.cloud.trade.controller.admin.base.member.user.MemberUserRespVO;
|
import com.tashow.cloud.trade.controller.admin.base.member.user.MemberUserRespVO;
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.*;
|
import com.tashow.cloud.trade.controller.admin.order.vo.*;
|
||||||
import com.tashow.cloud.trade.controller.app.order.vo.*;
|
import com.tashow.cloud.trade.controller.app.order.vo.*;
|
||||||
@@ -36,7 +36,6 @@ import com.tashow.cloud.tradeapi.enums.order.TradeOrderStatusEnum;
|
|||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
import org.mapstruct.Mapping;
|
||||||
import org.mapstruct.Mappings;
|
import org.mapstruct.Mappings;
|
||||||
import org.mapstruct.Named;
|
|
||||||
import org.mapstruct.factory.Mappers;
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -107,21 +106,17 @@ public interface TradeOrderConvert {
|
|||||||
}
|
}
|
||||||
return orderVO;
|
return orderVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Mappings(
|
|
||||||
// @Mapping(target ="items.tradeServeInfo", source = "tradeServeInfo",qualifiedByName = "jsonToMap")
|
|
||||||
// )
|
|
||||||
TradeOrderDetailRespVO convert2(TradeOrderDO order, List<TradeOrderItemDO> items, List<TradeOrderLogDO> statusList);
|
TradeOrderDetailRespVO convert2(TradeOrderDO order, List<TradeOrderItemDO> items, List<TradeOrderLogDO> statusList);
|
||||||
|
//endregion
|
||||||
|
|
||||||
@Named("jsonToMap")
|
|
||||||
default Map<String, Object> jsonToMap(String json) {
|
|
||||||
try {
|
|
||||||
return new ObjectMapper().readValue(json, Map.class);
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException("json转换map出错", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
//region修改订单
|
||||||
|
TradeOrderDO convert(TradeOrderRemarkReqVO reqVO);
|
||||||
|
//endregion
|
||||||
|
|
||||||
|
|
||||||
|
//region 订单快照
|
||||||
|
TradeOrderFastPhotoRespVo convert(TradeOrderItemDO itemDO, ProdDO prodDO);
|
||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
@Mappings({
|
@Mappings({
|
||||||
@@ -272,7 +267,7 @@ public interface TradeOrderConvert {
|
|||||||
|
|
||||||
TradeOrderDO convert(TradeOrderUpdatePriceReqVO reqVO);
|
TradeOrderDO convert(TradeOrderUpdatePriceReqVO reqVO);
|
||||||
|
|
||||||
TradeOrderDO convert(TradeOrderRemarkReqVO reqVO);
|
|
||||||
|
|
||||||
default BrokerageAddReqBO convert(MemberUserRespDTO user, TradeOrderItemDO item,
|
default BrokerageAddReqBO convert(MemberUserRespDTO user, TradeOrderItemDO item,
|
||||||
ProductSpuRespDTO spu, ProductSkuRespDTO sku) {
|
ProductSpuRespDTO spu, ProductSkuRespDTO sku) {
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
package com.tashow.cloud.trade.dal.dataobject.order;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单预约时间修改记录 DO
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@TableName("tz_trade_sub_log")
|
||||||
|
@KeySequence("tz_trade_sub_log_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class TradeSubLogDO extends BaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编号
|
||||||
|
*/
|
||||||
|
@TableId
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 用户编号
|
||||||
|
*/
|
||||||
|
private Long userId;
|
||||||
|
/**
|
||||||
|
* 订单号
|
||||||
|
*/
|
||||||
|
private Long orderId;
|
||||||
|
/**
|
||||||
|
* 预约时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime subTime;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.tashow.cloud.trade.dal.mysql.order;
|
||||||
|
|
||||||
|
import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX;
|
||||||
|
import com.tashow.cloud.trade.dal.dataobject.order.TradeSubLogDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单预约时间修改记录 Mapper
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface TradeSubLogMapper extends BaseMapperX<TradeSubLogDO> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@ import com.tashow.cloud.payapi.api.order.PayOrderApi;
|
|||||||
import com.tashow.cloud.payapi.api.refund.PayRefundApi;
|
import com.tashow.cloud.payapi.api.refund.PayRefundApi;
|
||||||
import com.tashow.cloud.payapi.api.transfer.PayTransferApi;
|
import com.tashow.cloud.payapi.api.transfer.PayTransferApi;
|
||||||
import com.tashow.cloud.payapi.api.wallet.PayWalletApi;
|
import com.tashow.cloud.payapi.api.wallet.PayWalletApi;
|
||||||
|
import com.tashow.cloud.productapi.api.product.ProdApi;
|
||||||
import com.tashow.cloud.systemapi.api.notify.NotifyMessageSendApi;
|
import com.tashow.cloud.systemapi.api.notify.NotifyMessageSendApi;
|
||||||
import com.tashow.cloud.systemapi.api.social.SocialClientApi;
|
import com.tashow.cloud.systemapi.api.social.SocialClientApi;
|
||||||
import com.tashow.cloud.systemapi.api.social.SocialUserApi;
|
import com.tashow.cloud.systemapi.api.social.SocialUserApi;
|
||||||
@@ -16,6 +17,7 @@ import org.springframework.context.annotation.Configuration;
|
|||||||
@Configuration(proxyBeanMethods = false)
|
@Configuration(proxyBeanMethods = false)
|
||||||
@EnableFeignClients(clients = {
|
@EnableFeignClients(clients = {
|
||||||
MemberUserApi.class, MemberAddressApi.class,
|
MemberUserApi.class, MemberAddressApi.class,
|
||||||
|
ProdApi.class,
|
||||||
PayOrderApi.class, PayRefundApi.class, PayTransferApi.class, PayWalletApi.class,
|
PayOrderApi.class, PayRefundApi.class, PayTransferApi.class, PayWalletApi.class,
|
||||||
AdminUserApi.class, NotifyMessageSendApi.class, SocialClientApi.class, SocialUserApi.class
|
AdminUserApi.class, NotifyMessageSendApi.class, SocialClientApi.class, SocialUserApi.class
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.tashow.cloud.trade.service.order;
|
|||||||
|
|
||||||
|
|
||||||
import com.tashow.cloud.common.pojo.PageResult;
|
import com.tashow.cloud.common.pojo.PageResult;
|
||||||
|
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderFastPhotoReqVo;
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageReqVO;
|
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageReqVO;
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderSummaryRespVO;
|
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderSummaryRespVO;
|
||||||
import com.tashow.cloud.trade.controller.app.order.vo.AppTradeOrderPageReqVO;
|
import com.tashow.cloud.trade.controller.app.order.vo.AppTradeOrderPageReqVO;
|
||||||
@@ -157,4 +158,10 @@ public interface TradeOrderQueryService {
|
|||||||
*/
|
*/
|
||||||
List<TradeOrderItemDO> getOrderItemListByOrderId(Collection<Long> orderIds);
|
List<TradeOrderItemDO> getOrderItemListByOrderId(Collection<Long> orderIds);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取订单交易快照
|
||||||
|
* @param reqVo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
TradeOrderItemDO getFastPhoto(TradeOrderFastPhotoReqVo reqVo);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
package com.tashow.cloud.trade.service.order;
|
package com.tashow.cloud.trade.service.order;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.map.MapUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.extra.spring.SpringUtil;
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
import com.tashow.cloud.common.pojo.PageResult;
|
import com.tashow.cloud.common.pojo.PageResult;
|
||||||
|
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderFastPhotoReqVo;
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageReqVO;
|
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageReqVO;
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderSummaryRespVO;
|
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderSummaryRespVO;
|
||||||
import com.tashow.cloud.trade.controller.app.order.vo.AppTradeOrderPageReqVO;
|
import com.tashow.cloud.trade.controller.app.order.vo.AppTradeOrderPageReqVO;
|
||||||
@@ -17,6 +19,7 @@ import com.tashow.cloud.trade.framework.delivery.core.client.ExpressClientFactor
|
|||||||
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackQueryReqDTO;
|
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackQueryReqDTO;
|
||||||
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
|
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
|
||||||
import com.tashow.cloud.trade.service.delivery.DeliveryExpressService;
|
import com.tashow.cloud.trade.service.delivery.DeliveryExpressService;
|
||||||
|
import com.tashow.cloud.tradeapi.enums.order.TradeOrderRefundStatusEnum;
|
||||||
import com.tashow.cloud.tradeapi.enums.order.TradeOrderStatusEnum;
|
import com.tashow.cloud.tradeapi.enums.order.TradeOrderStatusEnum;
|
||||||
import com.tashow.cloud.tradeapi.enums.order.TradeOrderTypeEnum;
|
import com.tashow.cloud.tradeapi.enums.order.TradeOrderTypeEnum;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
@@ -238,4 +241,10 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
|
|||||||
return SpringUtil.getBean(getClass());
|
return SpringUtil.getBean(getClass());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TradeOrderItemDO getFastPhoto(TradeOrderFastPhotoReqVo reqVo) {
|
||||||
|
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,6 +89,12 @@ public interface TradeOrderUpdateService {
|
|||||||
* @param id 订单编号
|
* @param id 订单编号
|
||||||
*/
|
*/
|
||||||
void cancelOrderByMember(Long userId, Long id);
|
void cancelOrderByMember(Long userId, Long id);
|
||||||
|
/**
|
||||||
|
* 【管理员】取消交易订单
|
||||||
|
*
|
||||||
|
* @param id 订单编号
|
||||||
|
*/
|
||||||
|
boolean cancelOrderByAdmin(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 【系统】自动取消订单
|
* 【系统】自动取消订单
|
||||||
|
|||||||
@@ -516,14 +516,33 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
|||||||
throw exception(ORDER_NOT_FOUND);
|
throw exception(ORDER_NOT_FOUND);
|
||||||
}
|
}
|
||||||
// 1.2 校验状态
|
// 1.2 校验状态
|
||||||
// if (ObjectUtil.notEqual(order.getOrderStatus(), TradeOrderStatusEnum.UNPAID.getStatus())) {
|
if (ObjectUtil.notEqual(order.getOrderStatus(), TradeOrderStatusEnum.WAITPAID.getStatus())) {
|
||||||
// throw exception(ORDER_CANCEL_FAIL_STATUS_NOT_UNPAID);
|
throw exception(ORDER_CANCEL_FAIL_STATUS_NOT_UNPAID);
|
||||||
// }
|
}
|
||||||
|
|
||||||
// 2. 取消订单
|
// 2. 取消订单
|
||||||
cancelOrder0(order, TradeOrderCancelTypeEnum.MEMBER_CANCEL);
|
cancelOrder0(order, TradeOrderCancelTypeEnum.MEMBER_CANCEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@TradeOrderLog(operateType = TradeOrderOperateTypeEnum.ADMIN_CANCEL)
|
||||||
|
public boolean cancelOrderByAdmin(Long id) {
|
||||||
|
// 1.1 校验存在
|
||||||
|
TradeOrderDO order = tradeOrderMapper.selectById(id);
|
||||||
|
if (order == null) {
|
||||||
|
throw exception(ORDER_NOT_FOUND);
|
||||||
|
}
|
||||||
|
// 1.2 校验状态
|
||||||
|
if (ObjectUtil.notEqual(order.getOrderStatus(), TradeOrderStatusEnum.WAITPAID.getStatus())) {
|
||||||
|
throw exception(ORDER_CANCEL_FAIL_STATUS_NOT_UNPAID);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. 取消订单
|
||||||
|
cancelOrder0(order, TradeOrderCancelTypeEnum.MEMBER_CANCEL);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int cancelOrderBySystem() {
|
public int cancelOrderBySystem() {
|
||||||
// 1. 查询过期的待支付订单
|
// 1. 查询过期的待支付订单
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package com.tashow.cloud.trade.service.order;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.tashow.cloud.trade.dal.dataobject.order.TradeSubLogDO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单预约时间修改记录 Service 接口
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
public interface TradeSubLogService extends IService<TradeSubLogDO> {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除订单预约时间修改记录
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
*/
|
||||||
|
void deleteTradeSubLog(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得订单预约时间修改记录
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @return 订单预约时间修改记录
|
||||||
|
*/
|
||||||
|
TradeSubLogDO getTradeSubLog(Long id);
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.tashow.cloud.trade.service.order;
|
||||||
|
|
||||||
|
import com.tashow.cloud.trade.dal.dataobject.order.TradeSubLogDO;
|
||||||
|
import com.tashow.cloud.trade.dal.mysql.order.TradeSubLogMapper;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单预约时间修改记录 Service 实现类
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Validated
|
||||||
|
public class TradeSubLogServiceImpl implements TradeSubLogService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private TradeSubLogMapper tradeSubLogMapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteTradeSubLog(Long id) {
|
||||||
|
// 校验存在
|
||||||
|
validateTradeSubLogExists(id);
|
||||||
|
// 删除
|
||||||
|
tradeSubLogMapper.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateTradeSubLogExists(Long id) {
|
||||||
|
if (tradeSubLogMapper.selectById(id) == null) {
|
||||||
|
// throw exception(TRADE_SUB_LOG_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TradeSubLogDO getTradeSubLog(Long id) {
|
||||||
|
return tradeSubLogMapper.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user