提交 c7a6a354 作者: xiaowang

租赁订单下单

上级 de8e5ad1
package com.mmc.oms.common.util; package com.mmc.oms.common.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random; import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;
/** /**
* @Author small * @Author small
...@@ -243,4 +246,14 @@ public class CodeUtil { ...@@ -243,4 +246,14 @@ public class CodeUtil {
return "AC" + CodeUtil.getRandomNum(5); return "AC" + CodeUtil.getRandomNum(5);
} }
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
private static final AtomicInteger counter = new AtomicInteger(0);
public static String generateOrderId() {
Date now = new Date();
String dateString = sdf.format(now);
int count = counter.incrementAndGet();
return "ORD" + dateString + String.format("%04d", count);
}
} }
package com.mmc.oms.controller.lease;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.controller.BaseController;
import com.mmc.oms.model.dto.lease.LeaseOrderDTO;
import com.mmc.oms.model.vo.lease.AddLeaseOrderVO;
import com.mmc.oms.service.lease.LeaseOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/**
* @author: lw
* @Date: 2023/9/21 16:29
*/
@Api(tags = {"最新版--租赁订单接口"})
@RestController
@RequestMapping("/lease/order/")
public class LeaseOrderController extends BaseController {
@Resource
private LeaseOrderService leaseOrderService;
@ApiOperation(value = "提交订单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = LeaseOrderDTO.class)})
@PostMapping("addLeaseOrder")
public ResultBody<LeaseOrderDTO> addLeaseOrder(@RequestBody AddLeaseOrderVO param, HttpServletRequest request) {
return leaseOrderService.addLeaseOrder(param, this.getCurrentAccount(request));
}
}
package com.mmc.oms.dao.lease;
import com.mmc.oms.entity.lease.LeaseOrderDO;
import com.mmc.oms.entity.lease.LeaseOrderExpressDO;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author LW
* @date 2023/9/21 16:48
* 概要:
*/
@Mapper
public interface LeaseOrderDao {
void addOrder(LeaseOrderDO leaseOrderDO);
void addAddress(LeaseOrderExpressDO leaseOrderExpressDO);
}
package com.mmc.oms.entity.lease;
import com.mmc.oms.model.dto.lease.LeaseOrderDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* (LeaseOrderDO)实体类
*
* @author makejava
* @since 2023-09-21 16:59:10
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LeaseOrderDO implements Serializable {
private static final long serialVersionUID = -58305538180098964L;
private Integer id;
/**
* 订单编号
*/
private String orderNo;
/**
* 订单状态
*/
private Integer statusCode;
/**
* 下单用户id
*/
private Integer userAccountId;
/**
* 租赁商品id
*/
private Integer leaseGoodsId;
/**
* 商家企业名称
*/
private String companyName;
/**
* 商家id
*/
private Integer thirdBackUserAccountId;
/**
* 商品标题
*/
private String orderName;
/**
* sku图片/商品图片
*/
private String skuImg;
/**
* 订单总金额
*/
private BigDecimal orderTotalAmount;
/**
* 抵扣佣金金额
*/
private BigDecimal salaryAmount;
/**
* 抵扣云享金金额
*/
private BigDecimal shareAmount;
/**
* 其他渠道应支付金额
*/
private BigDecimal otherAmount;
/**
* 支付方式,wechatpay微信,alipay支付宝,offline线下
*/
private String payType;
/**
* 用户收货地址id
*/
private Integer userAddressId;
/**
* 买家备注信息
*/
private String userRemark;
/**
* 商家备注信息
*/
private String sellerRemark;
/**
* 支付时间
*/
private Date payTime;
/**
* 确认收货时间(成交时间)
*/
private Date confirmReceiptTime;
/**
* 修改版本
*/
private Integer version;
/**
* 评价状态
*/
private Integer remarkStatus;
/**
* 订单分成比例(平台收取)
*/
private Integer proportion;
/**
* 用户删除(0用户不可看,1用户可看)
* (假删除,后台还能看到)
*/
private Integer showUserPort;
/**
* 生成订单时间(下单时间)
*/
private Date createTime;
/**
* 最近修改时间
*/
private Date updateTime;
/**
* 单价 元/天
*/
private BigDecimal unitPrice;
/**
* 购买的商品数量
*/
private Integer wareNum;
/**
* 押金
*/
private BigDecimal deposit;
/**
* 租约开始日
*/
private Date startDate;
/**
* 租约结束日
*/
private Date endDate;
/**
* 关闭原因
*/
private String shutReason;
/**
* sku
*/
private String sku;
/**
* 发货时间
*/
private Date sendWareTime;
public LeaseOrderDTO buildLeaseOrderDTO() {
return LeaseOrderDTO.builder().id(id).orderNo(orderNo).statusCode(statusCode).userAccountId(userAccountId)
.thirdBackUserAccountId(thirdBackUserAccountId).companyName(companyName).orderTotalAmount(orderTotalAmount)
.salaryAmount(salaryAmount).shareAmount(shareAmount).otherAmount(otherAmount).payType(payType).payTime(payTime)
.startDate(startDate).endDate(endDate).userRemark(userRemark).sellerRemark(sellerRemark).createTime(createTime)
.confirmReceiptTime(confirmReceiptTime).remarkStatus(remarkStatus).sku(sku).skuImg(skuImg).build();
}
}
package com.mmc.oms.entity.lease;
import com.mmc.oms.entity.mall.UserAddressDO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* (LeaseOrderExpressDO)实体类
*
* @author makejava
* @since 2023-09-22 15:02:22
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LeaseOrderExpressDO implements Serializable {
private static final long serialVersionUID = -24578000103219438L;
private Integer id;
private Integer leaseOrderId;
private String sendExpNo;
private String sendExpCode;
/**
* 收货人姓名
*/
private String takeName;
/**
* 收货人电话
*/
private String takePhone;
/**
* 收货地区
*/
private String takeRegion;
/**
* 收货详细地址
*/
private String takeAddress;
/**
* 发货时间
*/
private Date sendTime;
/**
* 是否已签收
*/
private Integer isReceive;
/**
* 收货人签收时间
*/
private Date receiveTime;
private Date updateTime;
private Date createTime;
public LeaseOrderExpressDO(UserAddressDO userAddressDO) {
this.takeName = userAddressDO.getTakeName();
this.takePhone = userAddressDO.getTakePhone();
this.takeRegion = userAddressDO.getTakeRegion();
this.takeAddress = userAddressDO.getTakeAddress();
}
}
package com.mmc.oms.enums;
/**
* @author: zj
* @Date: 2023/9/4 14:36
*/
public enum LeaseOrderStatus {
PLACED_AN_ORDER(100, "已下单", "待付款"),
PAID(200, "已付款", "等发货"),
SHIPPED(300, "卖家已发货", "待买家收货"),
TO_BE_RETURNED(400, "待归还", "待归还"),
WAITING_MERCHANT_CONFIRM(500, "等待商家确认", "等待商家确认"),
COMPLETE_TRANSACTION(600, "交易完成", "交易完成"),
APPLY_REFUND(700, "申请退款", "退款中"),
CLOSE(999, "订单关闭", "订单关闭");
public Integer getCode() {
return code;
}
public String getDoing() {
return doing;
}
public String getWaiting() {
return waiting;
}
LeaseOrderStatus(Integer code, String doing, String waiting) {
this.code = code;
this.doing = doing;
this.waiting = waiting;
}
private Integer code;
private String doing;
private String waiting;
}
package com.mmc.oms.enums;
/**
* @author: lw
* @Date: 2023/9/4 14:36
*/
public enum LeaseTermInfo {
THREE_DAY(1, 3, "三天"),
SEVEN_DAY(2, 7, "七天"),
THIRTY_DAY(3, 30, "三十天"),
NINETY_DAY(4, 90, "九十天"),
ONE_HUNDRED_AND_EIGHTY_DAY(5, 180, "一百八十天");
public Integer getId() {
return id;
}
public Integer getDays() {
return days;
}
public String getDescription() {
return description;
}
LeaseTermInfo(Integer id, Integer days, String description) {
this.id = id;
this.days = days;
this.description = description;
}
private Integer id;
private Integer days;
private String description;
}
...@@ -4,8 +4,12 @@ import com.mmc.oms.common.result.ResultBody; ...@@ -4,8 +4,12 @@ import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.feign.hystrix.PmsAppApiHystrix; import com.mmc.oms.feign.hystrix.PmsAppApiHystrix;
import com.mmc.oms.model.dto.uav.UavCartDTO; import com.mmc.oms.model.dto.uav.UavCartDTO;
import com.mmc.oms.model.qo.uav.PriceStockQO; import com.mmc.oms.model.qo.uav.PriceStockQO;
import com.mmc.oms.model.vo.lease.LeaseGoodsVO;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
...@@ -20,4 +24,7 @@ public interface PmsAppApi { ...@@ -20,4 +24,7 @@ public interface PmsAppApi {
@PostMapping("app/goods/listPriceStock") @PostMapping("app/goods/listPriceStock")
List<UavCartDTO> listPriceStock(@RequestBody List<PriceStockQO> priceStockQOS); List<UavCartDTO> listPriceStock(@RequestBody List<PriceStockQO> priceStockQOS);
@GetMapping("app/lease/leaseGoodsDetails")
ResultBody<LeaseGoodsVO> leaseGoodsDetails(@RequestParam Integer id);
} }
...@@ -5,8 +5,8 @@ import com.mmc.oms.common.result.ResultBody; ...@@ -5,8 +5,8 @@ import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.feign.PmsAppApi; import com.mmc.oms.feign.PmsAppApi;
import com.mmc.oms.model.dto.uav.UavCartDTO; import com.mmc.oms.model.dto.uav.UavCartDTO;
import com.mmc.oms.model.qo.uav.PriceStockQO; import com.mmc.oms.model.qo.uav.PriceStockQO;
import com.mmc.oms.model.vo.lease.LeaseGoodsVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List; import java.util.List;
...@@ -18,7 +18,7 @@ import java.util.List; ...@@ -18,7 +18,7 @@ import java.util.List;
public class PmsAppApiHystrix implements PmsAppApi { public class PmsAppApiHystrix implements PmsAppApi {
@Override @Override
public ResultBody feignLeaseGoodsInfoByAddressId(Integer id) { public ResultBody feignLeaseGoodsInfoByAddressId(Integer id) {
log.info("熔断:PmsAppApiHystrix.feignLeaseGoodsInfoByAddressId==error==>param:{}",id); log.info("熔断:PmsAppApiHystrix.feignLeaseGoodsInfoByAddressId==error==>param:{}", id);
return null; return null;
} }
...@@ -27,4 +27,10 @@ public class PmsAppApiHystrix implements PmsAppApi { ...@@ -27,4 +27,10 @@ public class PmsAppApiHystrix implements PmsAppApi {
log.info("熔断:PmsAppApiHystrix.listPriceStock==error==>param:{}", JSONObject.toJSONString(priceStockQOS)); log.info("熔断:PmsAppApiHystrix.listPriceStock==error==>param:{}", JSONObject.toJSONString(priceStockQOS));
return null; return null;
} }
@Override
public ResultBody<LeaseGoodsVO> leaseGoodsDetails(Integer id) {
log.info("熔断:PmsAppApiHystrix.leaseGoodsDetails==error==>param:{}", id);
return null;
}
} }
package com.mmc.oms.model.dto.lease;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mmc.oms.model.dto.kdn.KdnExpDTO;
import com.mmc.oms.model.dto.uav.UavOrderExpressDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author: lw
* @Date: 2023/9/4 14:50
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "最新版-订单")
public class LeaseOrderDTO implements Serializable {
private static final long serialVersionUID = 7548192478556457453L;
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("订单状态")
private Integer statusCode;
@ApiModelProperty("买家id")
private Integer userAccountId;
@ApiModelProperty("买家手机号")
private String phoneNum;
@ApiModelProperty("买家姓名")
private String userName;
@ApiModelProperty("买家昵称")
private String nickname;
@ApiModelProperty("卖家id")
private Integer thirdBackUserAccountId;
@ApiModelProperty("卖家企业名称")
private String companyName;
@ApiModelProperty("订单实付总额")
private BigDecimal orderTotalAmount;
@ApiModelProperty("订单需付金额")
private BigDecimal needPayAmount;
@ApiModelProperty("抵扣佣金余额")
private BigDecimal salaryAmount;
@ApiModelProperty("抵扣云享金余额")
private BigDecimal shareAmount;
@ApiModelProperty("其他方式支付额度")
private BigDecimal otherAmount;
@ApiModelProperty("wechatpay微信,alipay支付宝,offline线下")
private String payType;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("租赁开始时间")
private Date startDate;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("租赁结束时间")
private Date endDate;
@ApiModelProperty("买家备注")
private String userRemark;
@ApiModelProperty("卖家备注")
private String sellerRemark;
@ApiModelProperty("下单时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("支付时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date payTime;
@ApiModelProperty("确认收货时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date confirmReceiptTime;
@ApiModelProperty(value = "修改版本", hidden = true)
private Integer version;
@ApiModelProperty("评价状态")
private Integer remarkStatus;
@ApiModelProperty("最近修改时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
@ApiModelProperty("用户收货地址信息")
private UavOrderExpressDTO uavOrderExpressDTO;
@ApiModelProperty("快递信息")
private KdnExpDTO kdnExpDTO;
@ApiModelProperty("订单规格列表")
private String sku;
@ApiModelProperty("sku图片")
private String skuImg;
@ApiModelProperty("运费")
private String modeOfDeliveryInfo;
}
package com.mmc.oms.model.vo.lease;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author: lw
* @Date: 2023/9/21 16:01
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AddLeaseOrderVO implements Serializable {
private static final long serialVersionUID = 2749055915508197141L;
@ApiModelProperty("商家id")
private Integer thirdBackUserAccountId;
@ApiModelProperty("卖家企业名称")
private String companyName;
@ApiModelProperty("租赁商品id")
private Integer leaseGoodsId;
@ApiModelProperty("收货地址id")
private Integer userAddressId;
@ApiModelProperty(value = "订单实付总额", hidden = true)
private BigDecimal orderTotalAmount;
@ApiModelProperty(value = "抵扣钱包余额", hidden = true)
private BigDecimal walletAmount;
@ApiModelProperty(value = "抵扣云享金余额", hidden = true)
private BigDecimal shareAmount;
@ApiModelProperty(value = "其他方式支付额度", hidden = true)
private BigDecimal otherAmount;
@ApiModelProperty(value = "租期", hidden = true)
private Integer leaseTerm;
@ApiModelProperty("用户备注")
private String userRemark;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("租赁开始时间")
private Date startDate;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("租赁结束时间")
private Date endDate;
@ApiModelProperty("购买数量")
private Integer wareNum;
@ApiModelProperty(value = "单价", hidden = true)
private BigDecimal unitPrice;
@ApiModelProperty(value = "押金", hidden = true)
private BigDecimal deposit;
@ApiModelProperty("sku")
private String sku;
@ApiModelProperty("是否抵扣云享金,0否,1是")
private Integer deductShareAmount;
@ApiModelProperty("是否抵扣余额,0否,1是")
private Integer deductSalaryAmount;
}
package com.mmc.oms.model.vo.lease;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mmc.oms.common.publicinterface.Create;
import com.mmc.oms.common.publicinterface.Update;
import com.mmc.oms.model.vo.uav.GoodsResourcesVO;
import com.mmc.oms.model.vo.uav.SpecAttrVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Author LW
* @date 2023/7/24 17:44
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class LeaseGoodsVO implements Serializable {
private static final long serialVersionUID = -3147170430919703826L;
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空", groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "商品标题", example = "商品标题", required = true)
@NotEmpty(message = "商品标题不能为空", groups = {Update.class, Create.class})
private String tradeName;
@ApiModelProperty(value = "商品卖点", example = "商品卖点")
private String sellingPoint;
@ApiModelProperty(value = "商品成新", example = "1", required = true)
private Integer level;
@ApiModelProperty(value = "商品状态 :0下架 1上架", example = "1", required = true)
@NotNull(message = "商品状态不能为空", groups = {Update.class, Create.class})
private Integer shelfStatus;
@ApiModelProperty(value = "商品类型id", example = "1", required = true)
@NotNull(message = "商品类型id不能为空", groups = {Update.class, Create.class})
private Integer productTypeId;
@ApiModelProperty(value = "品牌id", example = "2", required = true)
@NotNull(message = "品牌id不能为空", groups = {Update.class, Create.class})
private Integer brandInfoId;
@ApiModelProperty(value = "型号id", example = "2", required = true)
@NotNull(message = "型号id不能为空", groups = {Update.class, Create.class})
private Integer deviceModeId;
@ApiModelProperty(value = "商品参数", example = "示例:[{\"起飞重量\":\"595g\"}]")
private String productParam;
@ApiModelProperty(value = "商品资源:图片or视频及其他")
@NotEmpty(message = "图片不能为空")
private List<GoodsResourcesVO> resourcesList;
@ApiModelProperty(value = "规格")
@NotEmpty(message = "规格不能为空", groups = {Update.class, Create.class})
private List<SpecAttrVO> specAttrList;
@ApiModelProperty(value = "价格库存排列组合表信息")
private List<LeasePriceStockVO> priceStock;
@ApiModelProperty(value = "商品详情 富文本")
private String productDetails;
@ApiModelProperty(value = "最短租期")
private Integer minLeaseTerm;
@ApiModelProperty(value = "最长租期")
private Integer maxLeaseTerm;
@ApiModelProperty(value = "发货地址")
private Integer shipAddress;
@ApiModelProperty(value = "归还地址")
private Integer returnAddress;
@ApiModelProperty(value = "寄出物流")
private String logisticsCompany;
@ApiModelProperty(value = "配送方式")
private Integer modeOfDelivery;
@ApiModelProperty(value = "展示最低价", example = "1")
private BigDecimal showPrice;
@ApiModelProperty(value = "创建时间 用作列表回显", hidden = true)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty(value = "店铺id 小程序用", hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "押金范围", hidden = true)
private String cashPledgeRange;
@ApiModelProperty(value = "租金范围", hidden = true)
private String rentalRange;
@ApiModelProperty(value = "库存", hidden = true)
private Integer stock;
@ApiModelProperty(value = "市code编码")
private String districtCode;
@ApiModelProperty(value = "类型名称", hidden = true)
private String productTypeName;
@ApiModelProperty(value = "品牌名称", hidden = true)
private String brandName;
@ApiModelProperty(value = "型号名称", hidden = true)
private String deviceModeName;
@ApiModelProperty(value = "配送方式信息", hidden = true)
private String modeOfDeliveryInfo;
@ApiModelProperty(value = "企业名称", hidden = true)
private String companyName;
}
package com.mmc.oms.model.vo.lease;
import com.mmc.oms.common.publicinterface.Create;
import com.mmc.oms.common.publicinterface.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author LW
* @date 2023/8/8 10:48
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class LeasePriceStockVO implements Serializable {
private static final long serialVersionUID = 1011141620995647903L;
@ApiModelProperty(value = "id", example = "1")
private Integer id;
@ApiModelProperty(value = "商品规格", example = "示例:{\"颜色\":\"蓝色\",\"尺寸\":\"1寸\",\"大小\":\"小\"} 或 [\"颜色\":\"蓝色\",\"尺寸\":\"1寸\",\"大小\":\"小\"] 或 你怎么方便怎么来")
@NotEmpty(message = "商品规格不能为空", groups = {Update.class, Create.class})
private String productSpec;
@ApiModelProperty(value = "押金", example = "1")
private BigDecimal cashPledge;
@ApiModelProperty(value = "3天租金", example = "1")
private BigDecimal threeDaysRental;
@ApiModelProperty(value = "7天租金", example = "1")
private BigDecimal sevenDaysRental;
@ApiModelProperty(value = "30天租金", example = "1")
private BigDecimal thirtyDaysRental;
@ApiModelProperty(value = "90天租金", example = "1")
private BigDecimal ninetyDaysRental;
@ApiModelProperty(value = "180天租金", example = "1")
private BigDecimal maxDaysRental;
@ApiModelProperty(value = "sku图片", example = "https://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/35bbd044-7cd7-4c85-ba27-69776e03dbb2.jpg")
private String skuImage;
@ApiModelProperty(value = "库存", example = "10")
@Max(message = "最大不能超过9999", groups = {Update.class, Create.class}, value = 9999)
private Integer stock;
@ApiModelProperty(value = "是否缺货 0:否 1:是")
private Integer stockOut;
}
package com.mmc.oms.service.lease;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.model.dto.lease.LeaseOrderDTO;
import com.mmc.oms.model.dto.user.BaseAccountDTO;
import com.mmc.oms.model.vo.lease.AddLeaseOrderVO;
/**
* @Author LW
* @date 2023/9/21 16:38
* 概要:
*/
public interface LeaseOrderService {
ResultBody<LeaseOrderDTO> addLeaseOrder(AddLeaseOrderVO param, BaseAccountDTO currentAccount);
}
package com.mmc.oms.service.uav; package com.mmc.oms.service.uav;
import com.mmc.oms.common.result.ResultBody; import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.model.dto.ContractInfoDTO;
import com.mmc.oms.model.dto.uav.UavCartCompanyDTO;
import com.mmc.oms.model.dto.uav.UavOrderDTO;
import com.mmc.oms.model.dto.user.BaseAccountDTO; import com.mmc.oms.model.dto.user.BaseAccountDTO;
import com.mmc.oms.model.qo.uav.UavOrderQO; import com.mmc.oms.model.qo.uav.UavOrderQO;
import com.mmc.oms.model.vo.uav.*; import com.mmc.oms.model.vo.uav.*;
import com.mmc.oms.model.vo.wallet.TopUpOrderVO; import com.mmc.oms.model.vo.wallet.TopUpOrderVO;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.math.BigDecimal;
/** /**
* @author: zj * @author: zj
...@@ -54,4 +51,7 @@ public interface UavOrderService { ...@@ -54,4 +51,7 @@ public interface UavOrderService {
ResultBody removeUavOrder(Integer id); ResultBody removeUavOrder(Integer id);
ResultBody addOrderByCart(AddUavOrderByCartQO orderByCartQO, BaseAccountDTO currentAccount); ResultBody addOrderByCart(AddUavOrderByCartQO orderByCartQO, BaseAccountDTO currentAccount);
ResultBody deductWallet(BigDecimal allShareAmount, BigDecimal allSalaryAmount, BaseAccountDTO currentAccount);
} }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.oms.dao.lease.LeaseOrderDao">
<insert id="addOrder" keyProperty="id" useGeneratedKeys="true"
parameterType="com.mmc.oms.entity.lease.LeaseOrderDO">
insert into lease_order (order_no,
status_code,
user_account_id,
lease_goods_id,
company_name,
third_back_user_account_id,
order_name,
sku_img,
order_total_amount,
salary_amount,
share_amount,
other_amount,
user_address_id,
pay_time,
user_remark,
unit_price,
ware_num,
deposit,
start_date,
end_date)
values (#{orderNo}, #{statusCode}, #{userAccountId}, #{leaseGoodsId}, #{companyName}, #{thirdBackUserAccountId},
#{orderName}, #{skuImg}, #{orderTotalAmount}, #{salaryAmount}, #{shareAmount}, #{otherAmount},
#{userAddressId},
#{payTime}, #{userRemark}, #{unitPrice}, #{wareNum}, #{deposit}, #{startDate}, #{endDate});
</insert>
<insert id="addAddress">
insert into lease_order_express(lease_order_id, send_exp_no, send_exp_code, take_name, take_phone, take_region,
take_address, create_time)
values (#{leaseOrderId}, #{sendExpNo}, #{sendExpCode}, #{takeName}, #{takePhone}, #{takeRegion}, #{takeAddress},
NOW())
</insert>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论