提交 c22c0b82 作者: zhenjie

商城订单

上级 73153255
......@@ -2,12 +2,15 @@ package com.mmc.oms.client;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.mmc.oms.common.ResultEnum;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.model.dto.mall.*;
import com.mmc.oms.model.dto.service.ServiceDTO;
import com.mmc.oms.model.qo.mall.MallOrderGoodsInfoQO;
import com.mmc.oms.model.qo.mall.ProductSpecPriceQO;
import com.mmc.oms.model.vo.uav.MallGoodsVO;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
......@@ -126,4 +129,22 @@ public class PmsClient {
List<ServiceDTO> serviceDTOS = JSONArray.parseArray(responseEntity.getBody(), ServiceDTO.class);
return serviceDTOS;
}
public MallGoodsVO mallGoodsDetails(Integer id) throws JsonProcessingException {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<>(null, headers);
ResponseEntity<String> responseEntity = restTemplate.exchange(pmsAppUri + "/app/goods/appMallGoodsDetails" + "?id=" + id, HttpMethod.GET, entity, String.class);
if (StringUtils.isBlank(responseEntity.getBody())) {
return null;
}
ResultBody resultBody = JSONObject.parseObject(responseEntity.getBody(), ResultBody.class);
if (resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
// create ObjectMapper instance
ObjectMapper objectMapper = new ObjectMapper();
MallGoodsVO mallGoodsVO = objectMapper.readValue(resultBody.getResult().toString(), MallGoodsVO.class);
return mallGoodsVO;
}
return null;
}
}
package com.mmc.oms.controller.uav;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.controller.BaseController;
import com.mmc.oms.model.dto.uav.UavOrderDTO;
import com.mmc.oms.model.dto.uav.UavOrderStatusDTO;
import com.mmc.oms.model.qo.uav.UavOrderQO;
import com.mmc.oms.model.vo.uav.AddUavOrderVO;
import com.mmc.oms.model.vo.uav.UavOrderExpressVO;
import com.mmc.oms.model.vo.uav.UavOrderPayVO;
import com.mmc.oms.model.vo.uav.UavOrderRemarkVO;
import com.mmc.oms.service.uav.UavOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* @author: zj
* @Date: 2023/9/4 13:29
*/
@Api(tags = { "最新版-订单接口" })
@RestController
@RequestMapping("/uav-order/")
public class UavOrderController extends BaseController {
@Autowired
private UavOrderService uavOrderService;
@ApiOperation(value = "提交订单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UavOrderDTO.class)})
@PostMapping("addOrder")
public ResultBody<UavOrderDTO> addOrder(@RequestBody AddUavOrderVO param, HttpServletRequest request) {
return uavOrderService.addOrder(param, this.getCurrentAccount(request));
}
@ApiOperation(value = "订单详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UavOrderDTO.class)})
@GetMapping("detail")
public ResultBody<UavOrderDTO> detail(@RequestParam Integer id) throws Exception {
return uavOrderService.detail(id);
}
@ApiOperation(value = "关闭")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("close")
public ResultBody close(@RequestParam Integer id) {
return uavOrderService.close(id);
}
@ApiOperation(value = "后台订单列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UavOrderDTO.class)})
@PostMapping("list")
public ResultBody<UavOrderDTO> list(@RequestBody UavOrderQO uavOrderQO, HttpServletRequest request) {
return uavOrderService.list(uavOrderQO, this.getCurrentAccount(request));
}
@ApiOperation(value = "个人订单列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UavOrderDTO.class)})
@PostMapping("listByUid")
public ResultBody<UavOrderDTO> listByUid(@RequestBody UavOrderQO uavOrderQO, HttpServletRequest request) {
return uavOrderService.listByUid(uavOrderQO, this.getCurrentAccount(request));
}
@ApiOperation(value = "支付")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("pay")
public ResultBody pay(@RequestParam Integer id, HttpServletRequest request) {
return uavOrderService.pay(id, this.getCurrentAccount(request), request);
}
@ApiOperation(value = "上传付款凭证")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("upLoadPay")
public ResultBody upLoadPay(@RequestBody UavOrderPayVO uavOrderPayVO) {
return uavOrderService.upLoadPay(uavOrderPayVO);
}
@ApiOperation(value = "审核付款凭证")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("checkPay")
public ResultBody checkPay(@RequestBody UavOrderPayVO uavOrderPayVO) {
return uavOrderService.checkPay(uavOrderPayVO);
}
@ApiOperation(value = "发货")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("send")
public ResultBody send(@RequestBody UavOrderExpressVO param) {
return uavOrderService.send(param);
}
@ApiOperation(value = "收货")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("receive")
public ResultBody receive(@RequestParam Integer id) {
return uavOrderService.receive(id);
}
@ApiOperation(value = "评价订单", hidden = true)
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("remarkOrder")
public ResultBody remarkOrder(@RequestBody UavOrderRemarkVO uavOrderRemarkVO) {
return uavOrderService.remarkOrder(uavOrderRemarkVO);
}
@ApiOperation(value = "卖家备注")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("sellerRemark")
public ResultBody sellerRemark(@RequestParam Integer id, @RequestParam String content) {
return uavOrderService.sellerRemark(id, content);
}
@ApiOperation(value = "订单状态列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UavOrderStatusDTO.class)})
@GetMapping("statusList")
public ResultBody statusList() {
return uavOrderService.statusList();
}
// 检测超时未收货的订单
// 设置订单抽成比例
// 微信完成回调-修改订单状态
}
package com.mmc.oms.dao.uav;
import com.mmc.oms.entity.uav.UavOrderDO;
import com.mmc.oms.entity.uav.UavOrderPayDO;
import com.mmc.oms.entity.uav.UavOrderSkuDO;
import com.mmc.oms.entity.uav.UavOrderStatusDO;
import com.mmc.oms.model.qo.uav.UavOrderQO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author: zj
* @Date: 2023/9/4 15:29
*/
@Mapper
public interface UavOrderDao {
void addOrder(UavOrderDO uavOrderDO);
void addOrderSku(List<UavOrderSkuDO> skuDOS);
UavOrderDO detail(Integer id);
List<UavOrderPayDO> listUavOrderPay(Integer uavOrderId);
List<UavOrderSkuDO> listUavOrderSkuDO(Integer uavOrderId);
void sellerRemark(Integer id, String content);
void updateUavOrderStatus(Integer id, Integer nextCode);
List<UavOrderStatusDO> statusList();
int countList(UavOrderQO uavOrderQO);
List<UavOrderDO> list(UavOrderQO uavOrderQO);
}
package com.mmc.oms.dao.uav;
import com.mmc.oms.entity.uav.UavOrderExpressDO;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: zj
* @Date: 2023/9/5 16:19
*/
@Mapper
public interface UavOrderExpressDao {
void addAddress(UavOrderExpressDO uavOrderExpressDO);
UavOrderExpressDO getUavOrderExpressDO(Integer uavOrderId);
int updateUavOrderExpressDO(UavOrderExpressDO uavOrderExpressDO);
}
package com.mmc.oms.entity.uav;
import com.mmc.oms.model.dto.uav.UavOrderDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author: zj
* @Date: 2023/9/4 13:33
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("最新版-订单")
public class UavOrderDO implements Serializable {
private static final long serialVersionUID = 2696589294661774288L;
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("订单状态")
private Integer statusCode;
@ApiModelProperty("买家id")
private Integer userAccountId;
@ApiModelProperty("卖家id")
private Integer thirdBackUserAccountId;
@ApiModelProperty("卖家企业名称")
private String companyName;
@ApiModelProperty("订单实付总额")
private BigDecimal orderTotalAmount;
@ApiModelProperty("抵扣钱包余额")
private BigDecimal walletAmount;
@ApiModelProperty("抵扣云享金余额")
private BigDecimal shareAmount;
@ApiModelProperty("其他方式支付额度")
private BigDecimal otherAmount;
@ApiModelProperty("支付方式,wechatpay微信,alipay支付宝")
private String payType;
@ApiModelProperty("订单类型,0正常订单、1意向订单")
private Integer orderType;
@ApiModelProperty("订单交期")
private Date deliveryTime;
@ApiModelProperty("收货地址id")
private Integer userAddressId;
@ApiModelProperty("买家备注")
private String userRemark;
@ApiModelProperty("卖家备注")
private String sellerRemark;
@ApiModelProperty("下单时间")
private Date createTime;
@ApiModelProperty("支付时间")
private Date payTime;
@ApiModelProperty("确认收货时间")
private Date confirmReceiptTime;
@ApiModelProperty("修改版本")
private Integer version;
@ApiModelProperty("评价状态")
private Integer remarkStatus;
@ApiModelProperty("最近修改时间")
private Date updateTime;
@ApiModelProperty("规格列表")
private List<UavOrderSkuDO> skuDOS;
public UavOrderDTO buildUavOrderDTO(){
return UavOrderDTO.builder().id(this.id).version(this.version).orderNo(this.orderNo).statusCode(this.statusCode).userAccountId(this.userAccountId)
.thirdBackUserAccountId(this.thirdBackUserAccountId).companyName(this.companyName).orderTotalAmount(this.orderTotalAmount).walletAmount(this.walletAmount)
.shareAmount(this.shareAmount).otherAmount(this.otherAmount).payType(this.payType).orderType(this.orderType).deliveryTime(this.deliveryTime).userAddressId(this.userAddressId)
.userRemark(this.userRemark).sellerRemark(this.sellerRemark).createTime(this.createTime).payTime(this.payTime).confirmReceiptTime(this.confirmReceiptTime)
.remarkStatus(this.remarkStatus).updateTime(this.updateTime).skuDTOList(CollectionUtils.isEmpty(skuDOS) ? null :
this.skuDOS.stream().map(UavOrderSkuDO::buildUavOrderSkuDTO).collect(Collectors.toList()))
.build();
}
}
package com.mmc.oms.entity.uav;
import com.mmc.oms.entity.mall.UserAddressDO;
import com.mmc.oms.model.dto.uav.UavOrderExpressDTO;
import com.mmc.oms.model.vo.uav.UavOrderExpressVO;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author: zj
* @Date: 2023/9/4 13:53
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("最新版-订单收货地址信息")
public class UavOrderExpressDO implements Serializable {
private static final long serialVersionUID = -8046463151711449213L;
private Integer id;
private Integer uavOrderId;
private String sendExpNo;
private String sendExpCode;
private String takeName;
private String takePhone;
private String takeRegion;
private String takeAddress;
private Date receiveTime;
private Integer receive;
private Date updateTime;
private Date createTime;
public UavOrderExpressDO(UserAddressDO userAddressDO) {
this.takeName = userAddressDO.getTakeName();
this.takePhone = userAddressDO.getTakePhone();
this.takeRegion = userAddressDO.getTakeRegion();
this.takeAddress = userAddressDO.getTakeAddress();
}
public UavOrderExpressDO(UavOrderExpressVO param) {
this.id = param.getId();
this.uavOrderId = param.getUavOrderId();
this.sendExpNo = param.getSendExpNo();
this.sendExpCode = param.getSendExpCode();
this.takeName = param.getTakeName();
this.takePhone = param.getTakePhone();
this.takeRegion = param.getTakeRegion();
this.takeAddress = param.getTakeAddress();
}
public UavOrderExpressDTO buildUavOrderExpressDTO(){
return UavOrderExpressDTO.builder().id(this.id).uavOrderId(this.uavOrderId).sendExpNo(this.sendExpNo).sendExpCode(this.sendExpCode).takeName(this.takeName)
.takePhone(this.takePhone).takeAddress(this.takeAddress).takeRegion(this.takeRegion).receive(this.receive).receiveTime(this.receiveTime)
.build();
}
}
package com.mmc.oms.entity.uav;
import com.mmc.oms.model.dto.uav.UavOrderPayDTO;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author: zj
* @Date: 2023/9/4 13:56
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("最新版-订单支付信息")
public class UavOrderPayDO implements Serializable {
private static final long serialVersionUID = -7440333696084228732L;
private Integer id;
private Integer uavOrderId;
private String payImgList;
private Integer checkStatus;
private String payRemark;
private String refuseReason;
private Date createTime;
private Date checkTime;
public UavOrderPayDTO buildUavOrderPayDTO(){
return UavOrderPayDTO.builder().id(this.id).uavOrderId(this.uavOrderId).payImgList(this.payImgList).checkStatus(this.checkStatus)
.payRemark(this.payRemark).refuseReason(this.refuseReason).createTime(this.createTime).build();
}
}
package com.mmc.oms.entity.uav;
import com.mmc.oms.model.dto.uav.UavOrderSkuDTO;
import io.swagger.annotations.ApiModel;
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: zj
* @Date: 2023/9/4 14:00
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("最新版-订单sku")
public class UavOrderSkuDO implements Serializable {
private static final long serialVersionUID = 8711946446973624100L;
@ApiModelProperty("订单规格id")
private Integer id;
@ApiModelProperty("订单id")
private Integer uavOrderId;
@ApiModelProperty("商品id")
private Integer mallGoodsId;
@ApiModelProperty("商品名称")
private String tradeName;
@ApiModelProperty("商品规格id")
private Integer priceStockId;
@ApiModelProperty("商品规格")
private String productSpec;
@ApiModelProperty("购买数量")
private Integer orderNum;
@ApiModelProperty("单价")
private BigDecimal unitPrice;
@ApiModelProperty("商品规格图片")
private String skuImage;
@ApiModelProperty("商品规格编号")
private String skuNo;
@ApiModelProperty("下单时间")
private Date createTime;
public UavOrderSkuDTO buildUavOrderSkuDTO(){
return UavOrderSkuDTO.builder().id(this.id).uavOrderId(this.uavOrderId).mallGoodsId(this.mallGoodsId).tradeName(this.tradeName)
.priceStockId(this.priceStockId).productSpec(this.productSpec).orderNum(this.orderNum).unitPrice(this.unitPrice).skuImage(this.skuImage)
.skuNo(this.skuNo).createTime(this.createTime).build();
}
}
package com.mmc.oms.entity.uav;
import com.mmc.oms.model.dto.uav.UavOrderStatusDTO;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/9/4 14:13
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("最新版-订单状态")
public class UavOrderStatusDO implements Serializable {
private static final long serialVersionUID = 7424753482301667469L;
private Integer id;
private String status;
private Integer code;
private Integer nextCode;
public UavOrderStatusDTO buildUavOrderStatusDTO(){
return UavOrderStatusDTO.builder().id(this.id).status(this.status).code(this.code).nextCode(this.nextCode).build();
}
}
package com.mmc.oms.enums;
/**
* @author: zj
* @Date: 2023/9/4 14:36
*/
public enum UavOrderStatus {
CONTACT(100, 200, "待意向沟通"),
CONFIRM(200, 300, "待确认订单"),
SIGN(300, 400, "待签署合同"),
PAYING(400, 500,"待付款"),
WAITING_DELIVER_GOODS(500,600, "待发货"),
WAITING_RECEIVE_GOODS(600, 700, "待收货"),
WAITING_REMARK(700, 800, "待评价"),
FINISH(800, 800,"已完成"),
CLOSE(900, 900,"已关闭")
;
public Integer getCode() {
return code;
}
public Integer getNextCode() {
return nextCode;
}
public String getName() {
return name;
}
UavOrderStatus(Integer code, Integer nextCode, String name) {
this.code = code;
this.nextCode = nextCode;
this.name = name;
}
private Integer code;
private Integer nextCode;
private String name;
}
package com.mmc.oms.model.dto.uav;
import com.mmc.oms.model.dto.kdn.KdnExpDTO;
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;
import java.util.List;
/**
* @author: zj
* @Date: 2023/9/4 14:50
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "最新版-订单")
public class UavOrderDTO implements Serializable {
private static final long serialVersionUID = 7548192478886457453L;
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("订单状态")
private Integer statusCode;
@ApiModelProperty("买家id")
private Integer userAccountId;
@ApiModelProperty("卖家id")
private Integer thirdBackUserAccountId;
@ApiModelProperty("卖家企业名称")
private String companyName;
@ApiModelProperty("订单实付总额")
private BigDecimal orderTotalAmount;
@ApiModelProperty("抵扣钱包余额")
private BigDecimal walletAmount;
@ApiModelProperty("抵扣云享金余额")
private BigDecimal shareAmount;
@ApiModelProperty("其他方式支付额度")
private BigDecimal otherAmount;
@ApiModelProperty("支付方式,wechatpay微信,alipay支付宝")
private String payType;
@ApiModelProperty("订单类型,0正常订单、1意向订单")
private Integer orderType;
@ApiModelProperty("订单交期")
private Date deliveryTime;
@ApiModelProperty("收货地址id")
private Integer userAddressId;
@ApiModelProperty("买家备注")
private String userRemark;
@ApiModelProperty("卖家备注")
private String sellerRemark;
@ApiModelProperty("下单时间")
private Date createTime;
@ApiModelProperty("支付时间")
private Date payTime;
@ApiModelProperty("确认收货时间")
private Date confirmReceiptTime;
@ApiModelProperty("修改版本")
private Integer version;
@ApiModelProperty("评价状态")
private Integer remarkStatus;
@ApiModelProperty("最近修改时间")
private Date updateTime;
@ApiModelProperty("用户收货地址信息")
private UavOrderExpressDTO uavOrderExpressDTO;
@ApiModelProperty("快递信息")
private KdnExpDTO kdnExpDTO;
@ApiModelProperty("用户支付凭证")
private List<UavOrderPayDTO> payDTOList;
@ApiModelProperty("订单规格列表")
private List<UavOrderSkuDTO> skuDTOList;
}
package com.mmc.oms.model.dto.uav;
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.util.Date;
/**
* @author: zj
* @Date: 2023/9/4 14:52
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "收货地址")
public class UavOrderExpressDTO implements Serializable {
private static final long serialVersionUID = 6025905100022602806L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "订单id")
private Integer uavOrderId;
@ApiModelProperty(value = "快递编号")
private String sendExpNo;
@ApiModelProperty(value = "快递编码")
private String sendExpCode;
@ApiModelProperty(value = "取货人")
private String takeName;
@ApiModelProperty(value = "取货人号码")
private String takePhone;
@ApiModelProperty(value = "地区信息")
private String takeRegion;
@ApiModelProperty(value = "发货-收货详细地址")
private String takeAddress;
@ApiModelProperty(value = "取件时间")
private Date receiveTime;
@ApiModelProperty(value = "是否已取件,0未取,1已取")
private Integer receive;
}
package com.mmc.oms.model.dto.uav;
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.util.Date;
/**
* @author: zj
* @Date: 2023/9/4 14:55
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "用户支付信息")
public class UavOrderPayDTO implements Serializable {
private static final long serialVersionUID = 7429924736182755541L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "订单id")
private Integer uavOrderId;
@ApiModelProperty(value = "支付凭证")
private String payImgList;
@ApiModelProperty(value = "审核状态,0待审批,1通过,2未通过")
private Integer checkStatus;
@ApiModelProperty(value = "备注信息")
private String payRemark;
@ApiModelProperty(value = "未通过原因")
private String refuseReason;
@ApiModelProperty(value = "提交时间")
private Date createTime;
}
package com.mmc.oms.model.dto.uav;
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: zj
* @Date: 2023/9/4 14:59
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "订单sku信息")
public class UavOrderSkuDTO implements Serializable {
private static final long serialVersionUID = -7021228030949249793L;
@ApiModelProperty("订单规格id")
private Integer id;
@ApiModelProperty("订单id")
private Integer uavOrderId;
@ApiModelProperty("商品id")
private Integer mallGoodsId;
@ApiModelProperty("商品名称")
private String tradeName;
@ApiModelProperty("商品规格id")
private Integer priceStockId;
@ApiModelProperty("商品规格")
private String productSpec;
@ApiModelProperty("购买数量")
private Integer orderNum;
@ApiModelProperty("单价")
private BigDecimal unitPrice;
@ApiModelProperty("商品规格图片")
private String skuImage;
@ApiModelProperty("商品规格编号")
private String skuNo;
@ApiModelProperty("下单时间")
private Date createTime;
}
package com.mmc.oms.model.dto.uav;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/9/4 15:02
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "订单状态")
public class UavOrderStatusDTO implements Serializable {
private static final long serialVersionUID = -3676195254250571926L;
private Integer id;
private String status;
private Integer code;
private Integer nextCode;
}
package com.mmc.oms.model.dto.user;
import com.mmc.oms.model.vo.CompanyInfoVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
......@@ -17,13 +18,12 @@ import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.dto.BaseAccountDTO", description = "登录信息DTO")
public class BaseAccountDTO implements Serializable {
private static final long serialVersionUID = -2979712090903806216L;
@ApiModelProperty(value = "token")
private String token;
@ApiModelProperty(value = "账号id")
@ApiModelProperty(value = "当前账号id")
private Integer userAccountId;
@ApiModelProperty(value = "账号")
private String accountNo;
......@@ -37,6 +37,11 @@ public class BaseAccountDTO implements Serializable {
private String nickName;
@ApiModelProperty(value = "0是后台管理 100客户端 小程序")
private Integer portType;
@ApiModelProperty(value = "后台账号单位信息")
private CompanyInfoVO companyInfoVO;
@ApiModelProperty(value = "角色信息")
private RoleInfoDTO roleInfo;
@ApiModelProperty(value = "小程序登录id")
private Integer appUserAccountId;
}
......@@ -27,7 +27,7 @@ public class RoleInfoDTO implements Serializable {
@ApiModelProperty(value = "角色名称")
private String roleName;
@ApiModelProperty(value = "是否为管理角色:0否 1是")
private Integer admin;// 是否为管理角色
private Integer superAdmin;
@ApiModelProperty(value = "是否为运营角色:0否 1是")
private Integer operate;
@ApiModelProperty(value = "是否为系统角色:0否 1是")
......
package com.mmc.oms.model.qo.uav;
import com.mmc.oms.common.publicinterface.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @author: zj
* @Date: 2023/9/6 15:03
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UavOrderQO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "关键字-订单编号", required = false)
private String keyword;
@ApiModelProperty(value = "用户uid", required = false)
private String uid;
@ApiModelProperty(value = "订单状态码")
private Integer statusCode;
@ApiModelProperty(value = "用户id", hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "商家id", hidden = true)
private Integer thirdBackUserAccountId;
@ApiModelProperty(value = "开始时间")
private String startTime;
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.oms.model.vo;
import com.mmc.oms.common.publicinterface.Insert;
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.NotNull;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/7/3 16:04
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CompanyInfoVO implements Serializable {
private static final long serialVersionUID = 3247519744829926132L;
@ApiModelProperty(value = "id")
@NotNull(message = "id不能为空", groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "单位类型,0科比特,1加盟公司", example = "0")
@NotNull(message = "单位类型不能为空", groups = {Insert.class})
private Integer companyType;
@ApiModelProperty(value = "单位名称", example = "科比特")
@NotNull(message = "单位名称不能为空", groups = {Insert.class})
private String companyName;
@ApiModelProperty(value = "单位全称", example = "浙江科比特创新科技有限公司")
private String fullName;
@ApiModelProperty(value = "省份名称", example = "广东省", hidden = true)
@NotNull(message = "省份名称不能为空")
private String province;
@ApiModelProperty(value = "城市名称", example = "深圳市", hidden = true)
@NotNull(message = "城市名称不能为空")
private String city;
@ApiModelProperty(value = "县区名称", example = "南山区", hidden = true)
@NotNull(message = "县区名称不能为空")
private String district;
@ApiModelProperty(value = "详细地址", example = "西丽街道万科云城国际创新谷6栋")
@NotNull(message = "详细地址不能为空", groups = {Insert.class})
private String address;
@ApiModelProperty(value = "联系人", example = "lx")
private String companyUserName;
@ApiModelProperty(value = "联系电话", example = "13925255742")
private String phoneNum;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "小程序用户id")
private Integer userAccountId;
@ApiModelProperty(value = "后台用户id")
private Integer backUserAccountId;
@ApiModelProperty(value = "纬度")
private Double lat;
@ApiModelProperty(value = "经度")
private Double lon;
@ApiModelProperty(value = "社会信用代码")
private String creditCode;
@ApiModelProperty(value = "营业执照")
private String licenseImg;
@ApiModelProperty(value = "品牌名称", example = "科比特")
private String brandName;
@ApiModelProperty(value = "品牌logo", example = "http://")
private String brandLogo;
@ApiModelProperty(value = "管理员标识")
private Integer leader;
@ApiModelProperty(value = "服务资质信息", example = "5星店铺")
private String content;
@ApiModelProperty(value = "评分", example = "*****")
private Integer score;
@ApiModelProperty(value = "背景图", example = "http://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/3505c402-cbf9-41a5-9d6f-bdb350625bea.jpg")
private String backImg;
@ApiModelProperty(value = "当前距离")
private Double distance;
}
......@@ -21,6 +21,8 @@ public class CommonPaymentVO {
@ApiModelProperty(value = "订单编号", example = "R202307251459553408130")
private String orderNumber;
@ApiModelProperty(value = "商品描述")
private String description;
@ApiModelProperty(value = "订单来源 0:产品商城 1:租赁订单 2:培训订单 3发布需求 4服务需求发布 5充值 ...其他后续加")
private Integer orderPort;
......
package com.mmc.oms.model.vo.uav;
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.List;
/**
* @author: zj
* @Date: 2023/9/4 16:01
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AddUavOrderVO implements Serializable {
private static final long serialVersionUID = 2749055915508197141L;
@ApiModelProperty("商家id")
private Integer thirdBackUserAccountId;
@ApiModelProperty("卖家企业名称")
private String companyName;
@ApiModelProperty("商品id")
private Integer mallGoodsId;
@ApiModelProperty("收货地址")
private Integer userAddressId;
@ApiModelProperty("订单类型,0正常直接支付订单,1意向沟通订单")
private Integer orderType;
@ApiModelProperty("订单实付总额")
private BigDecimal orderTotalAmount;
@ApiModelProperty("抵扣钱包余额")
private BigDecimal walletAmount;
@ApiModelProperty("抵扣云享金余额")
private BigDecimal shareAmount;
@ApiModelProperty("其他方式支付额度")
private BigDecimal otherAmount;
@ApiModelProperty("用户备注")
private String userRemark;
@ApiModelProperty("规格列表")
private List<UavOrderSkuVO> skuVOS;
}
package com.mmc.oms.model.vo.uav;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author LW
* @date 2023/7/24 17:57
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class GoodsResourcesVO {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "url")
private String url;
@ApiModelProperty(value = "类型:0主图 1副图 2视频")
private Integer type;
}
package com.mmc.oms.model.vo.uav;
import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
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.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Author LW
* @date 2023/7/24 17:44
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class MallGoodsVO implements Serializable {
private static final long serialVersionUID = 3608022295150526085L;
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空", groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "商品名称", example = "这是商品名称", required = true)
@NotBlank(message = "商品名称不能为空", groups = {Update.class, Create.class})
private String tradeName;
@ApiModelProperty(value = "商品描述", example = "商品描述", required = true)
@NotBlank(message = "商品描述不能为空", groups = {Update.class, Create.class})
private String description;
@ApiModelProperty(value = "商品资源:图片or视频及其他")
@NotEmpty(message = "图片不能为空")
private List<GoodsResourcesVO> resourcesList;
@ApiModelProperty(value = "一级分类id", example = "1", required = true)
@NotNull(message = "一级分类id不能为空", groups = {Update.class, Create.class})
private Integer categoryPrimaryId;
@ApiModelProperty(value = "二级分类id", example = "2", required = true)
@NotNull(message = "二级分类id不能为空", groups = {Update.class, Create.class})
private Integer categorySubId;
@ApiModelProperty(value = "商品状态", example = "1", required = true)
@NotNull(message = "商品状态不能为空", groups = {Update.class, Create.class})
private Integer shelfStatus;
@ApiModelProperty(value = "商品标签")
private String goodsLabel;
@ApiModelProperty(value = "标签是否显示 0否 1是")
private Integer labelShow;
@ApiModelProperty(value = "规格")
@NotEmpty(message = "规格不能为空", groups = {Update.class, Create.class})
private List<SpecAttrVO> specAttrList;
@ApiModelProperty(value = "价格库存排列组合表信息")
private List<PriceStockVO> priceStock;
@ApiModelProperty(value = "商品详情 富文本")
private String goodsDetails;
@ApiModelProperty(value = "创建时间 用作列表回显")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty(value = "店铺id 小程序用")
private Integer userAccountId;
}
package com.mmc.oms.model.vo.uav;
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;
/**
* @Author LW
* @date 2023/8/8 10:48
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PriceStockVO implements Serializable {
private static final long serialVersionUID = 1011141620995647903L;
@ApiModelProperty(value = "id", example = "1")
private Integer id;
@ApiModelProperty(value = "商品规格", example = "示例:{\"颜色\":\"蓝色\",\"尺寸\":\"1寸\",\"大小\":\"小\"} 或 [\"颜色\":\"蓝色\",\"尺寸\":\"1寸\",\"大小\":\"小\"] 或 你怎么方便怎么来")
private String productSpec;
@ApiModelProperty(value = "销售价格", example = "1")
private BigDecimal salePrice;
@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 = "1")
private BigDecimal channelPrice;
@ApiModelProperty(value = "库存", example = "10")
private Integer stock;
@ApiModelProperty(value = "sku编号", example = "mmc-da-s-b")
private String skuNo;
}
package com.mmc.oms.model.vo.uav;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @Author LW
* @date 2023/7/24 20:16
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class SpecAttrVO {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "规格名称", example = "规格名称", required = true)
private String specName;
@ApiModelProperty(value = "规格值信息", required = true)
private List<SpecAttrVO> specValuesList;
}
package com.mmc.oms.model.vo.uav;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/9/6 14:46
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UavOrderExpressVO implements Serializable {
private static final long serialVersionUID = -255177942680112246L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "订单id")
private Integer uavOrderId;
@ApiModelProperty(value = "快递编号")
private String sendExpNo;
@ApiModelProperty(value = "快递编码")
private String sendExpCode;
@ApiModelProperty(value = "取货人")
private String takeName;
@ApiModelProperty(value = "取货人号码")
private String takePhone;
@ApiModelProperty(value = "地区信息")
private String takeRegion;
@ApiModelProperty(value = "发货-收货详细地址")
private String takeAddress;
}
package com.mmc.oms.model.vo.uav;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/9/6 19:25
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("最新版-订单支付信息")
public class UavOrderPayVO implements Serializable {
private static final long serialVersionUID = 7418105078457625073L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "订单id")
private Integer uavOrderId;
@ApiModelProperty(value = "支付凭证")
private String payImgList;
@ApiModelProperty(value = "审核状态,0待审批,1通过,2未通过")
private Integer checkStatus;
@ApiModelProperty(value = "备注信息")
private String payRemark;
@ApiModelProperty(value = "未通过原因")
private String refuseReason;
}
package com.mmc.oms.model.vo.uav;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/9/6 14:56
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UavOrderRemarkVO implements Serializable {
private static final long serialVersionUID = -5505722703435250409L;
@ApiModelProperty(value = "订单id")
private Integer uavOrderId;
@ApiModelProperty(value = "评分")
private Integer level;
@ApiModelProperty(value = "图片地址,‘,’隔开")
private String uavImages;
@ApiModelProperty(value = "评论内容")
private String content;
}
package com.mmc.oms.model.vo.uav;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author: zj
* @Date: 2023/9/4 16:31
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UavOrderSkuVO implements Serializable {
private static final long serialVersionUID = 6034392498890957390L;
@ApiModelProperty("商品规格id")
private Integer priceStockId;
@ApiModelProperty("商品规格")
private String productSpec;
@ApiModelProperty("购买数量")
private Integer orderNum;
@ApiModelProperty(value = "单价", hidden = true)
private BigDecimal unitPrice;
@ApiModelProperty("商品规格图片")
private String skuImage;
@ApiModelProperty("商品规格编号")
private String skuNo;
@ApiModelProperty("客户提交订单的单价")
private BigDecimal salePrice;
}
......@@ -76,6 +76,8 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
public ResultBody orderPayment(CommonPaymentVO commonPaymentVO, HttpServletRequest request, Integer userAccountId) {
String token = request.getHeader("token");
switch (commonPaymentVO.getOrderPort().toString()) {
case "0":
return payUavOrder(commonPaymentVO, token);
case "3":
return orderPost(commonPaymentVO, token);
case "4":
......@@ -88,6 +90,19 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
}
}
public ResultBody payUavOrder(CommonPaymentVO commonPaymentVO, String token) {
OrderRequestParamsVO orderRequestParamsVO = new OrderRequestParamsVO();
orderRequestParamsVO.setOrderNo(commonPaymentVO.getOrderNumber());
orderRequestParamsVO.setAmount(commonPaymentVO.getAmount());
orderRequestParamsVO.setAttach("PAY_UAV_ORDER");
orderRequestParamsVO.setDescription(commonPaymentVO.getDescription());
ResultBody resultBody = releaseOrder(orderRequestParamsVO, token);
if (!"200".equals(resultBody.getCode())) {
throw new RuntimeException("调用微信支付方法失败!");
}
return resultBody;
}
@Transactional(rollbackFor = Exception.class)
public ResultBody topUpOrder(CommonPaymentVO commonPaymentVO, String token, Integer userAccountId) {
// 生成充值订单编号 规则T加时间戳加用户id加随机数4位
......
package com.mmc.oms.service.uav;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.model.dto.user.BaseAccountDTO;
import com.mmc.oms.model.qo.uav.UavOrderQO;
import com.mmc.oms.model.vo.uav.AddUavOrderVO;
import com.mmc.oms.model.vo.uav.UavOrderExpressVO;
import com.mmc.oms.model.vo.uav.UavOrderPayVO;
import com.mmc.oms.model.vo.uav.UavOrderRemarkVO;
import javax.servlet.http.HttpServletRequest;
/**
* @author: zj
* @Date: 2023/9/4 15:31
*/
public interface UavOrderService {
ResultBody addOrder(AddUavOrderVO param, BaseAccountDTO currentAccount);
ResultBody detail(Integer id) throws Exception;
ResultBody close(Integer id);
ResultBody list(UavOrderQO uavOrderQO, BaseAccountDTO currentAccount);
ResultBody listByUid(UavOrderQO uavOrderQO, BaseAccountDTO currentAccount);
ResultBody pay(Integer id, BaseAccountDTO currentAccount, HttpServletRequest request);
ResultBody send(UavOrderExpressVO param);
ResultBody receive(Integer id);
ResultBody remarkOrder(UavOrderRemarkVO uavOrderRemarkVO);
ResultBody sellerRemark(Integer id, String content);
ResultBody statusList();
ResultBody upLoadPay(UavOrderPayVO uavOrderPayVO);
ResultBody checkPay(UavOrderPayVO uavOrderPayVO);
}
<?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.uav.UavOrderDao">
<resultMap type="com.mmc.oms.entity.uav.UavOrderDO"
id="uavOrderResultMap">
<id property="id" column="id" />
<result property="orderNo" column="order_no" />
<result property="statusCode" column="status_code" />
<result property="userAccountId" column="user_account_id" />
<result property="thirdBackUserAccountId" column="third_back_user_account_id" />
<result property="companyName" column="company_name" />
<result property="orderTotalAmount" column="order_total_amount" />
<result property="walletAmount" column="wallet_amount" />
<result property="shareAmount" column="share_amount" />
<result property="otherAmount" column="other_amount" />
<result property="payType" column="pay_type" />
<result property="orderType" column="order_type" />
<result property="deliveryTime" column="delivery_time" />
<result property="userAddressId" column="user_address_id" />
<result property="userRemark" column="user_remark" />
<result property="sellerRemark" column="seller_remark" />
<result property="createTime" column="create_time" />
<result property="payTime" column="pay_time" />
<result property="confirmReceiptTime" column="confirm_receipt_time" />
<result property="version" column="version" />
<result property="remarkStatus" column="remark_status" />
<result property="updateTime" column="update_time" />
<collection property="skuDOS" ofType="com.mmc.oms.entity.uav.UavOrderSkuDO"
select="listUavOrderSkuDO"
column="{uavOrderId=id}">
</collection>
</resultMap>
<sql id="uav_order_column">
id, order_no, status_code, user_account_id, third_back_user_account_id, company_name, order_total_amount, wallet_amount,
share_amount, other_amount, pay_type, order_type, delivery_time, user_address_id, user_remark, seller_remark, create_time,
pay_time, confirm_receipt_time, version, remark_status, update_time
</sql>
<insert id="addOrder" parameterType="com.mmc.oms.entity.uav.UavOrderDO" useGeneratedKeys="true" keyProperty="id">
insert into uav_order(order_no, status_code, user_account_id, third_back_user_account_id, company_name, order_total_amount,
wallet_amount, share_amount, other_amount, pay_type, order_type, user_address_id, user_remark, seller_remark, create_time
)
values( #{orderNo}, #{statusCode}, #{userAccountId}, #{thirdBackUserAccountId}, #{companyName}, #{orderTotalAmount},
#{walletAmount}, #{shareAmount}, #{otherAmount}, #{payType}, #{orderType}, #{userAddressId}, #{userRemark}, #{sellerRemark},
NOW()
);
</insert>
<insert id="addOrderSku" keyProperty="id" useGeneratedKeys="true">
insert into uav_order_sku(
uav_order_id, mall_goods_id, trade_name, price_stock_id, product_spec, order_num, unit_price, sku_image, sku_no, create_time)
values
<foreach item="item" collection="list" separator=",">
(#{item.uavOrderId}, #{item.mallGoodsId}, #{item.tradeName}, #{item.priceStockId}, #{item.productSpec}, #{item.orderNum}, #{item.unitPrice}, #{item.skuImage}, #{item.skuNo}, NOW())
</foreach>
</insert>
<update id="sellerRemark">
update uav_order set seller_remark = #{content} where id = #{id}
</update>
<update id="updateUavOrderStatus">
update uav_order set status_code = #{nextCode} where id = #{id}
</update>
<select id="detail" resultType="com.mmc.oms.entity.uav.UavOrderDO">
select <include refid="uav_order_column" /> from uav_order where id = #{id}
</select>
<select id="listUavOrderPay" resultType="com.mmc.oms.entity.uav.UavOrderPayDO">
select
id,
uav_order_id,
pay_type,
pay_img_list,
check_status,
pay_remark,
refuse_reason,
create_time,
check_time
from uav_order_pay
where uav_order_id = #{uavOrderId}
</select>
<select id="listUavOrderSkuDO" resultType="com.mmc.oms.entity.uav.UavOrderSkuDO">
select
id,
uav_order_id,
mall_goods_id,
trade_name,
price_stock_id,
product_spec,
order_num,
unit_price,
sku_image,
sku_no,
create_time
from uav_order_sku
where uav_order_id = #{uavOrderId}
</select>
<select id="statusList" resultType="com.mmc.oms.entity.uav.UavOrderStatusDO">
select
id,
status,
code,
next_code
from uav_order_status
</select>
<select id="countList" resultType="java.lang.Integer" parameterType="com.mmc.oms.model.qo.uav.UavOrderQO">
select count(*) from uav_order
where 1 = 1
<if test="keyword != null">
and order_no = #{orderNo}
</if>
<if test="uid != null">
and user_account_id = #{uid}
</if>
<if test="userAccountId != null">
and user_account_id = #{userAccountId}
</if>
<if test="statusCode != null">
and status_code = #{statusCode}
</if>
<if test="thirdBackUserAccountId != null">
and third_back_user_account_id = #{thirdBackUserAccountId}
</if>
<if test="startTime != null">
and create_time >= #{startTime}
</if>
<if test="endTime != null">
and #{endTime} >= create_time
</if>
</select>
<select id="list" resultMap="uavOrderResultMap" parameterType="com.mmc.oms.model.qo.uav.UavOrderQO">
SELECT <include refid="uav_order_column" />
FROM
uav_order uo
where 1 = 1
<if test="keyword != null">
and uo.order_no = #{orderNo}
</if>
<if test="uid != null">
and uo.user_account_id = #{uid}
</if>
<if test="userAccountId != null">
and uo.user_account_id = #{userAccountId}
</if>
<if test="statusCode != null">
and uo.status_code = #{statusCode}
</if>
<if test="thirdBackUserAccountId != null">
and uo.third_back_user_account_id = #{thirdBackUserAccountId}
</if>
<if test="startTime != null">
and uo.create_time >= #{startTime}
</if>
<if test="endTime != null">
and #{endTime} >= uo.create_time
</if>
order by uo.id desc
limit #{pageNo}, #{pageSize}
</select>
</mapper>
<?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.uav.UavOrderExpressDao">
<insert id="addAddress" keyProperty="id" useGeneratedKeys="true"
parameterType="com.mmc.oms.entity.uav.UavOrderExpressDO">
insert into uav_order_express(uav_order_id, send_exp_no, send_exp_code, take_name, take_phone, take_region, take_address, create_time)
values (#{uavOrderId}, #{sendExpNo}, #{sendExpCode}, #{takeName}, #{takePhone}, #{takeRegion}, #{takeAddress}, NOW())
</insert>
<update id="updateUavOrderExpressDO" parameterType="com.mmc.oms.entity.uav.UavOrderExpressDO">
update uav_order_express
<set>
<if test="sendExpNo != null">
send_exp_no = #{sendExpNo},
</if>
<if test="sendExpCode != null">
send_exp_code = #{sendExpCode},
</if>
<if test="takeName != null">
take_name = #{takeName},
</if>
<if test="takePhone != null">
take_phone = #{takePhone},
</if>
<if test="takeRegion != null">
take_region = #{takeRegion},
</if>
<if test="takeAddress != null">
take_address = #{takeAddress},
</if>
<if test="sendTime != null">
send_time = #{sendTime},
</if>
<if test="takeAddress != null">
take_address = #{takeAddress},
</if>
<if test="receive != null">
is_receive = #{receive},
</if>
<if test="receiveTime != null">
receive_time = #{receiveTime},
</if>
<if test="takeAddress != null">
take_address = #{takeAddress},
</if>
</set>
where
id = #{id}
</update>
<select id="getUavOrderExpressDO" resultType="com.mmc.oms.entity.uav.UavOrderExpressDO">
select
id,
uav_order_id,
send_exp_no,
send_exp_code,
take_name,
take_phone,
take_region,
take_address,
send_time,
is_receive,
receive_time,
update_time,
create_time
from uav_order_express
where uav_order_id = #{uavOrderId}
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论