调整框架及订单模块
This commit is contained in:
@@ -3,7 +3,7 @@ package com.tashow.cloud.trade.controller.admin.aftersale;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.tashow.cloud.common.pojo.CommonResult;
|
||||
import com.tashow.cloud.common.pojo.PageResult;
|
||||
import com.tashow.cloud.memberapi.api.user.MemberUserApi;
|
||||
import com.tashow.cloud.userapi.api.user.UserMemberApi;
|
||||
import com.tashow.cloud.payapi.api.notify.dto.PayRefundNotifyReqDTO;
|
||||
import com.tashow.cloud.trade.controller.admin.aftersale.vo.*;
|
||||
import com.tashow.cloud.trade.convert.aftersale.AfterSaleConvert;
|
||||
@@ -43,7 +43,7 @@ public class AfterSaleController {
|
||||
@Resource
|
||||
private AfterSaleLogService afterSaleLogService;
|
||||
@Resource
|
||||
private MemberUserApi memberUserApi;
|
||||
private UserMemberApi memberUserApi;
|
||||
|
||||
// 获得售后订单分页
|
||||
@GetMapping("/page")
|
||||
|
||||
@@ -3,7 +3,8 @@ package com.tashow.cloud.trade.controller.admin.order;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.tashow.cloud.common.pojo.CommonResult;
|
||||
import com.tashow.cloud.common.pojo.PageResult;
|
||||
import com.tashow.cloud.memberapi.api.user.MemberUserApi;
|
||||
import com.tashow.cloud.userapi.api.user.UserMemberApi;
|
||||
import com.tashow.cloud.userapi.api.user.dto.UserMemberRespDTO;
|
||||
import com.tashow.cloud.productapi.api.product.ProdApi;
|
||||
import com.tashow.cloud.productapi.api.product.dto.ProdDO;
|
||||
import com.tashow.cloud.trade.controller.admin.order.vo.*;
|
||||
@@ -23,8 +24,10 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.tashow.cloud.common.pojo.CommonResult.success;
|
||||
import static com.tashow.cloud.common.util.collection.CollectionUtils.convertList;
|
||||
import static com.tashow.cloud.common.util.collection.CollectionUtils.convertSet;
|
||||
|
||||
|
||||
@@ -45,7 +48,7 @@ public class TradeOrderController {
|
||||
private TradeOrderLogService tradeOrderLogService;
|
||||
|
||||
@Resource
|
||||
private MemberUserApi memberUserApi;
|
||||
private UserMemberApi memberUserApi;
|
||||
@Resource
|
||||
private ProdApi prodApi;
|
||||
|
||||
@@ -67,8 +70,10 @@ public class TradeOrderController {
|
||||
// 查询订单项
|
||||
List<TradeOrderItemDO> orderItems = tradeOrderQueryService.getOrderItemListByOrderId(
|
||||
convertSet(pageResult.getList(), TradeOrderDO::getId));
|
||||
//查询用户信息
|
||||
Map<Long, UserMemberRespDTO> userMap = memberUserApi.getUserMap(convertList(pageResult.getList(), TradeOrderDO::getUserId));
|
||||
// 最终组合
|
||||
return success(TradeOrderConvert.INSTANCE.convertPage(pageResult, orderItems));
|
||||
return success(TradeOrderConvert.INSTANCE.convertPage(pageResult, orderItems,userMap));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,7 +5,6 @@ package com.tashow.cloud.trade.controller.admin.order.vo;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.tashow.cloud.common.enums.TerminalEnum;
|
||||
import com.tashow.cloud.common.util.json.databind.StringLocalDateTimeSerializer;
|
||||
import com.tashow.cloud.common.validation.InEnum;
|
||||
import com.tashow.cloud.tradeapi.enums.order.TradeOrderStatusEnum;
|
||||
import com.tashow.cloud.tradeapi.enums.order.TradeOrderTypeEnum;
|
||||
import lombok.Data;
|
||||
@@ -34,13 +33,11 @@ public class TradeOrderBaseVO {
|
||||
* 订单来源
|
||||
* {@link TerminalEnum#getTerminal()}
|
||||
*/
|
||||
@InEnum(TerminalEnum.class)
|
||||
private Integer orderTerminal;
|
||||
/**
|
||||
* 订单状态
|
||||
* {@link TradeOrderStatusEnum#getStatus()}
|
||||
*/
|
||||
@InEnum(TradeOrderStatusEnum.class)
|
||||
private Integer orderStatus;
|
||||
|
||||
// 用户编号
|
||||
|
||||
@@ -18,12 +18,18 @@ public class TradeOrderPageRespVO extends TradeOrderBaseVO {
|
||||
private String shopName;
|
||||
//店铺log
|
||||
private String shopLogo;
|
||||
//支付剩余时间
|
||||
private String payLastTime;
|
||||
//客服备注
|
||||
private String merchantRemark;
|
||||
//取消备注
|
||||
private String cancelRemark;
|
||||
//支付剩余时间 单位秒
|
||||
private Long payLastTime;
|
||||
//财务状态
|
||||
private Integer financeStatus;
|
||||
//售后状态
|
||||
private Integer afterSaleStatus;
|
||||
//订单类目
|
||||
private String orderCategoryName;
|
||||
//用户备注
|
||||
private String userRemark;
|
||||
//支付方式
|
||||
private Integer payType;
|
||||
|
||||
|
||||
@Data
|
||||
@@ -38,7 +44,7 @@ public class TradeOrderPageRespVO extends TradeOrderBaseVO {
|
||||
private Integer count;
|
||||
// 订单总价
|
||||
private Integer price;
|
||||
// 订单总价
|
||||
// 订单优惠金额
|
||||
private Integer discountPrice;
|
||||
//到手价
|
||||
private Integer handedPrice;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.tashow.cloud.trade.convert.aftersale;
|
||||
|
||||
import com.tashow.cloud.common.pojo.PageResult;
|
||||
import com.tashow.cloud.memberapi.api.user.dto.MemberUserRespDTO;
|
||||
import com.tashow.cloud.userapi.api.user.dto.UserMemberRespDTO;
|
||||
import com.tashow.cloud.payapi.api.refund.dto.PayRefundCreateReqDTO;
|
||||
import com.tashow.cloud.trade.controller.admin.aftersale.vo.AfterSaleDetailRespVO;
|
||||
import com.tashow.cloud.trade.controller.admin.aftersale.vo.AfterSaleRespPageItemVO;
|
||||
@@ -47,12 +47,12 @@ public interface AfterSaleConvert {
|
||||
})
|
||||
PayRefundCreateReqDTO convert(String userIp, AfterSaleDO afterSale, TradeOrderProperties orderProperties);
|
||||
|
||||
MemberUserRespVO convert(MemberUserRespDTO bean);
|
||||
MemberUserRespVO convert(UserMemberRespDTO bean);
|
||||
|
||||
PageResult<AfterSaleRespPageItemVO> convertPage(PageResult<AfterSaleDO> page);
|
||||
|
||||
default PageResult<AfterSaleRespPageItemVO> convertPage(PageResult<AfterSaleDO> pageResult,
|
||||
Map<Long, MemberUserRespDTO> memberUsers) {
|
||||
Map<Long, UserMemberRespDTO> memberUsers) {
|
||||
PageResult<AfterSaleRespPageItemVO> voPageResult = convertPage(pageResult);
|
||||
// 处理会员
|
||||
voPageResult.getList().forEach(afterSale -> afterSale.setUser(
|
||||
@@ -65,7 +65,7 @@ public interface AfterSaleConvert {
|
||||
PageResult<AppAfterSaleRespVO> convertPage02(PageResult<AfterSaleDO> page);
|
||||
|
||||
default AfterSaleDetailRespVO convert(AfterSaleDO afterSale, TradeOrderDO order, TradeOrderItemDO orderItem,
|
||||
MemberUserRespDTO user, List<AfterSaleLogDO> logs) {
|
||||
UserMemberRespDTO user, List<AfterSaleLogDO> logs) {
|
||||
AfterSaleDetailRespVO respVO = convert02(afterSale);
|
||||
// 处理用户信息
|
||||
respVO.setUser(convert(user));
|
||||
|
||||
@@ -9,8 +9,8 @@ import com.tashow.cloud.common.util.date.LocalDateTimeUtils;
|
||||
import com.tashow.cloud.common.util.ip.AreaUtils;
|
||||
import com.tashow.cloud.common.util.string.StrUtils;
|
||||
import com.tashow.cloud.excel.dict.core.DictFrameworkUtils;
|
||||
import com.tashow.cloud.memberapi.api.address.dto.MemberAddressRespDTO;
|
||||
import com.tashow.cloud.memberapi.api.user.dto.MemberUserRespDTO;
|
||||
import com.tashow.cloud.userapi.api.address.dto.MemberAddressRespDTO;
|
||||
import com.tashow.cloud.userapi.api.user.dto.UserMemberRespDTO;
|
||||
import com.tashow.cloud.payapi.api.order.dto.PayOrderCreateReqDTO;
|
||||
import com.tashow.cloud.payapi.enums.DictTypeConstants;
|
||||
import com.tashow.cloud.productapi.api.product.dto.ProdDO;
|
||||
@@ -55,15 +55,26 @@ public interface TradeOrderConvert {
|
||||
TradeOrderConvert INSTANCE = Mappers.getMapper(TradeOrderConvert.class);
|
||||
|
||||
//region 分页结果
|
||||
default PageResult<TradeOrderPageRespVO> convertPage(PageResult<TradeOrderDO> pageResult, List<TradeOrderItemDO> orderItems) {
|
||||
default PageResult<TradeOrderPageRespVO> convertPage(PageResult<TradeOrderDO> pageResult, List<TradeOrderItemDO> orderItems,Map<Long, UserMemberRespDTO> userMap) {
|
||||
Map<Long, List<TradeOrderItemDO>> orderItemMap = convertMultiMap(orderItems, TradeOrderItemDO::getOrderId);
|
||||
// 转化 List
|
||||
List<TradeOrderPageRespVO> orderVOs = CollectionUtils.convertList(pageResult.getList(), order -> {
|
||||
TradeOrderPageRespVO orderPageRespVO = convertOrder(order,userMap.get(order.getUserId()));
|
||||
|
||||
List<TradeOrderPageRespVO.Item> items = new ArrayList<>();
|
||||
List<TradeOrderItemDO> itemDO = orderItemMap.get(order.getId());
|
||||
TradeOrderPageRespVO orderPageRespVO = convert(order, itemDO);
|
||||
orderPageRespVO.getItems().stream().forEach(item -> {
|
||||
item.setHandedPrice(item.getPrice() - item.getDiscountPrice());
|
||||
});
|
||||
for (TradeOrderItemDO tradeOrderItemDO : itemDO) {
|
||||
TradeOrderPageRespVO.Item item = convertItem(tradeOrderItemDO);
|
||||
item.setHandedPrice(tradeOrderItemDO.getPrice() - tradeOrderItemDO.getDiscountPrice());
|
||||
orderPageRespVO.setShopName(tradeOrderItemDO.getShopName());
|
||||
orderPageRespVO.setShopLogo(tradeOrderItemDO.getShopLogo());
|
||||
orderPageRespVO.setOrderCategoryName(tradeOrderItemDO.getOrderCategoryName());
|
||||
//支付剩余时间 单位miao
|
||||
orderPageRespVO.setPayLastTime(LocalDateTimeUtils.betweenWithNow(order.getPayTime()));
|
||||
items.add(item);
|
||||
}
|
||||
orderPageRespVO.setItems(items);
|
||||
|
||||
return orderPageRespVO;
|
||||
});
|
||||
return new PageResult<>(orderVOs, pageResult.getTotal());
|
||||
@@ -72,9 +83,13 @@ public interface TradeOrderConvert {
|
||||
@Mappings({
|
||||
@Mapping(source = "order.id", target = "id"),
|
||||
@Mapping(source = "order.userId", target = "userId"),
|
||||
@Mapping(source = "order.merchantRemark", target = "merchantRemark"),
|
||||
@Mapping(source = "order.createTime", target = "createTime"),
|
||||
@Mapping(source = "user.nickname", target = "userNickName"),
|
||||
@Mapping(source = "user.avatar", target = "userAvatar"),
|
||||
})
|
||||
TradeOrderPageRespVO convert(TradeOrderDO order, List<TradeOrderItemDO> items);
|
||||
TradeOrderPageRespVO convertOrder(TradeOrderDO order,UserMemberRespDTO user);
|
||||
|
||||
TradeOrderPageRespVO.Item convertItem(TradeOrderItemDO item);
|
||||
//endregion
|
||||
|
||||
//region 订单详情
|
||||
@@ -174,7 +189,7 @@ public interface TradeOrderConvert {
|
||||
return createReqDTO;
|
||||
}
|
||||
|
||||
MemberUserRespVO convert(MemberUserRespDTO bean);
|
||||
MemberUserRespVO convert(UserMemberRespDTO bean);
|
||||
|
||||
default PageResult<AppTradeOrderPageItemRespVO> convertPage02(PageResult<TradeOrderDO> pageResult,
|
||||
List<TradeOrderItemDO> orderItems) {
|
||||
@@ -274,7 +289,7 @@ public interface TradeOrderConvert {
|
||||
|
||||
|
||||
|
||||
default BrokerageAddReqBO convert(MemberUserRespDTO user, TradeOrderItemDO item,
|
||||
default BrokerageAddReqBO convert(UserMemberRespDTO user, TradeOrderItemDO item,
|
||||
ProductSpuRespDTO spu, ProductSkuRespDTO sku) {
|
||||
BrokerageAddReqBO bo = new BrokerageAddReqBO().setBizId(String.valueOf(item.getId())).setSourceUserId(item.getUserId())
|
||||
.setBasePrice(item.getPayPrice())
|
||||
|
||||
@@ -68,6 +68,10 @@ public class TradeOrderItemDO extends BaseDO {
|
||||
* 店铺名称
|
||||
*/
|
||||
private String shopName;
|
||||
/**
|
||||
* 店铺logo
|
||||
*/
|
||||
private String shopLogo;
|
||||
/**
|
||||
* 订单类目id
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.tashow.cloud.trade.framework.rpc.config;
|
||||
|
||||
import com.tashow.cloud.memberapi.api.address.MemberAddressApi;
|
||||
import com.tashow.cloud.memberapi.api.user.MemberUserApi;
|
||||
import com.tashow.cloud.userapi.api.address.MemberAddressApi;
|
||||
import com.tashow.cloud.userapi.api.user.UserMemberApi;
|
||||
import com.tashow.cloud.payapi.api.order.PayOrderApi;
|
||||
import com.tashow.cloud.payapi.api.refund.PayRefundApi;
|
||||
import com.tashow.cloud.payapi.api.transfer.PayTransferApi;
|
||||
@@ -16,7 +16,7 @@ import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@EnableFeignClients(clients = {
|
||||
MemberUserApi.class, MemberAddressApi.class,
|
||||
UserMemberApi.class, MemberAddressApi.class,
|
||||
ProdApi.class,
|
||||
PayOrderApi.class, PayRefundApi.class, PayTransferApi.class, PayWalletApi.class,
|
||||
AdminUserApi.class, NotifyMessageSendApi.class, SocialClientApi.class, SocialUserApi.class
|
||||
|
||||
@@ -11,8 +11,8 @@ import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.tashow.cloud.common.enums.UserTypeEnum;
|
||||
import com.tashow.cloud.common.util.json.JsonUtils;
|
||||
import com.tashow.cloud.common.util.number.MoneyUtils;
|
||||
import com.tashow.cloud.memberapi.api.address.MemberAddressApi;
|
||||
import com.tashow.cloud.memberapi.api.address.dto.MemberAddressRespDTO;
|
||||
import com.tashow.cloud.userapi.api.address.MemberAddressApi;
|
||||
import com.tashow.cloud.userapi.api.address.dto.MemberAddressRespDTO;
|
||||
import com.tashow.cloud.payapi.api.order.PayOrderApi;
|
||||
import com.tashow.cloud.payapi.api.order.dto.PayOrderCreateReqDTO;
|
||||
import com.tashow.cloud.payapi.api.refund.PayRefundApi;
|
||||
|
||||
Reference in New Issue
Block a user