mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-16 12:05:07 +08:00
Merge remote-tracking branch 'yudao/develop' into develop
This commit is contained in:
@ -82,6 +82,7 @@ public class DiyTemplateController {
|
||||
return success(DiyTemplateConvert.INSTANCE.convertPage(pageResult));
|
||||
}
|
||||
|
||||
// TODO @疯狂:这个要不和 getDiyTemplate 合并,然后 DiyTemplateRespVO 里面直接把 DiyPagePropertyRespVO 也加上。减少 VO 好了,管理后台 get 多返回点数据,也问题不大的。目的,还是想尽可能降低大家的理解成本哈;
|
||||
@GetMapping("/get-property")
|
||||
@Operation(summary = "获得装修模板属性")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@ -92,6 +93,7 @@ public class DiyTemplateController {
|
||||
return success(DiyTemplateConvert.INSTANCE.convertPropertyVo(diyTemplate, pages));
|
||||
}
|
||||
|
||||
// TODO @疯狂:这个接口,要不和 useDiyTemplate 合并成一个,然后 VO 改成我们新的 VO 规范。不改的字段,就不传递。
|
||||
@PutMapping("/update-property")
|
||||
@Operation(summary = "更新装修模板属性")
|
||||
@PreAuthorize("@ss.hasPermission('promotion:diy-template:update')")
|
||||
|
@ -25,6 +25,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
@RestController
|
||||
@RequestMapping("/promotion/decorate")
|
||||
@Validated
|
||||
@Deprecated // 废弃
|
||||
public class AppDecorateController {
|
||||
|
||||
@Resource
|
||||
|
@ -33,6 +33,7 @@ public class AppDiyTemplateController {
|
||||
@Resource
|
||||
private DiyPageService diyPageService;
|
||||
|
||||
// TODO @疯狂:要不要把 used 和 get 接口合并哈;不传递 id,直接拿默认;
|
||||
@GetMapping("/used")
|
||||
@Operation(summary = "使用中的装修模板")
|
||||
public CommonResult<AppDiyTemplatePropertyRespVO> getUsedDiyTemplate() {
|
||||
@ -54,6 +55,7 @@ public class AppDiyTemplateController {
|
||||
}
|
||||
// 查询模板下的页面
|
||||
List<DiyPageDO> pages = diyPageService.getDiyPageByTemplateId(diyTemplate.getId());
|
||||
// TODO @疯狂:首页、我的,要不枚举到 DiyPageDO 例如说 NAME_USER,NAME_HOME 类似这种哈;
|
||||
String home = findFirst(pages, page -> "首页".equals(page.getName()), DiyPageDO::getProperty);
|
||||
String user = findFirst(pages, page -> "我的".equals(page.getName()), DiyPageDO::getProperty);
|
||||
// 拼接返回
|
||||
|
@ -44,6 +44,7 @@ public class DiyPageDO extends BaseDO {
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
// TODO @疯狂:这个字段要不改成 previewPicUrls,和别的模块一样用 pic 作为图片哇?
|
||||
/**
|
||||
* 预览图,多个逗号分隔
|
||||
*/
|
||||
|
@ -50,13 +50,14 @@ public class DiyTemplateDO extends BaseDO {
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
// TODO @疯狂:这个字段要不改成 previewPicUrls,和别的模块一样用 pic 作为图片哇?
|
||||
/**
|
||||
* 预览图
|
||||
*/
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> previewImageUrls;
|
||||
/**
|
||||
* 底部导航属性,JSON 格式
|
||||
* uni-app 底部导航属性,JSON 格式
|
||||
*/
|
||||
private String property;
|
||||
|
||||
|
@ -61,9 +61,8 @@ public class AppTradeOrderController {
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建订单")
|
||||
@PreAuthenticated
|
||||
public CommonResult<AppTradeOrderCreateRespVO> createOrder(@Valid @RequestBody AppTradeOrderCreateReqVO createReqVO,
|
||||
@RequestHeader Integer terminal) {
|
||||
TradeOrderDO order = tradeOrderUpdateService.createOrder(getLoginUserId(), getClientIP(), createReqVO, terminal);
|
||||
public CommonResult<AppTradeOrderCreateRespVO> createOrder(@Valid @RequestBody AppTradeOrderCreateReqVO createReqVO) {
|
||||
TradeOrderDO order = tradeOrderUpdateService.createOrder(getLoginUserId(), createReqVO);
|
||||
return success(new AppTradeOrderCreateRespVO().setId(order.getId()).setPayOrderId(order.getPayOrderId()));
|
||||
}
|
||||
|
||||
|
@ -69,8 +69,7 @@ public interface TradeOrderConvert {
|
||||
@Mapping(source = "calculateRespBO.price.vipPrice", target = "vipPrice"),
|
||||
@Mapping(source = "calculateRespBO.price.payPrice", target = "payPrice")
|
||||
})
|
||||
TradeOrderDO convert(Long userId, String userIp, AppTradeOrderCreateReqVO createReqVO,
|
||||
TradePriceCalculateRespBO calculateRespBO);
|
||||
TradeOrderDO convert(Long userId, AppTradeOrderCreateReqVO createReqVO, TradePriceCalculateRespBO calculateRespBO);
|
||||
|
||||
TradeOrderRespDTO convert(TradeOrderDO orderDO);
|
||||
|
||||
|
@ -36,12 +36,10 @@ public interface TradeOrderUpdateService {
|
||||
* 【会员】创建交易订单
|
||||
*
|
||||
* @param userId 登录用户
|
||||
* @param userIp 用户 IP 地址
|
||||
* @param createReqVO 创建交易订单请求模型
|
||||
* @param terminal 终端 {@link TerminalEnum}
|
||||
* @return 交易订单的
|
||||
*/
|
||||
TradeOrderDO createOrder(Long userId, String userIp, AppTradeOrderCreateReqVO createReqVO, Integer terminal);
|
||||
TradeOrderDO createOrder(Long userId, AppTradeOrderCreateReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新交易订单已支付
|
||||
|
@ -64,6 +64,8 @@ import java.util.Set;
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
|
||||
import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.minusTime;
|
||||
import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
|
||||
import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getTerminal;
|
||||
import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
@ -158,11 +160,11 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@TradeOrderLog(operateType = TradeOrderOperateTypeEnum.MEMBER_CREATE)
|
||||
public TradeOrderDO createOrder(Long userId, String userIp, AppTradeOrderCreateReqVO createReqVO, Integer terminal) {
|
||||
public TradeOrderDO createOrder(Long userId, AppTradeOrderCreateReqVO createReqVO) {
|
||||
// 1.1 价格计算
|
||||
TradePriceCalculateRespBO calculateRespBO = calculatePrice(userId, createReqVO);
|
||||
// 1.2 构建订单
|
||||
TradeOrderDO order = buildTradeOrder(userId, userIp, createReqVO, calculateRespBO, terminal);
|
||||
TradeOrderDO order = buildTradeOrder(userId, createReqVO, calculateRespBO);
|
||||
List<TradeOrderItemDO> orderItems = buildTradeOrderItems(order, calculateRespBO);
|
||||
|
||||
// 2. 订单创建前的逻辑
|
||||
@ -178,15 +180,15 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
||||
return order;
|
||||
}
|
||||
|
||||
private TradeOrderDO buildTradeOrder(Long userId, String clientIp, AppTradeOrderCreateReqVO createReqVO,
|
||||
TradePriceCalculateRespBO calculateRespBO, Integer terminal) {
|
||||
TradeOrderDO order = TradeOrderConvert.INSTANCE.convert(userId, clientIp, createReqVO, calculateRespBO);
|
||||
private TradeOrderDO buildTradeOrder(Long userId, AppTradeOrderCreateReqVO createReqVO,
|
||||
TradePriceCalculateRespBO calculateRespBO) {
|
||||
TradeOrderDO order = TradeOrderConvert.INSTANCE.convert(userId, createReqVO, calculateRespBO);
|
||||
order.setType(calculateRespBO.getType());
|
||||
order.setNo(tradeNoRedisDAO.generate(TradeNoRedisDAO.TRADE_ORDER_NO_PREFIX));
|
||||
order.setStatus(TradeOrderStatusEnum.UNPAID.getStatus());
|
||||
order.setRefundStatus(TradeOrderRefundStatusEnum.NONE.getStatus());
|
||||
order.setProductCount(getSumValue(calculateRespBO.getItems(), TradePriceCalculateRespBO.OrderItem::getCount, Integer::sum));
|
||||
order.setTerminal(terminal);
|
||||
order.setUserIp(getClientIP()).setTerminal(getTerminal());
|
||||
// 支付 + 退款信息
|
||||
order.setAdjustPrice(0).setPayStatus(false);
|
||||
order.setRefundStatus(TradeOrderRefundStatusEnum.NONE.getStatus()).setRefundPrice(0);
|
||||
|
Reference in New Issue
Block a user