Browse Source

订单明细优化

master
xyiege 4 years ago
parent
commit
5366dde4c8
  1. 31
      src/main/java/cn/chjyj/szwh/controller/BaseController.java
  2. 36
      src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java
  3. 11
      src/main/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapper.java
  4. 1
      src/main/java/cn/chjyj/szwh/service/OrderService.java
  5. 106
      src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java
  6. 8
      src/main/resources/mapper/szwh/OrderGoodsDetailMapper.xml

31
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);
}

36
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<Order> 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;
}
}

11
src/main/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapper.java

@ -49,5 +49,14 @@ public interface OrderGoodsDetailMapper {
* @param batchcode
* @return
*/
OrderDetailVo getOrderDetailVo(String batchcode);
List<OrderDetailVo> getOrderDetailVo(String batchcode);
/**
* 获取某个编号的资源下载地址
* @param batchcode
* @param goodsIslicode
* @return
*/
String getOrderGoodsDetailSourceDownload(@Param("batchcode") String batchcode,
@Param("goodsIslicode") String goodsIslicode);
}

1
src/main/java/cn/chjyj/szwh/service/OrderService.java

@ -71,4 +71,5 @@ public interface OrderService {
* @return
*/
int countAllOrder();
}

106
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<Order> getAllOrderList(int page) {
@ -144,37 +141,70 @@ public class OrderServiceImpl implements OrderService {
public Map<String, Object> orderDetail(String batchcode) {
Map retmap =new HashMap();
// 订单详情及产品信息
OrderDetailVo ordv =orderGoodsDetailMapper.getOrderDetailVo(batchcode);
if(ordv==null){
List<OrderDetailVo> 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<OrderGoodsSource> 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<OrderGoodsSource> 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<sdownJsonArray.size();i++){
if(sdownJsonArray.getJSONObject(i).getString("islicode").equals(ods.getLinkcode())){
// 是否已经下载。更新下载状态
info.put("download_status",sdownJsonArray.getJSONObject(i).getString("status"));
}
}
oneSource.add(info);
}
}
retmap.put("gather_arr",gatherList);
retmap.put("oneSource",oneSource);
}
}
return retmap;

8
src/main/resources/mapper/szwh/OrderGoodsDetailMapper.xml

@ -48,6 +48,14 @@
select count(*) from <include refid="tbName"/> where createtime between #{startTime} and #{endTime}
</select>
<!-- 获取某个资源的下载地址 -->
<select id="getOrderGoodsDetailSourceDownload" parameterType="java.lang.String" resultType="java.lang.String">
select source_download
from <include refid="tbName"/>
where batchcode=#{batchcode}
and goods_islicode=#{goodsIslicode}
</select>
<!-- 订单综合查询 -->
<select id="getOrderDetailVo" parameterType="java.lang.String" resultType="cn.chjyj.szwh.vo.OrderDetailVo">

Loading…
Cancel
Save