diff --git a/src/main/java/cn/chjyj/szwh/controller/BaseController.java b/src/main/java/cn/chjyj/szwh/controller/BaseController.java index e95cfd0..73b3948 100644 --- a/src/main/java/cn/chjyj/szwh/controller/BaseController.java +++ b/src/main/java/cn/chjyj/szwh/controller/BaseController.java @@ -35,55 +35,60 @@ public abstract class BaseController { } } - protected Map orderMap(HttpServletRequest request){ + /** + * 将所有列表中筛选条件,抽取出来 + * @param request 为jsonobject对象 + * @return + */ + protected Map orderMap(JSONObject request){ Map rqmap = new HashMap(); // 订单编号 - String batchcode= request.getParameter("batchcode"); + String batchcode= request.getString("batchcode"); if(StringUtils.isNotBlank(batchcode)){ rqmap.put("batchcode",batchcode); } // - String entrustName=request.getParameter("entrust_name"); + String entrustName=request.getString("entrust_name"); if(StringUtils.isNotBlank(entrustName)){ rqmap.put("entrust_name",entrustName); } // - String buyName=request.getParameter("buy_name"); + String buyName=request.getString("buy_name"); if(StringUtils.isNotBlank(buyName)){ rqmap.put("buy_name",buyName); } //商品名称 - String goodsName=request.getParameter("goods_name"); + String goodsName=request.getString("goods_name"); if(StringUtils.isNotBlank(goodsName)){ rqmap.put("goods_name",goodsName); } // 订单类型 - String orderType= request.getParameter("order_type"); + String orderType= request.getString("order_type"); if(StringUtils.isNotBlank(orderType)){ rqmap.put("order_type",orderType); } - String transactionStatus =request.getParameter("transaction_status"); + String transactionStatus =request.getString("transaction_status"); if(StringUtils.isNotBlank(transactionStatus)){ rqmap.put("transaction_status",transactionStatus); } //创建时间,拆分 -// String createtime=request.getParameter("createtime"); +// String createtime=request.getString("createtime"); // if(StringUtils.isNotBlank(createtime)){ // rqmap.put("createtime",createtime); // } // - String goodsIsli = request.getParameter("goods_isli"); - if(StringUtils.isNotBlank(goodsIsli)){ - rqmap.put("goods_isli",goodsIsli); - } +// String goodsIsli = request.getString("goods_isli"); +// if(StringUtils.isNotBlank(goodsIsli)){ +// rqmap.put("goods_isli",goodsIsli); +// } //充值类型 - String chargesType= request.getParameter("charges_type"); + String chargesType= request.getString("charges_type"); if(StringUtils.isNotBlank(chargesType)){ rqmap.put("charges_type",chargesType); } diff --git a/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java b/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java index 0a1b3af..f537be9 100644 --- a/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java +++ b/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java @@ -6,6 +6,7 @@ import cn.chjyj.szwh.constant.ChConstant; import cn.chjyj.szwh.controller.BaseController; import cn.chjyj.szwh.service.OrderGoodsDetailService; import cn.chjyj.szwh.service.OrderService; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -29,42 +30,22 @@ public class AdminOrderController extends BaseController { @Autowired private OrderGoodsDetailService orderGoodsDetailService; - @PostMapping("/xxlist") - public JSONObject olist(@RequestParam(value = "page",defaultValue = "1") String spage){ - int ipage = Integer.valueOf(spage); - List orderList=orderService.getAllOrderList(ipage); - Map retmap = new HashMap(); - int total = orderService.countAllOrder(); - retmap.put("current_page",spage); - retmap.put("per_page",ChConstant.PAGESIZE); - retmap.put("total",total); - retmap.put("data",orderList); - - - //jsonObject.put("current_page",spage); - //jsonObject.put("per_page", ChConstant.PAGESIZE); - //jsonObject.put("total",total); - jsonObject.put("code",200); - jsonObject.put("data",retmap); - jsonObject.put("msg","成功"); - return jsonObject; - } - /** * 订单列列表 * @return */ @PostMapping("/list") - public JSONObject solist(HttpServletRequest request){ + public JSONObject odlist(@RequestBody String jsonStr){ + JSONObject request = JSONObject.parseObject(jsonStr); Map odmap = orderMap(request); if(odmap.size()==0){ odmap.put("1",1); } - String spage=request.getParameter("page"); + String spage=request.getString("page"); // int page= StringUtils.isNotBlank(spage)?Integer.valueOf(spage):1; - String slimit=request.getParameter("limit"); + String slimit=request.getString("limit"); int limit = StringUtils.isNotBlank(slimit)?Integer.valueOf(slimit):10; Map map = orderService.getOrderList(odmap,page,limit); @@ -85,11 +66,11 @@ public class AdminOrderController extends BaseController { public JSONObject orderDetail(@RequestBody String request){ JSONObject json = JSONObject.parseObject(request); String batchcode = json.getString("batchcode"); - - Order order = orderService.getOrderByBatchcode(batchcode); + // 订单详情 + Map orderMap = orderService.orderDetail(batchcode); jsonObject.put("code",200); jsonObject.put("msg","成功"); - jsonObject.put("data",order); + jsonObject.put("data",orderMap); return jsonObject; } @@ -142,4 +123,5 @@ public class AdminOrderController extends BaseController { jsonObject.put("code",200); return jsonObject; } + } diff --git a/src/main/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapper.java b/src/main/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapper.java index b8527ae..75ade1b 100644 --- a/src/main/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapper.java +++ b/src/main/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapper.java @@ -49,5 +49,14 @@ public interface OrderGoodsDetailMapper { * @param batchcode * @return */ - OrderDetailVo getOrderDetailVo(String batchcode); + List getOrderDetailVo(String batchcode); + + /** + * 获取某个编号的资源下载地址 + * @param batchcode + * @param goodsIslicode + * @return + */ + String getOrderGoodsDetailSourceDownload(@Param("batchcode") String batchcode, + @Param("goodsIslicode") String goodsIslicode); } diff --git a/src/main/java/cn/chjyj/szwh/service/OrderService.java b/src/main/java/cn/chjyj/szwh/service/OrderService.java index 86f821e..74dc75c 100644 --- a/src/main/java/cn/chjyj/szwh/service/OrderService.java +++ b/src/main/java/cn/chjyj/szwh/service/OrderService.java @@ -71,4 +71,5 @@ public interface OrderService { * @return */ int countAllOrder(); + } diff --git a/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java b/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java index 7507a63..95b11e7 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java +++ b/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java @@ -1,17 +1,12 @@ package cn.chjyj.szwh.service.impl; -import cn.chjyj.szwh.bean.Order; -import cn.chjyj.szwh.bean.OrderGoodsDetail; -import cn.chjyj.szwh.bean.OrderGoodsSource; -import cn.chjyj.szwh.bean.OrderUser; +import cn.chjyj.szwh.bean.*; import cn.chjyj.szwh.constant.ChConstant; import cn.chjyj.szwh.exception.ChException; -import cn.chjyj.szwh.mapper.OrderGoodsDetailMapper; -import cn.chjyj.szwh.mapper.OrderGoodsSourceMapper; -import cn.chjyj.szwh.mapper.OrderMapper; -import cn.chjyj.szwh.mapper.OrderUserMapper; +import cn.chjyj.szwh.mapper.*; import cn.chjyj.szwh.service.OrderService; import cn.chjyj.szwh.vo.OrderDetailVo; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -40,6 +35,8 @@ public class OrderServiceImpl implements OrderService { private OrderGoodsDetailMapper orderGoodsDetailMapper; @Autowired private OrderGoodsSourceMapper orderGoodsSourceMapper; + @Autowired + private GoodsSourceMapper goodsSourceMapper; @Override public List getAllOrderList(int page) { @@ -144,37 +141,70 @@ public class OrderServiceImpl implements OrderService { public Map orderDetail(String batchcode) { Map retmap =new HashMap(); // 订单详情及产品信息 - OrderDetailVo ordv =orderGoodsDetailMapper.getOrderDetailVo(batchcode); - if(ordv==null){ + List ordvList =orderGoodsDetailMapper.getOrderDetailVo(batchcode); + if(ordvList==null){ // 订单不存在 - } - // 商品图片 - if(StringUtils.isNotBlank(ordv.getGoods_image())){ - //todo 远程获取图 - } - - // 订单用户 , - OrderUser orderUser = orderUserMapper.getUserOrder(batchcode,ordv.getEntrust_islicode()); - // 显示时候取出ID, - orderUser.setId(null); - orderUser.setBatchcode(null); - retmap.put("userinfo",orderUser); - - //商品来源 - List orderGoodsSourceList = orderGoodsSourceMapper. - getOrderGoodsSourceList(ordv.getSource_id()); - // 遍历 - for(OrderGoodsSource ods:orderGoodsSourceList){ - String sourceData = ods.getSourceData(); - // 转为json - JSONObject json = JSONObject.parseObject(sourceData); - Integer dataType= json.getInteger("datatype"); - // 如果不存在的话,需要进行下载 -// if(dataType==1){ -// -// }else{ -// -// } + log.warn("order miss :"+batchcode+" miss! Check your db pls!"); + }else{ + // 枚举所有的订单详情 + for(OrderDetailVo dv:ordvList){ + // 商品图片 + if(StringUtils.isNotBlank(dv.getGoods_image())){ + //todo 远程获取图 + } + retmap.put("goods",dv); + // 订单用户 , + OrderUser orderUser = orderUserMapper.getUserOrder(batchcode,dv.getEntrust_islicode()); + // 显示时候取出ID, + orderUser.setId(null); + orderUser.setBatchcode(null); + retmap.put("userinfo",orderUser); + + //来源集合 + List orgslist = orderGoodsSourceMapper.getOrderGoodsSourceList(dv.getSource_id()); + //存储整理后的订单商品 + List gatherList = new ArrayList(); + List oneSource = new ArrayList(); + Map info = new HashMap(); + // 罗列出goodssource + for(OrderGoodsSource ods:orgslist){ + JSONObject odsJson = JSONObject.parseObject(ods.getSourceData()); + // 类型 + Integer dataType = ods.getDatatype(); + if(dataType==1){ + info.put("name",ods.getSourceName()); + info.put("class",ods.getSourceType()); + // 从json data 中获取 + info.put("registerDate",odsJson.getString("registerDate")); + info.put("identifier",odsJson.getString("identifier")); + + //符合条件的数量 + int count = goodsSourceMapper.countGoodSource(dv.getGoods_islicode(),1,ods.getSourceidentify()); + info.put("count",count); + gatherList.add(info); + }else{ + Long filesize= odsJson.getLongValue("metadataFileSize"); + info.put("name",ods.getSourceName()); + info.put("class",ods.getSourceType()); + info.put("registerDate",odsJson.getString("registerDate")); + info.put("filesize",filesize); + info.put("metadataFileFormat",odsJson.getString("metadataFileFormat")); + // 资源下载地址 ,json 格式 + String sourceDown= orderGoodsDetailMapper.getOrderGoodsDetailSourceDownload(batchcode,dv.getGoods_islicode()); + JSONArray sdownJsonArray = JSONObject.parseArray(sourceDown); + for(int i=0;i where createtime between #{startTime} and #{endTime} + + +