提交 3797d10c 作者: 张小凤

rental(add)

上级 f03404ae
......@@ -5,6 +5,7 @@ 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.OrderStatusVO;
import com.mmc.oms.model.vo.OrderVcuVO;
import com.mmc.oms.service.RentalOrdersService;
import io.swagger.annotations.*;
......@@ -20,67 +21,69 @@ import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("/RentalOrders")
@Api(tags = {"web租赁订单"})
public class RentalOrdersController extends BaseController{
@Autowired private RentalOrdersService rentalOrdersService;
@ApiOperation(value = "租赁-下单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class)})
@PostMapping("feignAddLease")
public OrderInfoDTO feignAddLease(HttpServletRequest request, @RequestBody LeaseOrderVO 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")
public ResultBody<OrderInfoDTO> orderDetail(
@ApiParam(value = "订单编号") @RequestParam(required = true) String orderNo) {
return ResultBody.success(rentalOrdersService.getOrderDetail(orderNo));
}
@ApiOperation(value = "小程序-云仓-订单-分页-列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class)})
@PostMapping("listPageWechatOrder")
public ResultBody listPageWechatOrder(
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);
}
public class RentalOrdersController extends BaseController {
@Autowired
private RentalOrdersService rentalOrdersService;
@ApiOperation(value = "租赁-下单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class)})
@PostMapping("feignAddLease")
public OrderInfoDTO feignAddLease(HttpServletRequest request, @RequestBody LeaseOrderVO param) {
return rentalOrdersService.feignAddLease(this.getCurrentAccount(request), param);
}
@ApiOperation(value = "web 租赁订单-分页-列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class)})
@PostMapping("listOfRentalOrders")
public ResultBody listOfRentalOrders(HttpServletRequest request, @RequestBody OrderStatusVO orderStatusVO) {
return ResultBody.success(
rentalOrdersService.listOfRentalOrders(orderStatusVO, this.getCurrentAccount(request)));
}
@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)})
@GetMapping("orderDetail")
public ResultBody<OrderInfoDTO> orderDetail(
@ApiParam(value = "订单编号") @RequestParam(required = true) String orderNo) {
return ResultBody.success(rentalOrdersService.getOrderDetail(orderNo));
}
@ApiOperation(value = "小程序-云仓-订单-分页-列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = OrderInfoDTO.class)})
@PostMapping("listPageWechatOrder")
public ResultBody listPageWechatOrder(
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);
}
}
......@@ -2,6 +2,7 @@ package com.mmc.oms.dao;
import com.mmc.oms.entity.*;
import com.mmc.oms.model.qo.OrderInfoQO;
import com.mmc.oms.model.vo.OrderStatusVO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
......@@ -11,35 +12,39 @@ import java.util.List;
*/
@Mapper
public interface RentalOrdersDao {
CouponUserDO coupon(Integer couponId);
CouponUserDO coupon(Integer couponId);
OrderInfoDO getOrderDetail(String orderNo);
OrderInfoDO getOrderDetail(String orderNo);
OrderRefundDO getNewOrderRefund(Integer id);
OrderRefundDO getNewOrderRefund(Integer id);
OrderReceiptDO getOrderReceiptInfo(Integer id);
OrderReceiptDO getOrderReceiptInfo(Integer id);
void insertOrderInfo(OrderInfoDO orderInfo);
void insertOrderInfo(OrderInfoDO orderInfo);
void insertOrderReceipt(OrderReceiptDO receipt);
void insertOrderReceipt(OrderReceiptDO receipt);
Integer countPcOrderInfo(OrderInfoQO param);
Integer countPcOrderInfo(OrderInfoQO param);
List<OrderInfoDO> listPcOrderInfo(OrderInfoQO param);
List<OrderInfoDO> listPcOrderInfo(OrderInfoQO param);
int countPageOrderInfo(OrderInfoQO param);
int countPageOrderInfo(OrderInfoQO param);
List<OrderInfoDO> listPageOrderInfo(OrderInfoQO param);
List<OrderInfoDO> listPageOrderInfo(OrderInfoQO param);
int orderStatusChanges(String orderNo,Integer tranStatus);
int orderStatusChanges(String orderNo, Integer tranStatus);
OrderInfoDO getOrderInfo(Integer orderInfoId);
OrderInfoDO getOrderInfo(Integer orderInfoId);
void updateOrderReceipt(OrderReceiptDO receipt);
void updateOrderReceipt(OrderReceiptDO receipt);
void insertOrderVcu(OrderVcuDO vcu);
void insertOrderVcu(OrderVcuDO vcu);
void updateOrderInfo(OrderInfoDO upOrder);
void updateOrderInfo(OrderInfoDO upOrder);
OrderReceiptDO getOrderReceiptByOrder(Integer orderInfoId);
OrderReceiptDO getOrderReceiptByOrder(Integer orderInfoId);
List<OrderStatusDO> listOfRentalOrders(OrderStatusVO orderStatusVO);
int rentalOrdersCount(OrderStatusVO orderStatusVO);
}
package com.mmc.oms.entity;
import com.mmc.oms.model.dto.OrderStatusDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* @Author small
* @Date 2023/6/1 14:17
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderStatusDO {
private static final long serialVersionUID = 6544149196885009444L;
private Integer id;
@ApiModelProperty(value = "订单编号")
private String orderNo;
@ApiModelProperty(value = "商品标题")
private String wareTitle;
@ApiModelProperty(value = "商品图片")
private String wareImg;
@ApiModelProperty(value = "租金总金额")
private BigDecimal rentPrice;
@ApiModelProperty(value = "订单描述")
private String wareDescription;
@ApiModelProperty(value = "订单状态编号")
private Integer tranStatus;
@ApiModelProperty(value = "等待状态")
private String waiting;
@ApiModelProperty(value = "当前状态")
private String doing;
@ApiModelProperty(value = "订单状态")
private String leaseOrderStatus;
public OrderStatusDTO buildOrderStatusDTO() {
return OrderStatusDTO.builder()
.id(this.id)
.orderNo(this.orderNo)
.wareImg(this.wareImg)
.rentPrice(this.rentPrice)
.wareDescription(this.wareDescription)
.tranStatus(this.tranStatus)
.waiting(this.waiting)
.doing(this.doing)
.leaseOrderStatus(this.leaseOrderStatus)
.build();
}
}
......@@ -116,8 +116,6 @@ public class OrderInfoDTO implements Serializable {
@ApiModelProperty(value = "发货时间")
private Date sendWareTime;
@ApiModelProperty(value = "物流信息/收货地址信息")
private OrderReceiptDTO receipt;
......
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.math.BigDecimal;
/**
* @Author small
* @Date 2023/6/1 14:28
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class OrderStatusDTO {
private static final long serialVersionUID = 6544149196885009444L;
private Integer id;
@ApiModelProperty(value = "订单编号")
private String orderNo;
@ApiModelProperty(value = "商品标题")
private String wareTitle;
@ApiModelProperty(value = "商品图片")
private String wareImg;
@ApiModelProperty(value = "租金总金额")
private BigDecimal rentPrice;
@ApiModelProperty(value = "订单描述")
private String wareDescription;
@ApiModelProperty(value = "订单状态编号")
private Integer tranStatus;
@ApiModelProperty(value = "等待状态")
private String waiting;
@ApiModelProperty(value = "当前状态")
private String doing;
@ApiModelProperty(value = "订单状态")
private String leaseOrderStatus;
}
......@@ -19,7 +19,7 @@ import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.dto.OrderVcuDTO", description = "订单凭证DTO")
//@ApiModel(value = "com.mmc.csf.model.dto.OrderVcuDTO", description = "订单凭证DTO")
public class OrderVcuDTO implements Serializable {
private static final long serialVersionUID = -7101242524092899210L;
@ApiModelProperty(value = "ID")
......
......@@ -39,6 +39,11 @@ public class LeaseOrderVO implements Serializable {
"https://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/4edf7f84-1586-4f33-ad79-c37b9f31cbce.jpg")
private String wareImg;
@ApiModelProperty(
value = "商品描述",
example ="新一代无人机")
private String wareDescription;
@ApiModelProperty(value = "套餐sku id", hidden = true)
private Integer skuInfoId;
......
package com.mmc.oms.model.vo;
import com.mmc.oms.common.Freeze;
import com.mmc.oms.common.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/6/1 14:05
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderStatusVO {
private static final long serialVersionUID = -3695743775258866831L;
@ApiModelProperty(value = "订单状态")
private Integer orderStatus;
@ApiModelProperty(value = "账号id", hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "页码", example = "1")
@NotNull(message = "页码不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class, message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", example = "10")
@NotNull(message = "每页显示数不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class, message = "pageSize不能少于1")
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
......@@ -10,7 +10,6 @@ import com.mmc.oms.model.qo.OrderInfoQO;
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;
......@@ -24,7 +23,6 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
......@@ -51,8 +49,6 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
@Override
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);
......@@ -320,22 +316,21 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
}
@Override
public Object orderStatusChanges( String orderNo,Integer tranStatus) {
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());
// 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;
......@@ -366,16 +361,33 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
return ResultBody.success();
}
@Override
public PageResult listOfRentalOrders(OrderStatusVO orderStatusVO, BaseAccountDTO currentAccount) {
orderStatusVO.setUserAccountId(currentAccount.getUserAccountId());
int count = rentalOrdersDao.rentalOrdersCount(orderStatusVO);
if (count == 0) {
return PageResult.buildPage(orderStatusVO.getPageNo(), orderStatusVO.getPageSize(), count);
}
Integer pageNo = orderStatusVO.getPageNo();
orderStatusVO.buildCurrentPage();
List<OrderStatusDO> orderInfoDOS = rentalOrdersDao.listOfRentalOrders(orderStatusVO);
List<OrderStatusDTO> collect = orderInfoDOS.stream().map(d -> {
return d.buildOrderStatusDTO();
}).collect(Collectors.toList());
return PageResult.buildPage(pageNo, orderStatusVO.getPageSize(), count, collect);
}
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())) {
// if (wechat == null || StringUtils.isBlank(wechat.getOpenId())) {
// return;
// }
// }
AppletMsgVO aMsg = new AppletMsgVO();
// aMsg.setTouser(wechat.getOpenId());
// aMsg.setTouser(wechat.getOpenId());
aMsg.setTemplate_id(WxMsgTemplete.AT_REPO_SHIP);
aMsg.setPage(WxMsgDataConfig.REPO_SHIP_MESSAGE);
// 订单号
......@@ -405,7 +417,7 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
data.put("thing11", receiptName);
aMsg.setData(data);
//消息发送
// repoServletClient.asynSendUserAppletMsg(aMsg);
// repoServletClient.asynSendUserAppletMsg(aMsg);
}
......@@ -416,7 +428,7 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
* @param authPwd
* @return
*/
private ResultBody passwordAuthentication(BaseAccountDTO cuser,String authPwd) {
private ResultBody passwordAuthentication(BaseAccountDTO cuser, String authPwd) {
ResponseEntity<String> response =
restTemplate.getForEntity(
userAppUrl
......
......@@ -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.OrderStatusVO;
import com.mmc.oms.model.vo.OrderVcuVO;
import com.mmc.oms.model.vo.RentalOrderVO;
......@@ -28,4 +29,6 @@ public interface RentalOrdersService {
Object orderStatusChanges( String orderNo,Integer tranStatus);
ResultBody sendOrderWare(BaseAccountDTO currentAccount, OrderVcuVO param);
PageResult listOfRentalOrders(OrderStatusVO orderStatusVO, BaseAccountDTO currentAccount);
}
......@@ -353,18 +353,39 @@
<update id="orderStatusChanges">
update order_info
set tran_status = #{tranStatus},pay_time=now()
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,
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}
......@@ -455,13 +476,9 @@
<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}
)
(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">
......@@ -493,10 +510,62 @@
</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
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>
<select id="listOfRentalOrders" resultType="com.mmc.oms.entity.OrderStatusDO"
parameterType="com.mmc.oms.model.vo.OrderStatusVO">
SELECT
o.id,
o.order_no AS orderNo,
o.ware_title AS wareTitle,
o.ware_img AS wareImg,
o.rent_price AS rentPrice,
o.ware_description AS wareDescription,
o.tran_status AS tranStatus,
tsd.waiting,
tsd.`status`,
tsd.doing,
tsd.lease_order_status AS leaseOrderStatus
FROM
order_info o,
tran_status_dic tsd
WHERE
o.tran_status = tsd.`status`
and o.repo_account_id=#{userAccountId}
<if test="orderStatus != null and orderStatus != '' ">
and o.tran_status = #{orderStatus}
</if>
order by o.id DESC
limit #{pageNo},#{pageSize}
</select>
<select id="rentalOrdersCount" resultType="int" parameterType="com.mmc.oms.model.vo.OrderStatusVO">
SELECT
count(1)
FROM
order_info o,
tran_status_dic tsd
WHERE
o.tran_status = tsd.`status`
and o.repo_account_id=#{userAccountId}
<if test="orderStatus != null and orderStatus != '' ">
and o.tran_status = #{orderStatus}
</if>
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论