|
|
|
@ -746,14 +746,13 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public Map<String, Object> queryOrder(Map qmap, Integer userrole, Integer page, Integer limit) { |
|
|
|
public List queryOrder(Map qmap, Integer userrole, Integer page, Integer limit) { |
|
|
|
int start = page > 1 ? (page - 1) * limit : 0; |
|
|
|
|
|
|
|
//订单结算 todo
|
|
|
|
|
|
|
|
List<Order> orderList = orderMapper.getOrderList(qmap, start, limit); |
|
|
|
//
|
|
|
|
Map<String, Object> outmap = new HashMap<>(); |
|
|
|
//最后的结果返回list
|
|
|
|
List outlist =new ArrayList(); |
|
|
|
for (Order od : orderList) { |
|
|
|
Map<String, Object> retmap = new HashMap<>(); |
|
|
|
//订单用户信息
|
|
|
|
@ -775,14 +774,14 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
//固定
|
|
|
|
entrustAmount = accountRatioDetail.getAmount(); |
|
|
|
} |
|
|
|
BigDecimal totalCloseMoney = new BigDecimal("0.00"); |
|
|
|
//总额度
|
|
|
|
if (userrole == 1) { |
|
|
|
BigDecimal totalCloseMoney = new BigDecimal(0.00); |
|
|
|
if (entrustAmount.compareTo(new BigDecimal(0)) < 0) { |
|
|
|
totalCloseMoney = totalCloseMoney.add(od.getTotalMoney()).setScale(2, RoundingMode.HALF_UP); |
|
|
|
} else { |
|
|
|
// 保留2位小数,向上 四舍五入
|
|
|
|
BigDecimal rate = entrustAmount.divide(new BigDecimal(100), 2, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP); |
|
|
|
BigDecimal rate = entrustAmount.divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP); |
|
|
|
totalCloseMoney = totalCloseMoney.add(od.getTotalMoney().multiply(rate)).setScale(2, RoundingMode.HALF_UP); |
|
|
|
} |
|
|
|
retmap.put("close_money", totalCloseMoney); |
|
|
|
@ -791,23 +790,65 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
BigDecimal totalMoney = new BigDecimal(0); |
|
|
|
BigDecimal totalServiceCharge = new BigDecimal(0); |
|
|
|
|
|
|
|
// 处理订单商品返回json格式
|
|
|
|
List odgList = new ArrayList(); |
|
|
|
//订单商品
|
|
|
|
List<OrderGoodsDetail> orderGoodsDetailList = orderGoodsDetailMapper.getOrderGoodsDetailByBatchCode(od.getBatchcode()); |
|
|
|
for (OrderGoodsDetail ogd : orderGoodsDetailList) { |
|
|
|
Map odgmap =new HashMap(); |
|
|
|
retmap.put("close_status", ogd.getCloseStatus()); |
|
|
|
totalMoney = totalMoney.add(ogd.getMoney()).setScale(2, RoundingMode.HALF_UP); |
|
|
|
totalServiceCharge = totalServiceCharge.add(ogd.getServiceCharge()).setScale(2, RoundingMode.HALF_UP); |
|
|
|
// 如果是转让
|
|
|
|
if (ogd.getGoodsEntrust() == 1) { |
|
|
|
retmap.put("transaction_count", "-"); |
|
|
|
// 查询委托方信息
|
|
|
|
OrderUser entrUser = orderUserMapper.getUserOrder(ogd.getBatchcode(),ogd.getIslicode()); |
|
|
|
if(entrUser!=null){ //not null
|
|
|
|
odgmap.put("entrust_name",entrUser.getName()); |
|
|
|
odgmap.put("attesttime",entrUser.getAttesttime()); |
|
|
|
odgmap.put("registertime",entrUser.getRegistertime()); |
|
|
|
odgmap.put("userType",entrUser.getUserType()); |
|
|
|
odgmap.put("authType",entrUser.getAuthType()); |
|
|
|
odgmap.put("state",entrUser.getState()); |
|
|
|
} |
|
|
|
//查询商品状态
|
|
|
|
Goods tgoods = goodsMapper.getGoodsByIsli(ogd.getGoodsIslicode()); |
|
|
|
int igoodsStatus=4; //默认
|
|
|
|
if(tgoods!=null){ |
|
|
|
igoodsStatus = tgoods.getGoodsStatus(); |
|
|
|
} |
|
|
|
odgmap.put("goods_status",igoodsStatus); |
|
|
|
|
|
|
|
//如果是委托方
|
|
|
|
if(userrole==2){ |
|
|
|
if (entrustAmount.compareTo(new BigDecimal(1))!=0) { |
|
|
|
totalCloseMoney = totalCloseMoney.add(ogd.getMoney()); |
|
|
|
}else{ |
|
|
|
BigDecimal tmp = entrustAmount.divide(new BigDecimal("100")).setScale(2); |
|
|
|
totalCloseMoney = totalCloseMoney.add(ogd.getMoney().multiply(tmp)).setScale(2); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 检查委托信息
|
|
|
|
if(ogd.getGoodsEntrust()==1 || (ogd.getChargesType()==1 && ogd.getGoodsEntrust()==2)){ |
|
|
|
odgmap.put("transaction_count","-"); |
|
|
|
} |
|
|
|
retmap.put("entrust_month", ogd.getContractualPeriod()); |
|
|
|
//
|
|
|
|
totalMoney = totalMoney.add(ogd.getMoney()); |
|
|
|
totalServiceCharge = totalServiceCharge.add(ogd.getServiceCharge()); |
|
|
|
//委托周期
|
|
|
|
odgmap.put("entrust_month",ogd.getContractualPeriod()); |
|
|
|
|
|
|
|
//订单商品资源
|
|
|
|
List<OrderGoodsSource> ogsourceList = orderGoodsSourceMapper.getOrderGoodsSourceList(ogd.getId().toString()); |
|
|
|
retmap.put("source", orderGoodsDetailList); |
|
|
|
List ogsJsonList = new ArrayList(); |
|
|
|
for(OrderGoodsSource innerOgs:ogsourceList){ |
|
|
|
Map osgsMap = JSONObject.parseObject(JSON.toJSONString(innerOgs)); |
|
|
|
ogsJsonList.add(osgsMap); |
|
|
|
} |
|
|
|
// convert to json
|
|
|
|
odgmap.put("source", ogsJsonList); |
|
|
|
//
|
|
|
|
odgList.add(odgmap); |
|
|
|
} |
|
|
|
// 商品详情
|
|
|
|
retmap.put("order_detail", orderGoodsDetailList); |
|
|
|
retmap.put("order_detail", odgList); |
|
|
|
//
|
|
|
|
retmap.put("total_money", totalMoney); |
|
|
|
retmap.put("total_service_charge", totalServiceCharge); |
|
|
|
@ -816,10 +857,12 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
if (userrole == 1 && od.getStatus() == 3) { |
|
|
|
retmap.put("status", 4); |
|
|
|
} |
|
|
|
retmap.put("search_close_money", new BigDecimal(0)); |
|
|
|
retmap.put("total_close_money", new BigDecimal(0)); |
|
|
|
|
|
|
|
outlist.add(retmap); |
|
|
|
} |
|
|
|
outmap.put("search_close_money", new BigDecimal(0)); |
|
|
|
outmap.put("total_close_money", new BigDecimal(0)); |
|
|
|
return outmap; |
|
|
|
return outlist; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
|