|
|
|
@ -230,14 +230,13 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public Map<String,Object> orderInfo(String bathcode) { |
|
|
|
List xoutList =new ArrayList(); //返回结果list
|
|
|
|
Map retmap =new HashMap(); |
|
|
|
int code=200; |
|
|
|
// 订单基础信息
|
|
|
|
Order bsod = orderMapper.getOrderByBatchcode(bathcode); |
|
|
|
|
|
|
|
retmap.put("order",bsod); |
|
|
|
xoutList.add(retmap); |
|
|
|
|
|
|
|
|
|
|
|
if(bsod==null){ |
|
|
|
log.warn("order warn: "+bathcode+" 订单不存在"); |
|
|
|
@ -247,46 +246,86 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
//订单商品详情
|
|
|
|
List<OrderGoodsDetail> odglist = orderGoodsDetailMapper.getOrderGoodsDetailByBatchCode(bathcode); |
|
|
|
|
|
|
|
List outlist = new ArrayList(); //中转列表
|
|
|
|
|
|
|
|
String entrustName="";//委托人
|
|
|
|
String goods_name = ""; //商品名称
|
|
|
|
String goods_type = ""; // 商品类型
|
|
|
|
//$goods_entrust = [];
|
|
|
|
Set goodsTypeSet =new HashSet(); |
|
|
|
Set goods_entrust= new HashSet(); |
|
|
|
|
|
|
|
|
|
|
|
String goods_ownership_str = ""; //商品主人
|
|
|
|
BigDecimal price = new BigDecimal(0.00);//
|
|
|
|
Integer transaction_count = 0; // 交易次数
|
|
|
|
BigDecimal earnest_money = new BigDecimal(0.00); |
|
|
|
BigDecimal service_charge = new BigDecimal(0.00); |
|
|
|
String contract_code = ""; |
|
|
|
String close_serial_number = ""; |
|
|
|
|
|
|
|
Set entnSet =new HashSet(); |
|
|
|
Set<String> entnSet =new HashSet(); |
|
|
|
String goodsName="";//产品名称
|
|
|
|
String goodsType="";//产品类型
|
|
|
|
List<String> goodsEntrust=new ArrayList<>(); |
|
|
|
String goodsOwnerShipStr=""; |
|
|
|
BigDecimal price=new BigDecimal(0); // 订单金额
|
|
|
|
int transactionCount=0;// 交易次数
|
|
|
|
BigDecimal earnestMoney= new BigDecimal(0); |
|
|
|
BigDecimal serviceCharge=new BigDecimal(0);//服务
|
|
|
|
String contractCode=""; //
|
|
|
|
String closeSerialNumber=""; |
|
|
|
//
|
|
|
|
for(OrderGoodsDetail odg:odglist){ |
|
|
|
// for 每个商品 购买者
|
|
|
|
OrderUser orderUser = orderUserMapper.getUserOrder(bathcode,odg.getEntrustIslicode()); |
|
|
|
entnSet.add(orderUser.getName()); |
|
|
|
//
|
|
|
|
goods_name+=odg.getGoodsName()+","; |
|
|
|
goods_type+=(odg.getGoodsType()==1)? "文化资源数据," : "文化数字内容,"; |
|
|
|
goodsName+=odg.getGoodsName()+","; |
|
|
|
goodsType+=(odg.getGoodsType()==1)? "文化资源数据," : "文化数字内容,"; |
|
|
|
|
|
|
|
//
|
|
|
|
//商品权益
|
|
|
|
String tmstr=odg.getGoodsEntrust()==1?"转让" : "授权"; |
|
|
|
goods_entrust.add(tmstr); |
|
|
|
goodsEntrust.add(tmstr); |
|
|
|
|
|
|
|
//
|
|
|
|
goodsOwnerShipStr += odg.getGoodsOwnershipStr()+","; |
|
|
|
// 用字符串形式保持精度
|
|
|
|
BigDecimal gprice = new BigDecimal(odg.getPrice().toString()); |
|
|
|
price = price.add(gprice); |
|
|
|
//
|
|
|
|
transactionCount+=odg.getTransactionCount(); |
|
|
|
//
|
|
|
|
BigDecimal gear=new BigDecimal(odg.getEarnestMoney().toString()); |
|
|
|
earnestMoney=earnestMoney.add(gear); |
|
|
|
//
|
|
|
|
BigDecimal gsercharge= new BigDecimal(odg.getServiceCharge().toString()); |
|
|
|
serviceCharge=serviceCharge.add(gsercharge); |
|
|
|
//
|
|
|
|
contractCode+=odg.getContractCode()+","; |
|
|
|
//
|
|
|
|
closeSerialNumber+=odg.getCloseSerialNumber()+","; |
|
|
|
} |
|
|
|
|
|
|
|
StringBuffer sb= new StringBuffer(); |
|
|
|
for(String ts:entnSet){ |
|
|
|
sb.append(ts); |
|
|
|
sb.append(","); |
|
|
|
} |
|
|
|
// 添加到对象中
|
|
|
|
Map<String,Object> odinfoMap=new HashMap<>(); |
|
|
|
odinfoMap.put("entrust_name",sb.toString()); |
|
|
|
odinfoMap.put("type",1); |
|
|
|
odinfoMap.put("batchcode",bathcode); |
|
|
|
// 去掉最后一个逗号
|
|
|
|
odinfoMap.put("contract_code",contractCode.substring(0,contractCode.length()-1)); |
|
|
|
odinfoMap.put("close_serial_number",closeSerialNumber.substring(0,closeSerialNumber.length()-1)); |
|
|
|
odinfoMap.put("goods_name",goodsName.substring(0,goodsName.length()-1)); |
|
|
|
odinfoMap.put("goods_type",goodsType.substring(0,goodsType.length()-1)); |
|
|
|
//
|
|
|
|
StringBuffer gsb=new StringBuffer(); |
|
|
|
for(String ges:goodsEntrust){ |
|
|
|
gsb.append(ges); |
|
|
|
gsb.append(","); |
|
|
|
} |
|
|
|
String gestr=gsb.toString(); |
|
|
|
odinfoMap.put("goods_entrust",gestr.substring(0,gestr.length()-1)); |
|
|
|
//
|
|
|
|
odinfoMap.put("goods_ownership_str",goodsOwnerShipStr.substring(0,goodsOwnerShipStr.length()-1)); |
|
|
|
odinfoMap.put("price",price); |
|
|
|
odinfoMap.put("transaction_count",transactionCount); |
|
|
|
odinfoMap.put("earnest_money",earnestMoney); |
|
|
|
odinfoMap.put("service_charge",serviceCharge); |
|
|
|
odinfoMap.put("total_money",bsod.getTotalMoney()); |
|
|
|
retmap.put("order_info",odinfoMap); |
|
|
|
|
|
|
|
//购买者
|
|
|
|
OrderUser buyuser= orderUserMapper.getUserOrder(bathcode,bsod.getBuyIslicode()); |
|
|
|
retmap.put("buyuser",buyuser); |
|
|
|
|
|
|
|
//分账比例 todo
|
|
|
|
//分账比例
|
|
|
|
retmap.put("ratio_setting",null); |
|
|
|
|
|
|
|
// 资金结算表
|
|
|
|
|