记得上下班打卡 | git大法好,push需谨慎

Commit 65b4df16 authored by wangyifan's avatar wangyifan

订单列表导出接口

parent e0f96e35
......@@ -2,12 +2,9 @@ package com.liquidnet.service.goblin.service.manage;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinOrderLogVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo;
import com.liquidnet.service.goblin.param.RefundCallbackParam;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.Valid;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
public interface IGoblinStoreOrderService {
......@@ -20,6 +17,14 @@ public interface IGoblinStoreOrderService {
String phone,
Integer status);
void exportOrderList(HttpServletResponse response,
String orderCode,
String cst,
String cet,
String expressContacts,
String phone,
Integer status);
ResponseDto<GoblinStoreOrderListVo> orderDetails(String orderId);
ResponseDto<Boolean> orderCancel(String orderId);
......@@ -32,8 +37,8 @@ public interface IGoblinStoreOrderService {
ResponseDto<Boolean> refundOrderSku(String orderId, String orderSkuId, BigDecimal price);
ResponseDto<Boolean> express(String orderId, String orderSkuIds,String mailNo,String uid,String orderCode);
ResponseDto<Boolean> express(String orderId, String orderSkuIds, String mailNo, String uid, String orderCode);
ResponseDto<Boolean> changeExpressMailNo(String orderId, String mailId,String mailNo);
ResponseDto<Boolean> changeExpressMailNo(String orderId, String mailId, String mailNo);
}
......@@ -4,20 +4,23 @@ import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinMailVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo;
import com.liquidnet.service.goblin.param.RefundCallbackParam;
import com.liquidnet.service.goblin.service.IGoblinOrderService;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreOrderService;
import io.swagger.annotations.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
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;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.List;
@ApiSupport(order = 149101)
@Api(tags = "店铺-订单")
......@@ -55,6 +58,26 @@ public class GoblinStoreOrderController {
return goblinStoreOrderService.orderList(page, orderCode, type, cst, cet, expressContacts, phone, status);
}
@ApiOperation(value = "订单列表导出")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "orderCode", value = "订单编号"),
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "cst", value = "下单起始时间"),
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "cet", value = "下单终止时间"),
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "expressContacts", value = "收货人姓名"),
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "phone", value = "手机号"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "status", value = "订单状态[0-代付款|2-待发货|3-已发货|4-已完成]"),
})
@GetMapping(value = "list/export")
public void exportOrderList(HttpServletResponse response,
@RequestParam(value = "orderCode", required = false) String orderCode,
@RequestParam(value = "cst", required = false) String cst,
@RequestParam(value = "cet", required = false) String cet,
@RequestParam(value = "expressContacts", required = false) String expressContacts,
@RequestParam(value = "phone", required = false) String phone,
@RequestParam(value = "status", required = false) Integer status) {
goblinStoreOrderService.exportOrderList(response, orderCode, cst, cet, expressContacts, phone, status);
}
@ApiOperation(value = "订单详情")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "orderId", value = "订单id"),
......@@ -135,7 +158,7 @@ public class GoblinStoreOrderController {
public ResponseDto<Boolean> express(@RequestParam(value = "orderId", required = true) @Valid String orderId,
@RequestParam(value = "orderSkuIds", required = false) @Valid String orderSkuIds,
@RequestParam(value = "mailNo", required = true) @Valid String mailNo) {
return goblinStoreOrderService.express(orderId, orderSkuIds, mailNo, CurrentUtil.getCurrentUid(),"");
return goblinStoreOrderService.express(orderId, orderSkuIds, mailNo, CurrentUtil.getCurrentUid(), "");
}
@ApiOperation(value = "修改快递单号")
......
......@@ -1423,6 +1423,32 @@ public class GoblinMongoUtils {
//查询销量
int size = 20;
int skipCount = ((page - 1) * size);
Criteria criteria = storeOrderListCriteria(storeId, orderCode, cst, cet, expressContacts, phone, status);
Query query = Query.query(criteria);
query.with(Sort.by(Sort.Order.desc("createdAt")));
query.skip(skipCount).limit(size);
storeOrderListFields(query);
List<GoblinStoreOrderVo> dataList = mongoTemplate.find(query, GoblinStoreOrderVo.class, GoblinStoreOrderVo.class.getSimpleName());
//查询总数量
Query countQuery = Query.query(criteria);
countQuery.fields().include("orderCode");
List<GoblinStoreOrderVo> countList = mongoTemplate.find(countQuery, GoblinStoreOrderVo.class, GoblinStoreOrderVo.class.getSimpleName());
long total = countList.size();
HashMap<String, Object> map = CollectionUtil.mapStringObject();
map.put("data", dataList);
map.put("total", total);
return map;
}
//商品订单导出列表
public List<GoblinStoreOrderVo> storeOrderExportList(String storeId, String orderCode, String cst, String cet, String expressContacts, String phone, Integer status) {
Query query = Query.query(storeOrderListCriteria(storeId, orderCode, cst, cet, expressContacts, phone, status));
query.with(Sort.by(Sort.Order.desc("createdAt")));
storeOrderListFields(query);
return mongoTemplate.find(query, GoblinStoreOrderVo.class, GoblinStoreOrderVo.class.getSimpleName());
}
private Criteria storeOrderListCriteria(String storeId, String orderCode, String cst, String cet, String expressContacts, String phone, Integer status) {
Criteria criteria = Criteria.where("storeId").is(storeId);
if (cst != null && cet != null) {
criteria = criteria.and("createdAt").gte(cst).lt(cet);
......@@ -1439,21 +1465,13 @@ public class GoblinMongoUtils {
if (expressContacts != null) {
criteria = criteria.and("orderAttrVo.expressContacts").is(expressContacts);
}
Query query = Query.query(criteria);
query.with(Sort.by(Sort.Order.desc("createdAt")));
query.skip(skipCount).limit(size);
query.fields().include("orderCode").include("createdAt").include("payType").include("status").include("orderSkuVoIds").include("orderId").include("priceActual").include("priceExpress").include("marketId")
return criteria;
}
private void storeOrderListFields(Query query) {
query.fields().include("orderCode").include("createdAt").include("payType").include("payTime").include("status").include("orderSkuVoIds")
.include("orderId").include("userMobile").include("priceActual").include("priceExpress").include("priceCoupon").include("storePriceCoupon").include("marketId").include("marketType")
.include("orderAttrVo.expressContacts").include("orderAttrVo.expressAddressDetail").include("orderAttrVo.expressAddress").include("orderAttrVo.expressPhone");
List<GoblinStoreOrderVo> dataList = mongoTemplate.find(query, GoblinStoreOrderVo.class, GoblinStoreOrderVo.class.getSimpleName());
//查询总数量
Query countQuery = Query.query(criteria);
countQuery.fields().include("orderCode");
List<GoblinStoreOrderVo> countList = mongoTemplate.find(countQuery, GoblinStoreOrderVo.class, GoblinStoreOrderVo.class.getSimpleName());
long total = countList.size();
HashMap<String, Object> map = CollectionUtil.mapStringObject();
map.put("data", dataList);
map.put("total", total);
return map;
}
//商品退款订单列表
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment