提交 f03404ae 作者: 张小凤

express(add)

上级 cab47363
package com.mmc.oms.common;
/**
* @Author small
* @Date 2023/5/31 15:42
* @Version 1.0
*/
public interface Auto {
}
package com.mmc.oms.common;
/**
* @Author small
* @Date 2023/5/31 16:53
* @Version 1.0
*/
public enum OrderCountDayNum {
yesterday(1,"yesterday","昨日"),
recentWeek(7,"recentWeek","近七日"),
recentMonth(30,"recentMonth","近30日"),
two(2,"two","前天"),
fourteen(14,"fourteen","14天前"),
thirty(60,"thirty","三十天前");
private Integer day;
private String flag;
private String status;
OrderCountDayNum(Integer dayNum, String flag, String status) {
this.day = dayNum;
this.flag = flag;
this.status = status;
}
public Integer getDay() {
return day;
}
public void setDay(Integer day) {
this.day = day;
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
package com.mmc.oms.common;
import com.mmc.oms.model.dto.OrderInfoDTO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
/**
* @Author small
* @Date 2023/5/31 16:26
* @Version 1.0
*/
@Mapper
public interface Publicsher {
void sendRepoOrderInit(OrderInfoDTO orderInfo);
}
package com.mmc.oms.common;
/**
* @Author small
* @Date 2023/5/31 16:44
* @Version 1.0
*/
public interface Refund {
}
package com.mmc.oms.common;
/**
* @Author small
* @Date 2023/5/31 16:48
* @Version 1.0
*/
public enum RenMethod {
EXPRESS(0, "邮寄"), SHOP(1, "门店归还");
RenMethod(Integer code, String status) {
this.code = code;
this.status = status;
}
private Integer code;
private String status;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
package com.mmc.oms.common;
/**
* @Author small
* @Date 2023/5/31 15:41
* @Version 1.0
*/
public interface Send {
}
package com.mmc.oms.common;
/**
* @Author small
* @Date 2023/5/31 16:45
* @Version 1.0
*/
public interface Share {
}
package com.mmc.oms.common;
/**
* @Author small
* @Date 2023/5/31 15:42
* @Version 1.0
*/
public interface Take {
}
package com.mmc.oms.common;
/**
* @Author small
* @Date 2023/5/31 15:49
* @Version 1.0
*/
public enum VcuType {
SEND(0, "神行太保端"), REC(1, "客户收货"), RETURN(2, "归还"), PFREC(3, "平台收货"), RETREAT(4, "申请退款")
;
VcuType(Integer code, String status) {
this.code = code;
this.status = status;
}
private Integer code;
private String status;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
package com.mmc.oms.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
* @Author small
* @Date 2023/5/31 17:03
* @Version 1.0
*/
@Configuration
public class ThreadPoolConfig {
@Bean
public ThreadPoolExecutor threadPoolExecutor(){
/**
* 核心线程数
* 拥有最多线程数
* 表示空闲线程的存活时间
* 存活时间单位
* 用于缓存任务的阻塞队列
* 省略:
* threadFactory:指定创建线程的工厂
* handler:表示当workQueue已满,且池中的线程数达到maximumPoolSize时,线程池拒绝添加新任务时采取的策略。
*/
return new ThreadPoolExecutor(50,
500,
30,
TimeUnit.SECONDS,
new ArrayBlockingQueue<>(10000));
}
}
package com.mmc.oms.controller;
import com.mmc.oms.common.ResultBody;
import com.mmc.oms.model.dto.OrderInfoDTO;
import com.mmc.oms.model.dto.OrderReceiptDTO;
import com.mmc.oms.model.dto.TranStatusDicDTO;
import com.mmc.oms.service.OrderLogisticsService;
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.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author small
* @Date 2023/5/31 16:14
* @Version 1.0
*/
@Api(tags = { "订单-物流-接口" })
@RestController
@RequestMapping("/express/")
public class OrderLogisticsController extends BaseController {
@Autowired
private OrderLogisticsService orderLogisticsService;
@ApiOperation(value = "物流-状态码-字典")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = TranStatusDicDTO.class) })
@GetMapping("listKdnDic")
public ResultBody listKdnDic() {
return ResultBody.success(orderLogisticsService.listKdnDic());
}
@ApiOperation(value = "物流公司-字典")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = TranStatusDicDTO.class) })
@GetMapping("listExpressInfo")
public ResultBody listExpressInfo() {
return ResultBody.success(orderLogisticsService.listExpressInfo());
}
@ApiOperation(value = "查询订单的发货、收货、退换货等信息")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = OrderReceiptDTO.class) })
@GetMapping("getOrderExpress")
public ResultBody getOrderExpress(@RequestParam Integer orderInfoId) {
return ResultBody.success(orderLogisticsService.getOrderReceiptInfo(orderInfoId));
}
@ApiOperation(value = "查看发货物流信息-订单")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class) })
@GetMapping("orderExpressInfo")
public ResultBody orderExpressInfo(@RequestParam Integer orderInfoId) {
return orderLogisticsService.orderExpressInfo(orderInfoId);
}
@ApiOperation(value = "查看退货物流信息-订单")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class) })
@GetMapping("refundExpressInfo")
public ResultBody refundExpressInfo(@RequestParam Integer orderInfoId) {
return orderLogisticsService.refundExpressInfo(orderInfoId);
}
}
package com.mmc.oms.controller;
import com.mmc.oms.common.ResultBody;
import com.mmc.oms.common.Send;
import com.mmc.oms.model.dto.OrderInfoDTO;
import com.mmc.oms.model.qo.OrderInfoQO;
import com.mmc.oms.model.vo.LeaseOrderVO;
import com.mmc.oms.model.vo.OrderVcuVO;
import com.mmc.oms.service.RentalOrdersService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
......@@ -25,9 +28,25 @@ public class RentalOrdersController extends BaseController{
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class)})
@PostMapping("feignAddLease")
public OrderInfoDTO feignAddLease(HttpServletRequest request, @RequestBody LeaseOrderVO param) {
return rentalOrdersService.feignAddLease(request,param);
return rentalOrdersService.feignAddLease(this.getCurrentAccount(request),param);
}
@ApiOperation(value = "web 租赁订单-分页-列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class)})
@PostMapping("listPcWechatOrder")
public ResultBody listPcWechatOrder(HttpServletRequest request, @RequestBody OrderInfoQO param) {
return ResultBody.success(
rentalOrdersService.listPcOrderInfo(param, this.getCurrentAccount(request)));
}
@ApiOperation(value = "订单-详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class)})
@GetMapping("orderDetail")
......@@ -36,13 +55,7 @@ public class RentalOrdersController extends BaseController{
return ResultBody.success(rentalOrdersService.getOrderDetail(orderNo));
}
@ApiOperation(value = "租赁订单-分页-列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class)})
@PostMapping("listPcWechatOrder")
public ResultBody listPcWechatOrder(HttpServletRequest request, @RequestBody OrderInfoQO param) {
return ResultBody.success(
rentalOrdersService.listPcOrderInfo(param, this.getCurrentAccount(request)));
}
@ApiOperation(value = "小程序-云仓-订单-分页-列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class)})
......@@ -51,4 +64,23 @@ public class RentalOrdersController extends BaseController{
HttpServletRequest request, @RequestBody OrderInfoQO param) {
return ResultBody.success(rentalOrdersService.listPageWechatOrder(this.getCurrentAccount(request), param));
}
@ApiOperation(value = "订单状态的变更")
@GetMapping("orderStatusChanges")
public ResultBody orderStatusChanges( @RequestParam(value = "orderNo",required = true) String orderNo,
@RequestParam(value = "tranStatus",required = true )Integer tranStatus ) {
return ResultBody.success(rentalOrdersService.orderStatusChanges( orderNo,tranStatus));
}
@ApiOperation(value = "后台管理——发货-订单")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) })
@PostMapping("sendOrderWare")
public ResultBody sendOrderWare(HttpServletRequest request,
@Validated({ Send.class }) @RequestBody OrderVcuVO param) {
return rentalOrdersService.sendOrderWare(this.getCurrentAccount(request), param);
}
}
package com.mmc.oms.dao;
import com.mmc.oms.entity.*;
import com.mmc.oms.model.qo.OrderInfoQO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/**
* @Author small
* @Date 2023/5/31 16:23
* @Version 1.0
*/
@Mapper
public interface OrderLogisticsDao {
OrderInfoDO getOrderInfo(Integer orderInfoId);
void insertOrderInfo(OrderInfoDO order);
List<TranStatusDicDO> listTranStatus();
OrderInfoDO getOrderDetail(String orderNo);
void insertOrderReceipt(OrderReceiptDO receipt);
OrderReceiptDO getOrderReceiptByOrder(Integer orderInfoId);
OrderInfoDO getAccountOrderInfo(Integer orderInfoId, Integer repoAccountId);
void updateOrderInfo(OrderInfoDO orderInfo);
void updateOrderReceipt(OrderReceiptDO receipt);
OrderInfoDO getOrderSimpleInfo(Integer orderInfoId);
int countPageOrderInfo(OrderInfoQO param);
List<OrderInfoDO> listPageOrderInfo(OrderInfoQO param);
List<KdnDicDO> listKdnDic();
int countPcOrderInfo(OrderInfoQO param);
List<OrderInfoDO> listPcOrderInfo(OrderInfoQO param);
int countOrderInfo(String tranStatus,List<Integer> companys);
List<ExpressInfoDO> listExpressInfo();
void insertOrderVcu(OrderVcuDO vcu);
OrderReceiptDO getOrderReceiptInfo(Integer orderInfoId);
OrderVcuDO getOrderVcuInfo(Integer orderInfoId, Integer vcuType);
OrderVcuDO getRefundVcuInfo(Integer orderRefundId, Integer vcuType);
List<OrderVcuDO> listOrderVcuInfo(Integer orderInfoId);
List<OrderInfoDO> listOrderByTranStatus(String tranStatus);
Integer batchUpdateConfirmTake();
int listPcOrderInfoCount();
Integer getOrderInfoCountToYesterday(@Param("day") Integer day, @Param("date") Date date);
Integer getOrderInfoCount(@Param("day") Integer day,@Param("date")Date date);
}
package com.mmc.oms.dao;
import com.mmc.oms.entity.OrderRefundDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Author small
* @Date 2023/5/31 16:25
* @Version 1.0
*/
@Mapper
public interface OrderRefundDao {
OrderRefundDO getNewOrderRefund(Integer orderInfoId);
}
package com.mmc.oms.dao;
import com.mmc.oms.entity.CouponUserDO;
import com.mmc.oms.entity.OrderInfoDO;
import com.mmc.oms.entity.OrderReceiptDO;
import com.mmc.oms.entity.OrderRefundDO;
import com.mmc.oms.entity.*;
import com.mmc.oms.model.qo.OrderInfoQO;
import org.apache.ibatis.annotations.Mapper;
......@@ -33,4 +30,16 @@ public interface RentalOrdersDao {
int countPageOrderInfo(OrderInfoQO param);
List<OrderInfoDO> listPageOrderInfo(OrderInfoQO param);
int orderStatusChanges(String orderNo,Integer tranStatus);
OrderInfoDO getOrderInfo(Integer orderInfoId);
void updateOrderReceipt(OrderReceiptDO receipt);
void insertOrderVcu(OrderVcuDO vcu);
void updateOrderInfo(OrderInfoDO upOrder);
OrderReceiptDO getOrderReceiptByOrder(Integer orderInfoId);
}
package com.mmc.oms.entity;
import com.mmc.oms.model.dto.ExpressInfoDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small
* @Date 2023/5/31 16:38
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ExpressInfoDO implements Serializable {
private static final long serialVersionUID = 4348881349294310472L;
private Integer id;
private String exName;
private String exCode;
private Date createTime;
public ExpressInfoDTO buildExpressInfoDTO() {
return ExpressInfoDTO.builder().exName(this.exName).exCode(this.exCode).build();
}
}
package com.mmc.oms.entity;
import com.mmc.oms.model.dto.KdnDicDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/31 16:34
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class KdnDicDO implements Serializable {
private static final long serialVersionUID = 5279687678334388676L;
private Integer id;
private String code;
private String msg;
public KdnDicDTO buildKdnDicDTO() {
return KdnDicDTO.builder().code(this.code).msg(this.msg).build();
}
}
package com.mmc.oms.entity;
import com.mmc.oms.model.dto.OrderVcuDTO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang.StringUtils;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Date;
/**
* @Author small
* @Date 2023/5/31 15:43
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderVcuDO implements Serializable {
private static final long serialVersionUID = 5685858931224789256L;
private Integer id;
private Integer orderInfoId;
private Integer orderRefundId;
private Integer vcuType;
private Integer vcuSatus;
private String imgs;
private String videoUrl;
private String remark;
private Date createTime;
public OrderVcuDTO buildOrderVcuDTO() {
return OrderVcuDTO.builder().id(this.id).orderInfoId(this.orderInfoId).vcuType(this.vcuType)
.vcuSatus(this.vcuSatus)
.imgs(StringUtils.isBlank(this.imgs) ? null : Arrays.asList(this.imgs.split(",")))
.remark(this.remark)
.videoUrl(this.videoUrl).build();
}
}
package com.mmc.oms.entity;
import com.mmc.oms.model.dto.TranStatusDicDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/31 16:33
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TranStatusDicDO implements Serializable {
private static final long serialVersionUID = 6067175193457424825L;
private Integer id;
private String status;
private String doing;
private String waiting;
private Integer sort;
public TranStatusDicDTO buildTranStatusDicDTO() {
return TranStatusDicDTO.builder().status(this.status).doing(this.doing).waiting(this.waiting).build();
}
}
package com.mmc.oms.model.dto;
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.util.Date;
/**
* @Author small
* @Date 2023/5/31 16:49
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
//@ApiModel(value="CompanyInfoPO对象", description="单位详情")
public class CompanyInfoDTO implements Serializable {
private static final long serialVersionUID = -7580347447230474435L;
private Integer id;
private Integer parentId;
private String company;
private String fullName;
private String contactPhone;
private String contacts;
private String area;
private String address;
private String remark;
private Integer manage;
private Integer deleted;
private Integer leftNo;
private Integer rightNo;
private Date updateTime;
private Date createTime;
/**
* 辅助字段-start
*
* @param param
*/
private Integer userType;
@ApiModelProperty(value = "渠道等级")
private String channelLevel;
@ApiModelProperty(value = "收款银行")
private String dueBank;
@ApiModelProperty(value = "银行卡号")
private String bankCard;
}
package com.mmc.oms.model.dto;
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;
/**
* @Author small
* @Date 2023/5/31 16:17
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.dto.CountOrderDTO", description = "订单统计DTO")
public class CountOrderDTO implements Serializable {
private static final long serialVersionUID = -1006840547598464202L;
@ApiModelProperty(value = "待付款数量")
private Integer waitPay;
@ApiModelProperty(value = "待发货数量")
private Integer waitEx;
@ApiModelProperty(value = "待退款售后")
private Integer waitRetreat;
@ApiModelProperty(value = "待确认归还")
private Integer waitReturn;
}
package com.mmc.oms.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/31 16:17
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ExpressInfoDTO implements Serializable {
private static final long serialVersionUID = -1869842899236089804L;
private String exName;
private String exCode;
}
package com.mmc.oms.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/31 16:16
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class KdnDicDTO implements Serializable {
private static final long serialVersionUID = 5000282796168144041L;
private String code;
private String msg;
}
......@@ -29,6 +29,9 @@ public class OrderInfoDTO implements Serializable {
@ApiModelProperty(value = "订单编号")
private String orderNo;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "商品ID")
private Integer wareInfoId;
......@@ -107,14 +110,13 @@ public class OrderInfoDTO implements Serializable {
@ApiModelProperty(value = "交易编号")
private String payNo;
@ApiModelProperty(value = "支付时间")
@ApiModelProperty(value = "支付时间/付款时间")
private Date payTime;
@ApiModelProperty(value = "发货时间")
private Date sendWareTime;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "物流信息/收货地址信息")
private OrderReceiptDTO receipt;
......
package com.mmc.oms.model.dto;
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;
/**
* @Author small
* @Date 2023/5/31 16:45
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.dto.PayCashResultDTO", description = "云仓支付扣款DTO")
public class PayCashResultDTO implements Serializable {
private static final long serialVersionUID = 5187623898281150213L;
@ApiModelProperty(value = "响应状态(200成功,其他失败)")
private String status;
@ApiModelProperty(value = "响应消息")
private String message;
@ApiModelProperty(value = "交易编号")
private String payNo;
@ApiModelProperty(value = "本次操作支付现金金额")
private BigDecimal cashPaid;
public static PayCashResultDTO error(String status, String message) {
return PayCashResultDTO.builder().status(status).message(message).build();
}
public static PayCashResultDTO success(BigDecimal cashPaid, String payNo) {
return PayCashResultDTO.builder().status("200").message("success").cashPaid(cashPaid).payNo(payNo).build();
}
}
package com.mmc.oms.model.dto;
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 small
* @Date 2023/5/31 16:41
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.dto.ShareOrderDTO", description = "共享设备订单DTO")
public class ShareOrderDTO implements Serializable {
private static final long serialVersionUID = -1395178773843809078L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "订单编号")
private String orderNo;
@ApiModelProperty(value = "用户id")
private Integer repoAccountId;
@ApiModelProperty(value = "用户uid")
private String uid;
@ApiModelProperty(value = "用户手机号")
private String phoneNum;
@ApiModelProperty(value = "设备品牌")
private String deviceBrand;
@ApiModelProperty(value = "地区")
private String region;
@ApiModelProperty(value = "状态:查字典")
private Integer sdStatus;
@ApiModelProperty(value = "设备ID")
private String deviceCode;
@ApiModelProperty(value = "设备型号")
private String deviceModel;
@ApiModelProperty(value = "用户备注")
private String remark;
@ApiModelProperty(value = "平台备注")
private String pfRemark;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "修改人ID", hidden = true)
private Integer updateUser;
@ApiModelProperty(value = "操作人-名字")
private String opName;
@ApiModelProperty(value = "操作人-账号")
private String opNo;
}
package com.mmc.oms.model.dto;
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;
/**
* @Author small
* @Date 2023/5/31 16:15
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.dto.TranStatusDicDTO", description = "订单状态DTO")
public class TranStatusDicDTO implements Serializable {
private static final long serialVersionUID = -5956006425413101797L;
@ApiModelProperty(value = "状态码")
private String status;
private String doing;
private String waiting;
}
package com.mmc.oms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/31 11:01
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UserAccountSimpleDTO implements Serializable {
private static final long serialVersionUID = 3451336520607073343L;
@ApiModelProperty(value = "用户id")
private Integer id;
@ApiModelProperty(value = "用户类型")
private Integer accountType;
@ApiModelProperty(value = "用户uid")
private String uid;
@ApiModelProperty(value = "手机号")
private String phoneNum;
@ApiModelProperty(value = "用户名称")
private String userName;
@ApiModelProperty(value = "用户昵称")
private String nickName;
@ApiModelProperty(value = "用户头像")
private String userImg;
@ApiModelProperty(value = "用户性别:0未知、1男、2女")
private Integer userSex;
@ApiModelProperty(value = "用户邮箱")
private String email;
@ApiModelProperty(value = "用户来源,0自然流、1海报、2抖音、3公众号、4社群、5招投标、6官网")
private Integer source;
@ApiModelProperty(value = "用户可用状态:0禁用、1可用")
private Integer accountStatus;
@ApiModelProperty(value = "账号类型:0后台管理账号 ; 100云享飞-客户端;")
private Integer portType;
@ApiModelProperty(value = "企业认证状态, 0未通过,1通过")
private Integer companyAuthStatus;
@ApiModelProperty(value = "账号")
private String accountNo;
@ApiModelProperty(value = "渠道等级id")
private Integer cooperationTagId;
}
......@@ -45,16 +45,16 @@ public class LeaseOrderVO implements Serializable {
@ApiModelProperty(value = "套餐sku名称", hidden = true)
private String skuTitle;
@ApiModelProperty(value = "租赁的用户id", example = "1")
@ApiModelProperty(value = "租赁的用户id", example = "1" ,hidden = true)
private Integer repoAccountId;
@ApiModelProperty(value = "租赁的用户uid", example = "UID008123")
@ApiModelProperty(value = "租赁的用户uid", example = "UID008123",hidden = true)
private String uid;
@ApiModelProperty(value = "租赁的用户名称", example = "xiaoXiao")
@ApiModelProperty(value = "租赁的用户名称", example = "xiaoXiao",hidden = true)
private String buyerName;
@ApiModelProperty(value = "租赁的用户手机", example = "18923131232")
@ApiModelProperty(value = "租赁的用户手机", example = "18923131232",hidden = true)
private String buyerPhone;
@ApiModelProperty(value = "单价 元/天", hidden = true)
......
package com.mmc.oms.model.vo;
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;
/**
* @Author small
* @Date 2023/5/31 16:37
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.vo.OrderInfoVO", description = "云仓订单VO")
public class OrderInfoVO implements Serializable {
private static final long serialVersionUID = -8314404988776854118L;
@ApiModelProperty(value = "商品ID")
private Integer wareInfoId;
@ApiModelProperty(value = "SKU(套餐)ID")
private Integer skuInfoId;
@ApiModelProperty(value = "库存改变数量(正加负减)")
private Integer addStock;
@ApiModelProperty(value = "销量改变数量(正加负减)")
private Integer addSale;
@ApiModelProperty(value = "减库方式 0:买家拍下减库存 1:卖家付款减库存")
private Integer exWare;
@ApiModelProperty(value = "辅助字段")
private Integer num;
}
package com.mmc.oms.model.vo;
import com.mmc.oms.common.Auto;
import com.mmc.oms.common.Send;
import com.mmc.oms.common.Take;
import com.mmc.oms.entity.OrderReceiptDO;
import com.mmc.oms.entity.OrderVcuDO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.util.CollectionUtils;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @Author small
* @Date 2023/5/31 15:41
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.vo.OrderVcuVO", description = "发货/收货类")
public class OrderVcuVO implements Serializable {
private static final long serialVersionUID = -4483344821357835193L;
@ApiModelProperty(value = "订单ID")
@NotNull(message = "订单id不能为空", groups = { Send.class, Auto.class })
private Integer orderInfoId;
@ApiModelProperty(value = "退款单id(退款-发货必填,其他可不填)")
@NotNull(message = "退款单id不能为空", groups = { Auto.class })
private Integer orderRefundId;
@ApiModelProperty(value = "物流公司编码")
@NotNull(message = "物流公司编码不能为空")
private String sendExCode;
@ApiModelProperty(value = "物流单号")
@NotNull(message = "物流单号不能为空")
private String sendExNo;
@ApiModelProperty(value = "发货地址")
private String sendAddress;
@ApiModelProperty(value = "退换货-电话")
@NotNull(message = "退换货-电话不能为空", groups = { Send.class })
private String renPhone;
@ApiModelProperty(value = "退换货-姓名")
@NotNull(message = "退换货-姓名不能为空", groups = { Send.class })
private String renName;
@ApiModelProperty(value = "退换货-地址")
@NotNull(message = "退换货-地址不能为空", groups = { Send.class })
private String renAddress;
@ApiModelProperty(value = "设备状况:0无问题 1有问题")
@NotNull(message = "设备状况", groups = { Take.class })
private Integer vcuSatus;
@ApiModelProperty(value = "补充描述")
private String remark;
@ApiModelProperty(value = "图片集合")
private List<String> imgs;
@ApiModelProperty(value = "视频")
private String videoUrl;
@ApiModelProperty(value = "操作密码")
private String authPwd;
public OrderReceiptDO buildReceipt() {
return OrderReceiptDO.builder().orderInfoId(this.orderInfoId).sendExCode(this.sendExCode)
.sendExNo(this.sendExNo).sendAddress(this.sendAddress).renPhone(this.renPhone).renName(this.renName)
.renAddress(this.renAddress).build();
}
public OrderVcuDO buildOrdeVcu() {
return OrderVcuDO.builder().vcuSatus(this.vcuSatus).remark(this.remark)
.imgs(CollectionUtils.isEmpty(this.imgs) ? null : String.join(",", this.imgs)).videoUrl(this.videoUrl)
.orderInfoId(this.orderInfoId).build();
}
}
package com.mmc.oms.model.vo;
import com.mmc.oms.common.Create;
import com.mmc.oms.common.Refund;
import com.mmc.oms.common.Share;
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;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author small
* @Date 2023/5/31 16:43
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.vo.RepoCashVO", description = "现金变更VO")
public class RepoCashVO implements Serializable {
private static final long serialVersionUID = 1828354753495845609L;
@ApiModelProperty(value = "用户ID")
@NotNull(message = "用户ID不能为空", groups = { Create.class })
private Integer repoAccountId;
@ApiModelProperty(value = "订单ID")
@NotNull(message = "orderRefundId不能为空", groups = { Refund.class })
private Integer orderRefundId;
@ApiModelProperty(value = "返租订单ID")
@NotNull(message = "shareOrderId不能为空", groups = { Share.class })
private Integer shareOrderId;
@ApiModelProperty(value = "变动金额")
@NotNull(message = "变动金额不能为空", groups = { Create.class, Refund.class })
private BigDecimal amtPaid;
@ApiModelProperty(value = "凭证图片集合")
private List<String> voucher;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "操作人员密码")
@NotNull(message = "变动金额不能为空", groups = { Refund.class, Share.class })
private String authPwd;
}
package com.mmc.oms.model.vo;
import com.mmc.oms.model.dto.BaseAccountDTO;
import com.mmc.oms.model.dto.OrderInfoDTO;
import com.mmc.oms.model.dto.RepoAccountDTO;
import com.mmc.oms.model.dto.ShareOrderDTO;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author small
* @Date 2023/5/31 16:39
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.vo.RepoOrderPayVO", description = "订单支付VO")
public class RepoOrderPayVO implements Serializable {
private static final long serialVersionUID = 8149373745729826654L;
private BaseAccountDTO account;
private OrderInfoDTO orderInfo;
private ShareOrderDTO shareOrder;
private RepoAccountDTO repoAccount;
private RepoCashVO payCash;
private BigDecimal amtPaid;
private String refundNo;
}
package com.mmc.oms.model.vo;
import com.mmc.oms.entity.OrderVcuDO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.util.CollectionUtils;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @Author small
* @Date 2023/5/31 16:18
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.vo.ReturnWareVO", description = "退换货类")
public class ReturnWareVO {
@ApiModelProperty(value = "订单ID")
@NotNull
private Integer orderInfoId;
@ApiModelProperty(value = "退还货方式:0邮寄 1门店地址")
@NotNull(message = "归还方式不能为空")
private Integer renMethod;
@ApiModelProperty(value = "门店id(退换货方式为门店归还时候必填)")
private Integer repoInfoId;
@ApiModelProperty(value = "还货-物流公司编码(还货方式为邮寄必填)")
private String renExCode;
@ApiModelProperty(value = "还货-物流单号(还货方式为邮寄必填)")
private String renExNo;
@ApiModelProperty(value = "设备状况:0无问题 1有问题")
@NotNull(message = "退换货-地址不能为空")
private Integer vcuSatus;
@ApiModelProperty(value = "补充描述")
private String remark;
@ApiModelProperty(value = "图片集合")
private List<String> imgs;
@ApiModelProperty(value = "视频")
private String videoUrl;
public OrderVcuDO buildOrdeVcu() {
return OrderVcuDO.builder().vcuSatus(this.vcuSatus).remark(this.remark)
.imgs(CollectionUtils.isEmpty(this.imgs) ? null : String.join(",", this.imgs)).videoUrl(this.videoUrl)
.orderInfoId(this.orderInfoId).build();
}
}
package com.mmc.oms.model.vo;
import com.mmc.oms.common.Create;
import com.mmc.oms.common.Insert;
import com.mmc.oms.common.Update;
import com.mmc.oms.model.qo.BaseInfoQO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author small
* @Date 2023/5/31 16:50
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "分页管理查询对象")
public class TagInfoAllotVO extends BaseInfoQO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id标识")
@NotNull(message = "id不能为空",groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "标签名称")
@NotBlank(message = "名称不能为空", groups = { Create.class, Update.class, Insert.class })
@Length(max = 70, message = "名称不能超过70个字符", groups = { Create.class, Update.class, })
private String tagName;
@ApiModelProperty(value = "分成比例")
@Min(value = 0,message = "分成比例不能为负",groups = {Create.class,Update.class})
@Max(value = 100,message = "分成比例不能大于100",groups = {Create.class,Update.class})
private BigDecimal proportion;
@ApiModelProperty(value = "上级分成比例")
@Min(value = 0,message = "分成比例不能为负",groups = {Create.class,Update.class})
@Max(value = 100,message = "分成比例不能大于100",groups = {Create.class,Update.class})
private BigDecimal supProportion;
@ApiModelProperty(value = "结算时间")
@Min(value = 1,message = "结算时间不能少于1号",groups = {Create.class, Update.class})
@Max(value = 31,message = "结算时间不能大于31号",groups = {Create.class,Update.class})
private Integer balanceDate;
@ApiModelProperty(value = "提现费率")
@Min(value = 0,message = "分成比例不能为负",groups = {Create.class,Update.class})
@Max(value = 100,message = "分成比例不能大于100",groups = {Create.class, Update.class})
private BigDecimal extractRatio;
/**
* 传入数据库为小数值
*/
public TagInfoAllotVO convertDecimals(){
this.proportion = this.proportion==null?null:this.proportion.divide(new BigDecimal("100"), 5, BigDecimal.ROUND_DOWN);
this.supProportion = this.supProportion==null?null:this.supProportion.divide(new BigDecimal("100"), 5, BigDecimal.ROUND_DOWN);
this.extractRatio = this.extractRatio==null?null:this.extractRatio.divide(new BigDecimal("100"), 5, BigDecimal.ROUND_DOWN);
return this;
}
}
package com.mmc.oms.service.Impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mmc.oms.common.*;
import com.mmc.oms.dao.RentalOrdersDao;
import com.mmc.oms.entity.*;
import com.mmc.oms.model.dto.*;
import com.mmc.oms.model.qo.OrderInfoQO;
import com.mmc.oms.model.vo.LeaseOrderVO;
import com.mmc.oms.model.vo.OrderReceiptVO;
import com.mmc.oms.model.vo.PriceAcquisition;
import com.mmc.oms.model.vo.RentalOrderVO;
import com.mmc.oms.model.vo.*;
import com.mmc.oms.service.RentalOrdersService;
import com.mmc.oms.wx.WxMsgTemplete;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
......@@ -43,9 +45,19 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Value("${userapp.url}")
private String userAppUrl;
@Override
public OrderInfoDTO feignAddLease(HttpServletRequest request, LeaseOrderVO param) {
public OrderInfoDTO feignAddLease(BaseAccountDTO user, LeaseOrderVO param) {
System.out.println(user);
//用户信息的远程调用
ResponseEntity<String> responseEntity = UserId(user.getUserAccountId());
UserAccountSimpleDTO account = JSON.parseObject(responseEntity.getBody(), UserAccountSimpleDTO.class);
OrderInfoDO orderInfo = new OrderInfoDO(param);
// 每天单价
BigDecimal unitPrice = orderInfo.getUnitPrice();
int i = 12;
......@@ -54,6 +66,10 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
// 天数
orderInfo.setPayDay(2);
orderInfo.setRepoAccountId(user.getUserAccountId());
orderInfo.setUid(user.getUid());
orderInfo.setBuyerName(user.getUserName());
orderInfo.setBuyerPhone(user.getPhoneNum());
rentalOrdersDao.insertOrderInfo(orderInfo);
// 添加收货地址
Date cdate = new Date();
......@@ -62,13 +78,26 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
receipt.setOrderInfoId(orderInfo.getId());
receipt.setCreateTime(cdate);
rentalOrdersDao.insertOrderReceipt(receipt);
orderInfo.setBalance(getRemainingBalance(request, param.getRepoAccountId()));
//获取剩余的余额
orderInfo.setBalance(getRemainingBalance(user.getToken(), user.getUserAccountId()));
// 将当前的用户id及订单编号存入redis
OrderInfoDTO dto = orderInfo.buildOrderInfoDTO();
stringRedisTemplate.opsForValue().set(orderInfo.getOrderNo(), JsonUtil.parseObjToJson(dto));
return dto;
}
private ResponseEntity<String> UserId(Integer repoAccountId) {
// 用户信息
ResponseEntity<String> response =
restTemplate.getForEntity(
userAppUrl
+ "user-account/feignGetUserSimpleInfo?userAccountId="
+ repoAccountId,
String.class);
return response;
}
@Override
@Transactional
public ResultBody addLease(BaseAccountDTO account, RentalOrderVO param) {
......@@ -108,10 +137,10 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
* @param repoAccountId
* @return
*/
public BigDecimal getRemainingBalance(HttpServletRequest request, Integer repoAccountId) {
public BigDecimal getRemainingBalance(String token, Integer repoAccountId) {
HttpHeaders headers = new HttpHeaders();
//封装请求头
headers.add("token", request.getHeader("token"));
headers.add("token", token);
HttpEntity<MultiValueMap<String, Object>> formEntity = new HttpEntity<MultiValueMap<String, Object>>(headers);
ResponseEntity<String> result4 = restTemplate.exchange("http://localhost:8088/payment/repocash/RemainingBalance?repoAccountId=" + repoAccountId,
HttpMethod.GET, formEntity, String.class);
......@@ -181,10 +210,6 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
.wareNo(sku.getWareNo())
.skuInfoId(sku.getSkuInfoId())
.skuTitle(sku.getSkuTitle())
.repoAccountId(account.getId())
.uid(account.getUid())
.buyerName(account.getAccountName())
.buyerPhone(account.getPhoneNum())
.unitPrice(sku.getUnitPrice())
.wareNum(sku.getWareNum())
.shouldPay(sku.getShouldPay())
......@@ -259,7 +284,6 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
@Override
public PageResult listPcOrderInfo(OrderInfoQO param, BaseAccountDTO cuser) {
Integer count = rentalOrdersDao.countPcOrderInfo(param);
if (count == 0) {
return PageResult.buildPage(param.getPageNo(), param.getPageSize(), count);
......@@ -294,4 +318,117 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
.collect(Collectors.toList());
return PageResult.buildPage(pageNo, param.getPageSize(), count, data);
}
@Override
public Object orderStatusChanges( String orderNo,Integer tranStatus) {
int i = rentalOrdersDao.orderStatusChanges(orderNo, tranStatus);
return i;
}
@Override
@Transactional
public ResultBody sendOrderWare(BaseAccountDTO cuser, OrderVcuVO param) {
// 密码认证
// ResultBody body = userServletClient.feignAuthUserPwd(cuser.getId(), param.getAuthPwd());
/*if (!ResultEnum.SUCCESS.getResultCode().equals(body.getCode())) {
return body;
}*/
// 密码认证
ResultBody body = passwordAuthentication(cuser, param.getAuthPwd());
if (body != null) {
return body;
}
OrderInfoDO order = rentalOrdersDao.getOrderInfo(param.getOrderInfoId());
if (!TranStatusDic.YFK.getStatus().equals(order.getTranStatus())
&& !TranStatusDic.TKSQ.getStatus().equals(order.getTranStatus())) {
return ResultBody.error(ResultEnum.ORDER_STATUS_ERROR);
}
Date cdate = new Date();
// 修改收发货地址信息
OrderReceiptDO receipt = param.buildReceipt();
rentalOrdersDao.updateOrderReceipt(receipt);
// 订单-视频、图片
OrderVcuDO vcu = param.buildOrdeVcu();
vcu.setVcuType(VcuType.SEND.getCode());
vcu.setCreateTime(cdate);
rentalOrdersDao.insertOrderVcu(vcu);
// 修改订单状态
OrderInfoDO upOrder = new OrderInfoDO();
upOrder.setId(param.getOrderInfoId());
upOrder.setTranStatus(TranStatusDic.YFH.getStatus());
upOrder.setSendWareTime(cdate);
rentalOrdersDao.updateOrderInfo(upOrder);
this.sendShipMsg(param.getOrderInfoId());
return ResultBody.success();
}
private void sendShipMsg(Integer orderInfoId) {
OrderInfoDO orderInfo = rentalOrdersDao.getOrderInfo(orderInfoId);
//RepoAccountDTO wechat = repoServletClient.feignRepoLoginInfo(orderInfo.getRepoAccountId());
OrderReceiptDO receipt = rentalOrdersDao.getOrderReceiptByOrder(orderInfoId);
// if (wechat == null || StringUtils.isBlank(wechat.getOpenId())) {
// return;
// }
AppletMsgVO aMsg = new AppletMsgVO();
// aMsg.setTouser(wechat.getOpenId());
aMsg.setTemplate_id(WxMsgTemplete.AT_REPO_SHIP);
aMsg.setPage(WxMsgDataConfig.REPO_SHIP_MESSAGE);
// 订单号
JSONObject orderNo = new JSONObject();
orderNo.put("value", orderInfo.getOrderNo());
// 商品名称
JSONObject wareName = new JSONObject();
wareName.put("value", orderInfo.getWareTitle());
// 快递公司
JSONObject expressName = new JSONObject();
expressName.put("value", receipt.getExName());
// 快递单号
JSONObject expressNo = new JSONObject();
expressNo.put("value", receipt.getSendExNo());
// 收货人
JSONObject receiptName = new JSONObject();
receiptName.put("value", receipt.getTakeName());
JSONObject data = new JSONObject();
data.put("character_string10", orderNo);
data.put("thing1", wareName);
data.put("phrase3", expressName);
data.put("character_string4", expressNo);
data.put("thing11", receiptName);
aMsg.setData(data);
//消息发送
// repoServletClient.asynSendUserAppletMsg(aMsg);
}
/**
* 密码认证
*
* @param cuser
* @param authPwd
* @return
*/
private ResultBody passwordAuthentication(BaseAccountDTO cuser,String authPwd) {
ResponseEntity<String> response =
restTemplate.getForEntity(
userAppUrl
+ "back-user/feignAuthUserPwd?authPwd="
+ authPwd
+ "&id="
+ +cuser.getUserAccountId(),
String.class);
ResultBody body = JSON.parseObject(response.getBody(), ResultBody.class);
if (!ResultEnum.SUCCESS.getResultCode().equals(body.getCode())) {
return body;
}
return null;
}
}
package com.mmc.oms.service;
import com.mmc.oms.common.PageResult;
import com.mmc.oms.common.ResultBody;
import com.mmc.oms.model.dto.*;
import com.mmc.oms.model.qo.OrderInfoQO;
import com.mmc.oms.model.vo.LeaseOrderVO;
import com.mmc.oms.model.vo.OrderReceiptVO;
import com.mmc.oms.model.vo.OrderVcuVO;
import com.mmc.oms.model.vo.ReturnWareVO;
import java.util.List;
/**
* @Author small
* @Date 2023/5/31 16:14
* @Version 1.0
*/
public interface OrderLogisticsService {
OrderInfoDTO feignAddLease(LeaseOrderVO param);
List<TranStatusDicDTO> listTranStatus();
OrderInfoDTO getOrderDetail(String orderNo);
ResultBody closeSelfOrder(Integer orderInfoId, String shutReason);
ResultBody platFormCloseOrder(Integer orderInfoId, String shutReason);
ResultBody updateOrderAddr(OrderReceiptVO param);
ResultBody updateOrderShop(OrderReceiptVO param);
OrderInfoDTO getOrderSimpleInfo(Integer orderInfoId);
ResultBody payCashOrder(BaseAccountDTO account, Integer orderInfoId);
PageResult listPageWechatOrder(BaseAccountDTO account, OrderInfoQO param);
List<KdnDicDTO> listKdnDic();
List<ExpressInfoDTO> listExpressInfo();
PageResult listPcOrderInfo(OrderInfoQO param,BaseAccountDTO cuser);
CountOrderDTO countOrderInfo(BaseAccountDTO cuser);
ResultBody sendOrderWare(BaseAccountDTO cuser, OrderVcuVO param);
ResultBody renterTakeOrder(OrderVcuVO param);
ResultBody batchTakeOrder();
ResultBody pfConfirmOrderWare(BaseAccountDTO cuser, OrderVcuVO param);
ResultBody returnOrderWare(ReturnWareVO param);
OrderReceiptDTO getOrderReceiptInfo(Integer orderInfoId);
ResultBody orderExpressInfo(Integer orderInfoId);
ResultBody refundExpressInfo(Integer orderInfoId);
OrderInfoDTO pfOrderDetail(Integer orderInfoId);
ResultBody updateReceipt(OrderReceiptVO param);
ResultBody batchCloseWaitPayOrder();
int listPcOrderInfoCount();
Integer getOrderInfoCount(Integer dayNum,Integer dateType);
ResultBody testSendMsg(Integer id);
void SynchronousDataToPushMoney(String OrderNo);
}
......@@ -6,6 +6,7 @@ import com.mmc.oms.model.dto.BaseAccountDTO;
import com.mmc.oms.model.dto.OrderInfoDTO;
import com.mmc.oms.model.qo.OrderInfoQO;
import com.mmc.oms.model.vo.LeaseOrderVO;
import com.mmc.oms.model.vo.OrderVcuVO;
import com.mmc.oms.model.vo.RentalOrderVO;
import javax.servlet.http.HttpServletRequest;
......@@ -18,9 +19,13 @@ public interface RentalOrdersService {
OrderInfoDTO getOrderDetail(String orderNo);
OrderInfoDTO feignAddLease(HttpServletRequest request, LeaseOrderVO param);
OrderInfoDTO feignAddLease(BaseAccountDTO user, LeaseOrderVO param);
PageResult listPcOrderInfo(OrderInfoQO param, BaseAccountDTO cuser);
PageResult listPageWechatOrder(BaseAccountDTO account, OrderInfoQO param);
Object orderStatusChanges( String orderNo,Integer tranStatus);
ResultBody sendOrderWare(BaseAccountDTO currentAccount, OrderVcuVO param);
}
......@@ -51,5 +51,8 @@ rabbitmq:
workFlyerInfoKey: TEST_WORK_FLYER_INFO
userapp:
url: https://test.iuav.mmcuav.cn/userapp/
......@@ -50,5 +50,8 @@ rabbitmq:
workFlyerInfoKey: TEST_WORK_FLYER_INFO
userapp:
url: http://localhost:35150/userapp/
......@@ -49,3 +49,6 @@ rabbitmq:
exchange: FLYER_WX_API_DIRECT_DEV
workFlyerInfoKey: TEST_WORK_FLYER_INFO
userapp:
url: https://iuav.mmcuav.cn/userapp/
......@@ -351,4 +351,152 @@
</select>
<update id="orderStatusChanges">
update order_info
set tran_status = #{tranStatus},pay_time=now()
where order_no = #{orderNo}
</update>
<select id="getOrderInfo" resultMap="orderInfoResultMap">
select o.id,o.order_no,o.ware_img,o.ware_title,o.sku_title,
o.unit_price,o.tran_status,o.ware_num,o.should_pay,o.actual_pay,
o.start_date,o.end_date,o.deposit,o.ex_ware,o.pay_no,o.pay_time,
o.send_ware_time,o.create_time,o.remark,o.buyer_name,o.buyer_phone,
o.uid,o.repo_account_id,o.shut_reason,o.pf_remark,o.sku_info_id,
o.ware_info_id
from order_info o
where o.id = #{orderInfoId}
</select>
<update id="updateOrderReceipt" parameterType="com.mmc.oms.entity.OrderReceiptDO">
update order_receipt
<set>
<if test=" takeName != null and takeName != '' ">
take_name = #{takeName},
</if>
<if test=" takePhone != null and takePhone != '' ">
take_phone = #{takePhone},
</if>
<if test="region != null">
region = #{region},
</if>
<if test=" detailAddress != null and detailAddress!='' ">
detail_address = #{detailAddress},
</if>
<if test=" repoName != null and repoName!='' ">
repo_name = #{repoName},
</if>
<if test=" repoAddress != null and repoAddress!='' ">
repo_address = #{repoAddress},
</if>
<if test="bookPhone != null and bookPhone!='' ">
book_phone = #{bookPhone},
</if>
<if test="sendExCode != null and sendExCode != '' ">
send_ex_code = #{sendExCode},
</if>
<if test="sendExNo != null and sendExNo != '' ">
send_ex_no = #{sendExNo},
</if>
<if test="sendAddress != null and sendAddress != '' ">
send_address = #{sendAddress},
</if>
<if test="renMethod != null">
ren_method = #{renMethod},
</if>
<if test="renPhone != null and renPhone != '' ">
ren_phone = #{renPhone},
</if>
<if test="renName != null and renName != '' ">
ren_name = #{renName},
</if>
<if test="renExCode != null and renExCode != '' ">
ren_ex_code = #{renExCode},
</if>
<if test="renExNo != null and renExNo != '' ">
ren_ex_no = #{renExNo},
</if>
<if test="renAddress != null and renAddress != '' ">
ren_address = #{renAddress},
</if>
<if test="renRepoName != null and renRepoName != '' ">
ren_repo_name = #{renRepoName},
</if>
<if test="renRepoAddr != null and renRepoAddr != '' ">
ren_repo_addr = #{renRepoAddr},
</if>
<if test="renRepoPhone != null and renRepoPhone != '' ">
ren_repo_phone = #{renRepoPhone},
</if>
</set>
where order_info_id = #{orderInfoId}
</update>
<insert id="insertOrderVcu" useGeneratedKeys="true"
keyProperty="id" parameterType="com.mmc.oms.entity.OrderVcuDO">
insert into order_vcu
(
order_info_id,order_refund_id,vcu_type,vcu_satus,imgs,video_url,remark,create_time
)
values
(
#{orderInfoId},#{orderRefundId},#{vcuType},#{vcuSatus},#{imgs},#{videoUrl},#{remark},#{createTime}
)
</insert>
<update id="updateOrderInfo" parameterType="com.mmc.oms.entity.OrderInfoDO">
update order_info
<set>
<if test="tranStatus != null and tranStatus != '' ">
tran_status = #{tranStatus},
</if>
<if test="shutReason != null and shutReason != '' ">
shut_reason = #{shutReason},
</if>
<if test=" actualPay != null ">
actual_pay = #{actualPay},
</if>
<if test="pfRemark != null">
pf_remark = #{pfRemark},
</if>
<if test="payTime != null">
pay_time = #{payTime},
</if>
<if test="sendWareTime != null">
send_ware_time = #{sendWareTime},
</if>
<if test="payNo != null and payNo != '' ">
pay_no = #{payNo},
</if>
</set>
where id = #{id}
</update>
<select id="getOrderReceiptByOrder" resultMap="orderReceiptResultMap" parameterType="Integer">
select r.id,r.order_info_id,r.receipt_method,r.take_name,r.send_ex_no,
r.take_phone,r.region,r.detail_address,r.repo_name,r.repo_address,
r.book_phone,r.create_time,ei.ex_name
from order_receipt r LEFT JOIN express_info ei ON ei.ex_code = r.send_ex_code
where r.order_info_id = #{orderInfoId}
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论