From 6c17b2a938084d4c24b8e6d840e553af3c435742 Mon Sep 17 00:00:00 2001 From: chuzhichao Date: Wed, 28 Jun 2023 14:44:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E8=AE=A2=E5=8D=95=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oms/controller/OrderController.java | 13 +- .../cyl/manager/oms/mapper/OrderMapper.java | 4 + .../request/ManagerOrderQueryRequest.java | 50 +++++++ .../manager/oms/pojo/vo/ManagerOrderVO.java | 81 +++++++++++ .../com/cyl/manager/oms/pojo/vo/OrderVO.java | 2 - .../cyl/manager/oms/service/OrderService.java | 129 ++---------------- .../cyl/manager/ums/domain/MemberAddress.java | 12 ++ .../main/resources/mapper/oms/OrderMapper.xml | 59 ++++++++ 8 files changed, 228 insertions(+), 122 deletions(-) create mode 100644 ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/request/ManagerOrderQueryRequest.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/vo/ManagerOrderVO.java diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/oms/controller/OrderController.java b/ruoyi-mall/src/main/java/com/cyl/manager/oms/controller/OrderController.java index 31c52d4..0d1fb8a 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/oms/controller/OrderController.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/oms/controller/OrderController.java @@ -2,6 +2,8 @@ package com.cyl.manager.oms.controller; import java.util.List; +import com.cyl.manager.oms.pojo.request.ManagerOrderQueryRequest; +import com.cyl.manager.oms.pojo.vo.ManagerOrderVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.data.domain.PageImpl; @@ -45,8 +47,8 @@ public class OrderController extends BaseController { @ApiOperation("查询订单表列表") @PreAuthorize("@ss.hasPermi('oms:order:list')") @PostMapping("/list") - public ResponseEntity> list(@RequestBody OrderQuery query, Pageable page) { - List list = service.selectList(query, page); + public ResponseEntity> list(@RequestBody ManagerOrderQueryRequest query, Pageable page) { + List list = service.selectList(query, page); return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal())); } @@ -55,9 +57,10 @@ public class OrderController extends BaseController { @Log(title = "订单表", businessType = BusinessType.EXPORT) @GetMapping("/export") public ResponseEntity export(OrderQuery query) { - List list = service.selectList(query, null); - ExcelUtil util = new ExcelUtil<>(OrderVO.class); - return ResponseEntity.ok(util.writeExcel(convert.dos2vos(list), "订单表数据")); +// List list = service.selectList(query, null); +// ExcelUtil util = new ExcelUtil<>(OrderVO.class); +// return ResponseEntity.ok(util.writeExcel(convert.dos2vos(list), "订单表数据")); + return null; } @ApiOperation("获取订单表详细信息") diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/oms/mapper/OrderMapper.java b/ruoyi-mall/src/main/java/com/cyl/manager/oms/mapper/OrderMapper.java index 80f498d..55c0286 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/oms/mapper/OrderMapper.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/oms/mapper/OrderMapper.java @@ -3,6 +3,8 @@ package com.cyl.manager.oms.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.cyl.manager.oms.domain.Order; +import com.cyl.manager.oms.pojo.request.ManagerOrderQueryRequest; +import com.cyl.manager.oms.pojo.vo.ManagerOrderVO; /** * 订单表Mapper接口 @@ -17,4 +19,6 @@ public interface OrderMapper extends BaseMapper { * @return 订单表集合 */ List selectByEntity(Order order); + + List selectManagerOrderPage(ManagerOrderQueryRequest request); } diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/request/ManagerOrderQueryRequest.java b/ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/request/ManagerOrderQueryRequest.java new file mode 100644 index 0000000..1c732d5 --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/request/ManagerOrderQueryRequest.java @@ -0,0 +1,50 @@ +package com.cyl.manager.oms.pojo.request; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@ApiModel("后台订单查询请求体") +public class ManagerOrderQueryRequest { + @ApiModelProperty(name = "orderId", value = "订单id", required = true, dataType = "String") + private Long orderId; + + @ApiModelProperty(name = "productId", value = "商品id", required = true, dataType = "Long") + private Long productId; + + @ApiModelProperty(name = "productName", value = "商品名称", required = true, dataType = "String") + private String productName; + + @ApiModelProperty(name = "userPhone", value = "用户名称(手机号)", required = true, dataType = "String") + private String userPhone; + + @ApiModelProperty(name = "payType", value = "支付方式 0->未支付;1->支付宝;2->微信", required = true, dataType = "Integer") + private Integer payType; + + @ApiModelProperty(name = "status", value = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单", required = true, dataType = "String") + private Integer status; + + @ApiModelProperty("省份/直辖市id 精确匹配") + private Long receiverProvinceId; + + @ApiModelProperty("城市id 精确匹配") + private Long receiverCityId; + + @ApiModelProperty("区id 精确匹配") + private Long receiverDistrictId; + + @ApiModelProperty(name = "startTime", value = "开始时间", required = true, dataType = "Date") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date startTime; + + @ApiModelProperty(name = "endTime", value = "结束时间", required = true, dataType = "Date") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date endTime; +} diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/vo/ManagerOrderVO.java b/ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/vo/ManagerOrderVO.java new file mode 100644 index 0000000..4ab3561 --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/vo/ManagerOrderVO.java @@ -0,0 +1,81 @@ +package com.cyl.manager.oms.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@ApiModel(value = "管理后台订单VO") +public class ManagerOrderVO { + @ApiModelProperty(name = "id",value = "订单id",required = true,dataType = "String") + private String id; + + @ApiModelProperty(name = "productId",value = "商品id",required = true,dataType = "Long") + private Long productId; + + @ApiModelProperty(name = "productName",value = "商品名称",required = true,dataType = "String") + private String productName; + + @ApiModelProperty(name = "userPhone",value = "用户账号",required = true,dataType = "String") + private String userPhone; + + @ApiModelProperty(name = "nickName",value = "用户昵称",required = true,dataType = "String") + private String nickName; + + @ApiModelProperty(name = "avatar",value = "用户头像",required = true,dataType = "String") + private String avatar; + + @ApiModelProperty(name = "status",value = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单",required = true,dataType = "Integer") + private Integer status; + + @ApiModelProperty("退款状态,枚举值:1:无售后或售后关闭,2:售后处理中,3:退款中,4: 退款成功") + private Integer aftersaleStatus; + + @ApiModelProperty(name = "pic",value = "商品图片",required = true,dataType = "String") + private String pic; + + @ApiModelProperty(name = "userName",value = "用户名称",required = true,dataType = "String") + private String userName; + + @ApiModelProperty(name = "buyNum",value = "购买数量",required = true,dataType = "Integer") + private Integer buyNum; + + @ApiModelProperty(name = "totalAmount",value = "订单总金额",required = true,dataType = "BigDecimal") + private BigDecimal totalAmount; + + @ApiModelProperty(name = "payAmount",value = "应付金额",required = true,dataType = "BigDecimal") + private BigDecimal payAmount; + + @ApiModelProperty(name = "createTime",value = "下单时间",required = true,dataType = "Date") + private Date createTime; + + @ApiModelProperty(name = "payTime",value = "支付时间",required = true,dataType = "Date") + private Date payTime; + + @ApiModelProperty(name = "payType",value = "支付方式 支付方式:0->未支付;1->支付宝;2->微信",required = true,dataType = "Integer") + private Integer payType; + + @ApiModelProperty(name = "receiveTime",value = "确认收货时间",required = true,dataType = "Date") + private Date receiveTime; + + @ApiModelProperty(name = "note",value = "备注",required = true,dataType = "String") + private String note; + + @ApiModelProperty(name = "spData",value = "商品sku属性",required = true,dataType = "String") + private String spData; + + private String receiverName; + + private String receiverPhone; + + private String receiverProvince; + + private String receiverCity; + + private String receiverDistrict; + + private String receiverDetailAddress; +} diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/vo/OrderVO.java b/ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/vo/OrderVO.java index 3fa4436..ac9fff7 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/vo/OrderVO.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/oms/pojo/vo/OrderVO.java @@ -5,7 +5,6 @@ import java.time.LocalDateTime; import java.util.List; import com.cyl.manager.oms.domain.OrderItem; -import com.cyl.pay.pojo.vo.PayOrderVO; import com.ruoyi.common.annotation.Excel; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseAudit; @@ -107,5 +106,4 @@ public class OrderVO extends BaseAudit { @Excel(name = "确认收货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private LocalDateTime receiveTime; private List items; - private PayOrderVO payOrder; } diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/oms/service/OrderService.java b/ruoyi-mall/src/main/java/com/cyl/manager/oms/service/OrderService.java index 4102a48..d6d44e6 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/oms/service/OrderService.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/oms/service/OrderService.java @@ -23,6 +23,8 @@ import com.cyl.manager.oms.domain.OrderItem; import com.cyl.manager.oms.domain.OrderOperateHistory; import com.cyl.manager.oms.mapper.OrderItemMapper; import com.cyl.manager.oms.mapper.OrderOperateHistoryMapper; +import com.cyl.manager.oms.pojo.request.ManagerOrderQueryRequest; +import com.cyl.manager.oms.pojo.vo.ManagerOrderVO; import com.cyl.manager.oms.pojo.vo.OrderVO; import com.cyl.manager.pms.convert.SkuConvert; import com.cyl.manager.pms.domain.Product; @@ -36,10 +38,12 @@ import com.cyl.manager.ums.mapper.MemberAddressMapper; import com.cyl.manager.ums.mapper.MemberCartMapper; import com.github.pagehelper.PageHelper; import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.utils.AesCryptoUtils; import com.ruoyi.common.utils.IDGenerator; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.framework.config.LocalDataUtil; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; @@ -78,6 +82,8 @@ public class OrderService { private OrderOperateHistoryMapper orderOperateHistoryMapper; @Autowired private MemberCartMapper memberCartMapper; + @Value("${aes.key}") + private String aesKey; /** * 查询订单表 @@ -96,124 +102,14 @@ public class OrderService { * @param page 分页条件 * @return 订单表 */ - public List selectList(OrderQuery query, Pageable page) { + public List selectList(ManagerOrderQueryRequest query, Pageable page) { if (page != null) { PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize()); } - QueryWrapper qw = new QueryWrapper<>(); - Long memberId = query.getMemberId(); - if (memberId != null) { - qw.eq("member_id", memberId); - } - String memberUsernameLike = query.getMemberUsernameLike(); - if (!StringUtils.isEmpty(memberUsernameLike)) { - qw.like("member_username", memberUsernameLike); - } - BigDecimal totalAmount = query.getTotalAmount(); - if (totalAmount != null) { - qw.eq("total_amount", totalAmount); - } - BigDecimal purchasePrice = query.getPurchasePrice(); - if (purchasePrice != null) { - qw.eq("purchase_price", purchasePrice); - } - BigDecimal payAmount = query.getPayAmount(); - if (payAmount != null) { - qw.eq("pay_amount", payAmount); - } - BigDecimal freightAmount = query.getFreightAmount(); - if (freightAmount != null) { - qw.eq("freight_amount", freightAmount); - } - Integer payType = query.getPayType(); - if (payType != null) { - qw.eq("pay_type", payType); - } - Integer status = query.getStatus(); - if (status != null) { - qw.eq("status", status); - } - Integer aftersaleStatus = query.getAftersaleStatus(); - if (aftersaleStatus != null) { - qw.eq("aftersale_status", aftersaleStatus); - } - String deliveryCompany = query.getDeliveryCompany(); - if (!StringUtils.isEmpty(deliveryCompany)) { - qw.eq("delivery_company", deliveryCompany); - } - String deliverySn = query.getDeliverySn(); - if (!StringUtils.isEmpty(deliverySn)) { - qw.eq("delivery_sn", deliverySn); - } - Integer autoConfirmDay = query.getAutoConfirmDay(); - if (autoConfirmDay != null) { - qw.eq("auto_confirm_day", autoConfirmDay); - } - String receiverNameLike = query.getReceiverNameLike(); - if (!StringUtils.isEmpty(receiverNameLike)) { - qw.like("receiver_name", receiverNameLike); - } - String receiverPhone = query.getReceiverPhone(); - if (!StringUtils.isEmpty(receiverPhone)) { - qw.eq("receiver_phone", receiverPhone); - } - String receiverPostCode = query.getReceiverPostCode(); - if (!StringUtils.isEmpty(receiverPostCode)) { - qw.eq("receiver_post_code", receiverPostCode); - } - String receiverProvince = query.getReceiverProvince(); - if (!StringUtils.isEmpty(receiverProvince)) { - qw.eq("receiver_province", receiverProvince); - } - String receiverCity = query.getReceiverCity(); - if (!StringUtils.isEmpty(receiverCity)) { - qw.eq("receiver_city", receiverCity); - } - String receiverDistrict = query.getReceiverDistrict(); - if (!StringUtils.isEmpty(receiverDistrict)) { - qw.eq("receiver_district", receiverDistrict); - } - Long receiverProvinceId = query.getReceiverProvinceId(); - if (receiverProvinceId != null) { - qw.eq("receiver_province_id", receiverProvinceId); - } - Long receiverCityId = query.getReceiverCityId(); - if (receiverCityId != null) { - qw.eq("receiver_city_id", receiverCityId); - } - Long receiverDistrictId = query.getReceiverDistrictId(); - if (receiverDistrictId != null) { - qw.eq("receiver_district_id", receiverDistrictId); - } - String receiverDetailAddress = query.getReceiverDetailAddress(); - if (!StringUtils.isEmpty(receiverDetailAddress)) { - qw.eq("receiver_detail_address", receiverDetailAddress); - } - String note = query.getNote(); - if (!StringUtils.isEmpty(note)) { - qw.eq("note", note); - } - Integer confirmStatus = query.getConfirmStatus(); - if (confirmStatus != null) { - qw.eq("confirm_status", confirmStatus); - } - Integer deleteStatus = query.getDeleteStatus(); - if (deleteStatus != null) { - qw.eq("delete_status", deleteStatus); - } - LocalDateTime paymentTime = query.getPaymentTime(); - if (paymentTime != null) { - qw.eq("payment_time", paymentTime); - } - LocalDateTime deliveryTime = query.getDeliveryTime(); - if (deliveryTime != null) { - qw.eq("delivery_time", deliveryTime); - } - LocalDateTime receiveTime = query.getReceiveTime(); - if (receiveTime != null) { - qw.eq("receive_time", receiveTime); + if (!StringUtils.isEmpty(query.getUserPhone())){ + query.setUserPhone(AesCryptoUtils.encrypt(aesKey, query.getUserPhone())); } - return orderMapper.selectList(qw); + return orderMapper.selectManagerOrderPage(query); } /** @@ -308,11 +204,14 @@ public class OrderService { order.setStatus(Constants.OrderStatus.SEND); order.setAftersaleStatus(1); order.setReceiverName(memberAddress.getName()); -// order.setReceiverPhone(memberAddress.getPhone()); + order.setReceiverPhone(memberAddress.getPhoneHidden()); order.setReceiverPostCode(memberAddress.getPostCode()); order.setReceiverProvince(memberAddress.getProvince()); order.setReceiverCity(memberAddress.getCity()); order.setReceiverDistrict(memberAddress.getDistrict()); + order.setReceiverProvinceId(memberAddress.getProvinceId()); + order.setReceiverCityId(memberAddress.getCityId()); + order.setReceiverDistrictId(memberAddress.getDistrictId()); order.setReceiverDetailAddress(memberAddress.getDetailAddress()); order.setNote(form.getNote()); order.setConfirmStatus(0); diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/ums/domain/MemberAddress.java b/ruoyi-mall/src/main/java/com/cyl/manager/ums/domain/MemberAddress.java index 4537d02..c44bdc4 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/ums/domain/MemberAddress.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/ums/domain/MemberAddress.java @@ -56,6 +56,18 @@ public class MemberAddress extends BaseAudit { @Excel(name = "区") private String district; + @ApiModelProperty("省份/直辖市id") + @Excel(name = "省份/直辖市id") + private Long provinceId; + + @ApiModelProperty("城市id") + @Excel(name = "城市id") + private Long cityId; + + @ApiModelProperty("区id") + @Excel(name = "区id") + private Long districtId; + @ApiModelProperty("详细地址(街道)") @Excel(name = "详细地址(街道)") private String detailAddress; diff --git a/ruoyi-mall/src/main/resources/mapper/oms/OrderMapper.xml b/ruoyi-mall/src/main/resources/mapper/oms/OrderMapper.xml index d63d996..0524421 100644 --- a/ruoyi-mall/src/main/resources/mapper/oms/OrderMapper.xml +++ b/ruoyi-mall/src/main/resources/mapper/oms/OrderMapper.xml @@ -81,4 +81,63 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and receive_time = #{receiveTime} +