Authored by caoyan

订单管理

... ... @@ -42,7 +42,9 @@ public class BuyerOrderReq extends PageRequestBO{
private Integer navStatus;//头部bar的选中状态
private String expressType;//物流类型; 1:卖家到鉴定中心,2:鉴定中心到买家,3:鉴定中心退回到卖家
private Integer expressType;//物流类型; 1:卖家到鉴定中心,2:鉴定中心到买家,3:鉴定中心退回到卖家
private String expressTypeStr;
private String receiveName;
... ... @@ -170,14 +172,22 @@ public class BuyerOrderReq extends PageRequestBO{
this.navStatus = navStatus;
}
public String getExpressType() {
public Integer getExpressType() {
return expressType;
}
public void setExpressType(String expressType) {
public void setExpressType(Integer expressType) {
this.expressType = expressType;
}
public String getExpressTypeStr() {
return expressTypeStr;
}
public void setExpressTypeStr(String expressTypeStr) {
this.expressTypeStr = expressTypeStr;
}
public String getReceiveName() {
return receiveName;
}
... ...
... ... @@ -102,7 +102,7 @@ public class BuyerOrderController {
@RequestMapping(value = "/queryExpressList")
public ApiResponse queryExpressList(BuyerOrderReq req) {
List<ExpressInfoResp> result = buyerOrderService.queryExpressList(req.getOrderCode(), req.getExpressType());
List<ExpressInfoResp> result = buyerOrderService.queryExpressList(req.getOrderCode(), req.getExpressTypeStr());
return new ApiResponse.ApiResponseBuilder().code(200).message("获取信息成功").data(result).build();
}
... ...
... ... @@ -199,12 +199,24 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
//查询卖家快递单号
List<ExpressRecord> expressRecordList =expressRecordMapper.selectByOrderCodeListAndType(buyerOrderCodeList, Lists.newArrayList(EXPRESS_TYPE_SELLER_TO_JUDGE));
Map<String, ExpressRecord> expressRecordMap = expressRecordList.stream().collect(Collectors.toMap(ExpressRecord::getOrderCode, e->e));
List<Integer> sellerExpressCompanyIdList = expressRecordList.stream().map(ExpressRecord::getLogisticsType).collect(Collectors.toList());
//查询平台快递单号
List<ExpressRecord> platformExpressList = expressRecordMapper.selectByOrderCodeListAndType(buyerOrderCodeList, Lists.newArrayList(EXPRESS_TYPE_JUDGE_TO_BUYER, EXPRESS_TYPE_JUDGE_TO_SELLER));
Map<String, ExpressRecord> platformExpressRecordMap = platformExpressList.stream().collect(Collectors.toMap(ExpressRecord::getOrderCode, e->e));
List<Integer> platformExpressCompanyIdList = platformExpressList.stream().map(ExpressRecord::getLogisticsType).collect(Collectors.toList());
List<BuyerOrderResp> respList = convertToResp(orderList, buyerGoodsMap, sellerOrderMap, sellerGoodsMap,expressRecordMap, platformExpressRecordMap);
//查询快递公司名称
List<Integer> expressCompanyIdList = Lists.newArrayList();
expressCompanyIdList.addAll(sellerExpressCompanyIdList);
expressCompanyIdList.addAll(platformExpressCompanyIdList);
Map<Integer, String> companyMap = Maps.newHashMap();
if(CollectionUtils.isNotEmpty(expressCompanyIdList)) {
List<ExpressCompany> companyList = expressCompanyMapper.selectByIdList(expressCompanyIdList);
companyMap = companyList.stream().collect(Collectors.toMap(ExpressCompany::getId, ExpressCompany::getCompanyName));
}
List<BuyerOrderResp> respList = convertToResp(orderList, buyerGoodsMap, sellerOrderMap, sellerGoodsMap,expressRecordMap, platformExpressRecordMap, companyMap);
PageResponseBO<BuyerOrderResp> result=new PageResponseBO<>();
result.setList(respList);
... ... @@ -238,6 +250,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
bo.setOrderCode(Long.valueOf(buyerOrder.getOrderCode()));
bo.setExpressCompanyId(req.getExpressCompanyId());
bo.setWayBillCode(req.getWaybillCode());
bo.setDepotNum(req.getDepotNo());
JSONObject jsonObject = serviceCaller.call(args, bo, JSONObject.class);
LOGGER.info("call orderAppraise result is {}", jsonObject.toJSONString());
if(jsonObject.getIntValue("code") != 200) {
... ... @@ -258,6 +271,13 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
result.setReceiveName(metaValue.getString("addresseeName"));
result.setReceiveMobile(metaValue.getString("mobile"));
result.setReceiveAddress(getAddressInfo(metaValue.getString("areaCode")));
ExpressRecord record = expressRecordMapper.selectByOrderCodeAndType(req.getOrderCode(), null, EXPRESS_TYPE_JUDGE_TO_BUYER);
if(null == record) {
return result;
}
result.setPlatformWaybillCode(record.getWaybillCode());
List<ExpressCompany> companyList = expressCompanyMapper.selectByIdList(Lists.newArrayList(record.getLogisticsType()));
result.setExpressCompanyName(companyList.get(0).getCompanyName());
return result;
}
... ... @@ -273,6 +293,14 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
result.setReceiveMobile(metaValue.getString("phone"));
result.setReceiveAddress(metaValue.getString("address"));
ExpressRecord record = expressRecordMapper.selectByOrderCodeAndType(req.getOrderCode(), null, EXPRESS_TYPE_JUDGE_TO_SELLER);
if(null == record) {
return result;
}
result.setPlatformWaybillCode(record.getWaybillCode());
List<ExpressCompany> companyList = expressCompanyMapper.selectByIdList(Lists.newArrayList(record.getLogisticsType()));
result.setExpressCompanyName(companyList.get(0).getCompanyName());
return result;
}
... ... @@ -592,7 +620,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
private List<BuyerOrderResp> convertToResp(List<BuyerOrder> orderList, Map<String, BuyerOrderGoods> buyerGoodsMap,
Map<Integer, SellerOrder> sellerOrderMap, Map<Integer, SellerOrderGoods> sellerGoodsMap, Map<String, ExpressRecord> expressInfoMap,
Map<String, ExpressRecord> platformExpressRecordMap){
Map<String, ExpressRecord> platformExpressRecordMap, Map<Integer, String> companyMap){
List<BuyerOrderResp> respList = Lists.newArrayList();
for(BuyerOrder item : orderList) {
if(null == buyerGoodsMap.get(item.getOrderCode())) {
... ... @@ -617,7 +645,13 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
resp.setSizeName(sellerGoodsMap.get(skup).getSizeName());
resp.setGoodsPrice(String.format("%.2f", buyerGoodsMap.get(item.getOrderCode()).getGoodsPrice().doubleValue()));
resp.setAmount(null == item.getAmount() ? null : String.format("%.2f", item.getAmount().doubleValue()));
resp.setPlatformWaybillCode(null == platformExpressRecordMap.get(item.getOrderCode()) ? "" : platformExpressRecordMap.get(item.getOrderCode()).getWaybillCode());
ExpressRecord platformExpressRecord = platformExpressRecordMap.get(item.getOrderCode());
if(null != platformExpressRecord) {
String platformWaybillCode = platformExpressRecord.getWaybillCode();
Integer logisticsType = platformExpressRecord.getLogisticsType();
String companyName = companyMap.get(logisticsType);
resp.setPlatformWaybillCode(platformWaybillCode + "(" + companyName + ")");
}
respList.add(resp);
}
... ...
<!DOCTYPE html>
<html lang="en">
<head>
<title>main</title>
<script src="/ufoPlatform/js/include.js"></script>
</head>
<body class="easyui-layout" fit="true">
<div id="buyerReceiveInfoDiv" region="center">
<table id="passTable" border="1px" cellpadding="1" cellspacing="0" align="center"
style="margin-top: 30px; line-height: 30px;width:95%;border-color: #999999">
<tr>
<td>快递公司:</td>
<td colspan="2" >
<span id="expressCompanyName"></span>
</td>
</tr>
<tr>
<td>快递单号:</td>
<td colspan="2">
<span id="waybillCode"></span>
</td>
</tr>
<tr>
<td>姓名:</td>
<td colspan="2">
<span id="receiveName"></span>
</td>
</tr>
<tr>
<td>手机号:</td>
<td colspan="2">
<span id="receiveMobile"></span>
</td>
</tr>
<tr>
<td>地址:</td>
<td colspan="2">
<span id="receiveAddress"></span>
</td>
</tr>
</table>
</div>
<script>
$(function () {
//根据买家订单号获取买家收货信息
getReceiveInfo();
});
function getReceiveInfo(){
var form = new FormData();
form.append("orderCode", document.getElementById("buyerOrderCode").value);
//发送请求
$.ajax({
type: "POST",
url: contextPath + '/buyerOrder/getReceiveInfoByOrderCode',
data: form,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (result) {
if(result.code == 200) {
$("#expressCompanyName").html(result.data.expressCompanyName);
$("#waybillCode").html(result.data.platformWaybillCode);
$("#receiveName").html(result.data.receiveName);
$("#receiveMobile").html(result.data.receiveMobile);
$("#receiveAddress").html(result.data.receiveAddress);
}
else {
$.messager.alert("失败", result.message, "error");
}
}
});
}
</script>
</body>
</html>
\ No newline at end of file
... ...
... ... @@ -107,10 +107,11 @@ $(function() {
onChange : function(newValue, oldValue){
getCountByJudgeStatus();
var depotNo = $("#depotNo").combobox("getValue");
$("#orderListTable").datagrid("load", {
$("#orderListTable").datagrid("reload", {
statusStr : "2,3",
depotNo : depotNo
});
//$("#tt").panel('refresh');
}
});
... ... @@ -396,6 +397,20 @@ function getAlreadyJudgedList(){
field: "createTimeStr",
width: 20,
align: "center"
},{
title: "操作",
field: "asdf",
width: 40,
align: "center",
formatter: function (value, rowData, rowIndex) {
if (rowData.status == 4) {//鉴定通过
return "<a role='buyerReceiveInfo' dataId='"+ rowData.orderCode +"' style='margin-left:10px;background-color: #5cb85c !important;'>买家收货地址</a>" +
"<a role='viewExpress' dataId='"+ rowData.orderCode +"' style='margin-left:10px;background-color: #5cb85c !important;'>查看物流</a>";
} else if (rowData.status == 13) {//鉴定不通过
return "<a role='rebackAddress' skup='"+ rowData.skup +"' style='margin-left:10px;background-color: #5cb85c !important;'>商品寄回地址</a>"+
"<a role='viewExpress' dataId='"+ rowData.orderCode + "' style='margin-left:10px;background-color: #5cb85c !important;'>查看物流</a>";
}
}
}]],
cache: false,
pagination: true,
... ... @@ -403,10 +418,96 @@ function getAlreadyJudgedList(){
idField: "id",
singleSelect: true,
onLoadSuccess: function (data) {
$(this).datagrid("getPanel").find("a[role='buyerReceiveInfo']").linkbutton({
onClick: function () {
var buyerOrderCode = $(this).attr("dataId");
$("#buyerOrderCode").val(buyerOrderCode);
buyerReceiveInfoPage();
}
});
$(this).datagrid("getPanel").find("a[role='rebackAddress']").linkbutton({
onClick: function () {
var skup = $(this).attr("skup");
$("#skup").val(skup);
rebackAddressPage();
}
});
$(this).datagrid("getPanel").find("a[role='viewExpress']").linkbutton({
onClick: function () {
var buyerOrderCode = $(this).attr("dataId");
$("#buyerOrderCode").val(buyerOrderCode);
viewExpressPage(buyerOrderCode);
}
});
}
});
}
function buyerReceiveInfoPage() {
var div = $("<div id='buyerReceiveInfoDiv'>").appendTo($(document.body));
var url = contextPath + "/html/judgeCenter/buyerReceiveInfo.html";
$(div).myDialog({
width: "50%",
height: "60%",
title: "买家收货地址",
href: url,
modal: true,
collapsible: true,
cache: false,
buttons: [{
text: "取消",
iconCls: "icon-cancel",
handler: function () {
$(div).dialog("close");
}
}]
});
}
function rebackAddressPage() {
var div = $("<div id='rebackAddressDiv'>").appendTo($(document.body));
var url = contextPath + "/html/judgeCenter/rebackAddress.html";
$(div).myDialog({
width: "50%",
height: "60%",
title: "商品寄回地址",
href: url,
modal: true,
collapsible: true,
cache: false,
buttons: [{
text: "取消",
iconCls: "icon-cancel",
handler: function () {
$(div).dialog("close");
}
}]
});
}
function viewExpressPage() {
var div = $("<div id='viewExpressDiv'>").appendTo($(document.body));
var url = contextPath + "/html/judgeCenter/viewExpress.html";
$(div).myDialog({
width: "50%",
height: "60%",
title: "平台发货物流信息",
href: url,
modal: true,
collapsible: true,
cache: false,
buttons: [{
text: "取消",
iconCls: "icon-cancel",
handler: function () {
$(div).dialog("close");
}
}]
});
}
function addPassPage(id) {
var div = $("<div id='passDiv'>").appendTo($(document.body));
var url = contextPath + "/html/judgeCenter/pass.html";
... ... @@ -478,9 +579,12 @@ function deliverGoods(id){
id : id,
status : 4,
expressCompanyId : expressCompanyId,
waybillCode : waybillCode
waybillCode : waybillCode,
depotNo: $("#depotNo").combobox("getValue")
}, function(data) {
if (data.code == 200) {
//获取鉴定状态对应的记录数
getCountByJudgeStatus();
$("#passDiv").dialog("close");
$("#orderListTable").datagrid("reload");
window.self.$.messager.show({
... ... @@ -509,9 +613,12 @@ function sendBackGoods(id){
id : id,
status : 13,
expressCompanyId : expressCompanyId,
waybillCode : waybillCode
waybillCode : waybillCode,
depotNo: $("#depotNo").combobox("getValue")
}, function(data) {
if (data.code == 200) {
//获取鉴定状态对应的记录数
getCountByJudgeStatus();
$("#rejectDiv").dialog("close");
$("#orderListTable").datagrid("reload");
window.self.$.messager.show({
... ...
<!DOCTYPE html>
<html lang="en">
<head>
<title>main</title>
<script src="/ufoPlatform/js/include.js"></script>
</head>
<body class="easyui-layout" fit="true">
<div id="rebackAddressDiv" region="center">
<table id="passTable" border="1px" cellpadding="1" cellspacing="0" align="center"
style="margin-top: 30px; line-height: 30px;width:95%;border-color: #999999">
<tr>
<td>快递公司:</td>
<td colspan="2" >
<span id="expressCompanyName"></span>
</td>
</tr>
<tr>
<td>快递单号:</td>
<td colspan="2">
<span id="waybillCode"></span>
</td>
</tr>
<tr>
<td>姓名:</td>
<td colspan="2">
<span id="receiveName"></span>
</td>
</tr>
<tr>
<td>手机号:</td>
<td colspan="2">
<span id="receiveMobile"></span>
</td>
</tr>
<tr>
<td>地址:</td>
<td colspan="2">
<span id="receiveAddress"></span>
</td>
</tr>
</table>
</div>
<script>
$(function () {
//获取寄回地址信息
getRebackAddress();
});
function getRebackAddress(){
var form = new FormData();
form.append("skup", document.getElementById("skup").value);
//发送请求
$.ajax({
type: "POST",
url: contextPath + '/buyerOrder/getSendBackInfoBySkup',
data: form,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (result) {
if(result.code == 200) {
$("#expressCompanyName").html(result.data.expressCompanyName);
$("#waybillCode").html(result.data.platformWaybillCode);
$("#receiveName").html(result.data.receiveName);
$("#receiveMobile").html(result.data.receiveMobile);
$("#receiveAddress").html(result.data.receiveAddress);
}
else {
$.messager.alert("失败", result.message, "error");
}
}
});
}
</script>
</body>
</html>
\ No newline at end of file
... ...
<!DOCTYPE html>
<html lang="en">
<head>
<title>main</title>
<script src="/ufoPlatform/js/include.js"></script>
</head>
<body class="easyui-layout" fit="true">
<div id="viewExpressDiv" region="center">
<table id="expressTable" border="1px" cellpadding="1" cellspacing="0" align="center"
style="margin-top: 30px; line-height: 30px;width:95%;border-color: #999999">
</table>
</div>
<script>
$(function () {
//获取物流信息
getExpressInfo();
});
function getExpressInfo(){
var form = new FormData();
form.append("orderCode", document.getElementById("buyerOrderCode").value);
form.append("expressTypeStr", "2,3");
//发送请求
$.ajax({
type: "POST",
url: contextPath + '/buyerOrder/queryExpressList',
data: form,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (result) {
if(result.code == 200) {
var arr = result.data;
var str = "<tr><th>运单信息</th><th>时间</th></tr>"
for(i=0; i<arr.length; i++){
str = str + "<tr><td>" + arr[i].acceptRemark + "</td><td>" + arr[i].createTimeStr + "</td></tr>";
}
$("#expressTable").html(str);
}
else {
$.messager.alert("失败", result.message, "error");
}
}
});
}
</script>
</body>
</html>
\ No newline at end of file
... ...
... ... @@ -461,7 +461,7 @@ function getExpressList(orderCode){
method: 'POST',
queryParams: {
orderCode: orderCode,
expressType: "2,3"
expressTypeStr: "2,3"
},
loadFilter: function (data) {
var temp = defaultLoadFilter(data);
... ...