Authored by mali

Merge branch 'master' of http://git.yoho.cn/ufo/ufo-platform

package com.yoho.order.dal;
import java.util.List;
import com.yoho.order.model.ExpressCompany;
/**
* Created by caoyan on 2018/9/12.
*/
public interface ExpressCompanyMapper {
List<ExpressCompany> selectAll();
}
... ...
package com.yoho.order.dal;
import org.apache.ibatis.annotations.Param;
import com.yoho.order.model.SellerOrderMeta;
/**
* Created by caoyan on 2018/9/12.
*/
public interface SellerOrderMetaMapper {
SellerOrderMeta selectBySkupAndKey(@Param("skup") Integer skup, @Param("metaKey") String metaKey);
}
... ...
package com.yoho.order.model;
import java.io.Serializable;
/**
* @author caoyan
* @date 2018/9/13
*/
public class ExpressCompany implements Serializable {
private static final long serialVersionUID = 2607922995706119816L;
private Integer id;
private String companyName;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
@Override
public String toString() {
return "ExpressInfo{" +
"id=" + id +
", companyName='" + companyName + '\'' +
'}';
}
}
... ...
package com.yoho.order.model;
import java.io.Serializable;
/**
* @author caoyan
* @date 2018/9/13
*/
public class SellerOrderMeta implements Serializable {
private static final long serialVersionUID = 2607922995706119816L;
private Integer id;
private Integer skup;
private Integer uid;
private String metaKey;
private String metaValue;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getSkup() {
return skup;
}
public void setSkup(Integer skup) {
this.skup = skup;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getMetaKey() {
return metaKey;
}
public void setMetaKey(String metaKey) {
this.metaKey = metaKey;
}
public String getMetaValue() {
return metaValue;
}
public void setMetaValue(String metaValue) {
this.metaValue = metaValue;
}
@Override
public String toString() {
return "SellerOrderMeta{" +
"id=" + id +
", uid='" + uid + '\'' +
", skup='" + skup + '\'' +
", metaKey='" + metaKey + '\'' +
", metaValue=" + metaValue +
'}';
}
}
... ...
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yoho.order.dal.ExpressCompanyMapper">
<resultMap id="BaseResultMap" type="com.yoho.order.model.ExpressCompany">
<result column="id" property="id" jdbcType="INTEGER" />
<result column="company_name" property="companyName" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List">
id, company_name
</sql>
<select id="selectAll" resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from express_company
</select>
</mapper>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yoho.order.dal.SellerOrderMetaMapper">
<resultMap id="BaseResultMap" type="com.yoho.order.model.SellerOrderMeta">
<result column="id" property="id" jdbcType="INTEGER" />
<result column="skup" property="skup" jdbcType="INTEGER" />
<result column="uid" property="uid" jdbcType="INTEGER" />
<result column="meta_key" property="metaKey" jdbcType="VARCHAR" />
<result column="meta_value" property="metaValue" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List">
id, skup, uid, meta_key, meta_value
</sql>
<select id="selectBySkupAndKey" resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from seller_order_meta where skup=#{skup} and meta_key=#{metaKey}
</select>
</mapper>
\ No newline at end of file
... ...
package com.yoho.ufo.order.controller;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
... ... @@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.yoho.order.model.BuyerOrderReq;
import com.yoho.order.model.ExpressCompany;
import com.yoho.ufo.order.service.IBuyerOrderService;
import com.yoho.ufo.service.model.ApiResponse;
import com.yoho.ufo.service.model.PageResponseBO;
... ... @@ -61,4 +63,23 @@ public class BuyerOrderController {
}
return new ApiResponse.ApiResponseBuilder().code(200).message("获取信息成功").data(result).build();
}
@RequestMapping(value = "/getSendBackInfoBySkup")
public ApiResponse getSendBackInfoBySkup(BuyerOrderReq req) {
if(null == req || null == req.getSkup()) {
return new ApiResponse.ApiResponseBuilder().code(500).message("参数有误").build();
}
BuyerOrderResp result = buyerOrderService.getSendBackInfoBySkup(req);
if(null == result) {
return new ApiResponse.ApiResponseBuilder().code(500).message("获取收货信息失败").build();
}
return new ApiResponse.ApiResponseBuilder().code(200).message("获取信息成功").data(result).build();
}
@RequestMapping(value = "/queryExpressCompanyList")
public ApiResponse queryExpressCompanyList() {
List<ExpressCompany> result = buyerOrderService.queryAllExpressCompanyList();
return new ApiResponse.ApiResponseBuilder().code(200).message("获取信息成功").data(result).build();
}
}
... ...
package com.yoho.ufo.order.service;
import java.util.List;
import java.util.Map;
import com.yoho.order.model.BuyerOrderReq;
import com.yoho.order.model.ExpressCompany;
import com.yoho.ufo.service.model.PageResponseBO;
import com.yohobuy.ufo.model.order.resp.BuyerOrderResp;
... ... @@ -18,4 +20,8 @@ public interface IBuyerOrderService {
int updateOrderStatus(BuyerOrderReq req);
BuyerOrderResp getReceiveInfoByOrderCode(BuyerOrderReq req);
List<ExpressCompany> queryAllExpressCompanyList();
BuyerOrderResp getSendBackInfoBySkup(BuyerOrderReq req);
}
... ...
... ... @@ -21,16 +21,20 @@ import com.yoho.core.rest.client.ServiceCaller;
import com.yoho.order.dal.BuyerOrderGoodsMapper;
import com.yoho.order.dal.BuyerOrderMapper;
import com.yoho.order.dal.BuyerOrderMetaMapper;
import com.yoho.order.dal.ExpressCompanyMapper;
import com.yoho.order.dal.ExpressInfoMapper;
import com.yoho.order.dal.SellerOrderGoodsMapper;
import com.yoho.order.dal.SellerOrderMapper;
import com.yoho.order.dal.SellerOrderMetaMapper;
import com.yoho.order.model.BuyerOrder;
import com.yoho.order.model.BuyerOrderGoods;
import com.yoho.order.model.BuyerOrderMeta;
import com.yoho.order.model.BuyerOrderReq;
import com.yoho.order.model.ExpressCompany;
import com.yoho.order.model.ExpressInfo;
import com.yoho.order.model.SellerOrder;
import com.yoho.order.model.SellerOrderGoods;
import com.yoho.order.model.SellerOrderMeta;
import com.yoho.ufo.order.constant.Constant;
import com.yoho.ufo.order.service.IBuyerOrderService;
import com.yoho.ufo.service.model.PageResponseBO;
... ... @@ -64,10 +68,18 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
private BuyerOrderMetaMapper buyerOrderMetaMapper;
@Autowired
private SellerOrderMetaMapper sellerOrderMetaMapper;
@Autowired
private ExpressCompanyMapper expressCompanyMapper;
@Autowired
private ServiceCaller serviceCaller;
private static final String BUYER_ORDER_META_KEY_DELIVERY_ADDRESS = "delivery_address";
private static final String SELLER_ORDER_META_KEY_BACK_DELIVERY_ADDRESS = "back_delivery_address";
public Map<String, Integer> getCountByJudgeStatus(){
List<Byte> toBeJudgedList = Lists.newArrayList();
List<Byte> alreadyJudgedList = Lists.newArrayList();
... ... @@ -153,6 +165,24 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
return result;
}
public BuyerOrderResp getSendBackInfoBySkup(BuyerOrderReq req) {
SellerOrderMeta meta = sellerOrderMetaMapper.selectBySkupAndKey(req.getSkup(), SELLER_ORDER_META_KEY_BACK_DELIVERY_ADDRESS);
if(null == meta) {
return null;
}
JSONObject metaValue = JSONObject.parseObject(meta.getMetaValue());
BuyerOrderResp result = new BuyerOrderResp();
result.setReceiveName(metaValue.getString("consignee"));
result.setReceiveMobile(metaValue.getString("phone"));
result.setReceiveAddress(metaValue.getString("address"));
return result;
}
public List<ExpressCompany> queryAllExpressCompanyList() {
return expressCompanyMapper.selectAll();
}
private String rebuildReceiveAddress(JSONObject address) {
String fourthName = address.getString("caption");
JSONObject thirdObj = address.getJSONObject("parent");
... ...
... ... @@ -23,6 +23,9 @@ datasources:
- com.yoho.order.dal.ExpressInfoMapper
- com.yoho.order.dal.BuyerOrderGoodsMapper
- com.yoho.order.dal.BuyerOrderMetaMapper
- com.yoho.order.dal.ExpressCompanyMapper
- com.yoho.order.dal.BuyerOrderMetaMapper
- com.yoho.order.dal.SellerOrderMetaMapper
readOnlyInSlave: true
... ...
... ... @@ -23,5 +23,8 @@ datasources:
- com.yoho.order.dal.ExpressInfoMapper
- com.yoho.order.dal.BuyerOrderGoodsMapper
- com.yoho.order.dal.BuyerOrderMetaMapper
- com.yoho.order.dal.ExpressCompanyMapper
- com.yoho.order.dal.BuyerOrderMetaMapper
- com.yoho.order.dal.SellerOrderMetaMapper
readOnlyInSlave: ${readOnlyInSlave}
... ...
... ... @@ -7,6 +7,7 @@
</head>
<body class="easyui-layout">
<input type="hidden" id="buyerOrderCode">
<input type="skup" id="skup">
<div region="north" style="height:300px;">
<script>
document.write(addHead('鉴定中心', '列表管理'));
... ... @@ -262,8 +263,8 @@ function getToBeJudgedList(){
if (rowData.status == 2) {
return "<a role='confirm' dataId='"+ rowData.id +"' style='margin-left:10px;background-color: #5cb85c !important;'>确认收货</a>";
} else if (rowData.status == 3) {
return "<a role='pass' dataId='"+ rowData.orderCode +"' style='margin-left:10px;background-color: #5cb85c !important;'>鉴定通过</a>"+
"<a role='reject' dataId='"+ rowData.skup +"' style='margin-left:10px;background-color: #d9534f !important;'>鉴定不通过</a>";
return "<a role='pass' dataId='"+ rowData.id + "'" + " orderCode='"+rowData.orderCode +"' style='margin-left:10px;background-color: #5cb85c !important;'>鉴定通过</a>"+
"<a role='reject' dataId='"+ rowData.id + "'" + " skup='"+rowData.skup +"' style='margin-left:10px;background-color: #d9534f !important;'>鉴定不通过</a>";
}
}
}]],
... ... @@ -298,16 +299,17 @@ function getToBeJudgedList(){
});
$(this).datagrid("getPanel").find("a[role='pass']").linkbutton({
onClick: function () {
var buyerOrderCode = $(this).attr("dataId");
var buyerOrderCode = $(this).attr("orderCode");
$("#buyerOrderCode").val(buyerOrderCode);
addPassPage();
addPassPage($(this).attr("dataId"));
}
});
$(this).datagrid("getPanel").find("a[role='reject']").linkbutton({
onClick: function () {
var skup = $(this).attr("dataId");
addRejectPage(skup);
var skup = $(this).attr("skup");
$("#skup").val(skup);
addRejectPage($(this).attr("dataId"));
}
});
... ... @@ -386,7 +388,7 @@ function getAlreadyJudgedList(){
});
}
function addPassPage() {
function addPassPage(id) {
var div = $("<div id='passDiv'>").appendTo($(document.body));
var url = contextPath + "/html/judgeCenter/pass.html";
$(div).myDialog({
... ... @@ -398,22 +400,111 @@ function addPassPage() {
collapsible: true,
cache: false,
buttons: [{
text: "取消",
iconCls: "icon-cancel",
handler: function () {
$(div).dialog("close");
}
},{
text: "发货",
id: "saveBtn",
iconCls: "icon-save",
onClick: function () {
$('#uploadFile').click();
deliverGoods(id);
}
}, {
}]
});
}
function addRejectPage(id) {
var div = $("<div id='rejectDiv'>").appendTo($(document.body));
var url = contextPath + "/html/judgeCenter/reject.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");
}
},{
text: "寄回",
id: "saveBtn",
iconCls: "icon-save",
onClick: function () {
sendBackGoods(id);
}
}]
});
}
function deliverGoods(id){
var expressCompany = $("#expressCompany").myCombobox("getValue");
var waybillCode = $("#waybillCode").textbox("getValue");
if(expressCompany==''){
alert("请选择快递公司!");
return;
}
if(waybillCode == ''){
alert("请填写快递单号!")
return;
}
$.post(contextPath + "/buyerOrder/updateOrderStatus", {
id : id,
status : 4,
expressCompay : expressCompany,
waybillCode : waybillCode
}, function(data) {
if (data.code == 200) {
$("#passDiv").dialog("close");
$("#orderListTable").datagrid("reload");
window.self.$.messager.show({
title : "提示",
msg : "鉴定通过操作成功!"
});
}else {
window.self.$.messager.alert("失败", "失败!", "error");
}
});
}
function sendBackGoods(id){
var expressCompany = $("#expressCompany").myCombobox("getValue");
var waybillCode = $("#waybillCode").textbox("getValue");
if(expressCompany==''){
alert("请选择快递公司!");
return;
}
if(waybillCode == ''){
alert("请填写快递单号!")
return;
}
$.post(contextPath + "/buyerOrder/updateOrderStatus", {
id : id,
status : 13,
expressCompay : expressCompany,
waybillCode : waybillCode
}, function(data) {
if (data.code == 200) {
$("#rejectDiv").dialog("close");
$("#orderListTable").datagrid("reload");
window.self.$.messager.show({
title : "提示",
msg : "鉴定不通过操作成功!"
});
}else {
window.self.$.messager.alert("失败", "失败!", "error");
}
});
}
</script>
</body>
</html>
\ No newline at end of file
... ...
... ... @@ -24,7 +24,7 @@
<tr>
<td>快递单号:</td>
<td colspan="2">
<input type="text" class="easyui-textbox" id="waybillCode" />
<input type="text" class="easyui-textbox" id="waybillCode" style="width:300px"/>
</td>
</tr>
</table>
... ... @@ -32,8 +32,15 @@
</div>
<script>
$(function () {
//根据买家订单号获取买家收货地址
var form = new FormData();
//根据买家订单号获取买家收货信息
getReceiveInfo();
// 快递公司下拉框
initExpressCompanyDropdown();
});
function getReceiveInfo(){
var form = new FormData();
form.append("orderCode", document.getElementById("buyerOrderCode").value);
//发送请求
$.ajax({
... ... @@ -56,58 +63,29 @@
$.messager.alert("失败", result.message, "error");
}
}
});
// 快递公司下拉框
$("#expressCompanySelector").combobox({
valueField : "activityId",
textField : "activityName",
selectOnNavigation : true,
editable:false,
selectOnNavigation : true,
url : contextPath + "/MakePriceController/getActivityMenu.do",
// 品牌联动
onChange:function(data){
if(data == "") {
$("#name").textbox({disabled:false});
$("#startTime").datetimebox({disabled:false});
$("#endTime").datetimebox({disabled:false});
} else {
$("#name").textbox({disabled:true});
$("#startTime").datetimebox({disabled:true});
$("#endTime").datetimebox({disabled:true});
//创建formdata
var form = new FormData();
form.append("activityId", data);
//发送请求
$.ajax({
type: "POST",
url: contextPath + '/MakePriceController/getActivity.do',
data: form,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (result) {
if(result.code == 200) {
$("#name").textbox('setValue',result.data.title);
$("#startTime").datetimebox('setValue',result.data.effectiveTime);
$("#endTime").datetimebox('setValue',result.data.effectiveTimeEnd);
}
else {
$.messager.alert("失败", result.message, "error");
}
}
});
}
},
loadFilter: function (data) {
return defaultLoadFilter(data);
});
}
function initExpressCompanyDropdown() {
$.ajax({
contentType: "application/json",
dataType: "json",
type: "POST",
url: contextPath + '/buyerOrder/queryExpressCompanyList',
data: {},
success: function (data) {
if (data.code != 200 || !data.data || data.data.length == 0) {
return;
}
$("#expressCompany").myCombobox({
width: 130,
data: data.data,
valueField: "id",
textField: "companyName"
});
}
});
});
}
</script>
</body>
... ...
<!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="rejectDiv" region="center">
<table id="rejectTable" 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="sendBackInfo"></span>
</td>
</tr>
<tr>
<td>快递公司:</td>
<td colspan="2">
<input id="expressCompany" class="easyui-combobox"/>
</td>
</tr>
<tr>
<td>快递单号:</td>
<td colspan="2">
<input type="text" class="easyui-textbox" id="waybillCode" style="width:300px"/>
</td>
</tr>
</table>
</div>
<script>
$(function () {
//根据skup获取卖家收货信息
getSendBackInfo();
// 快递公司下拉框
initExpressCompanyDropdown();
});
function getSendBackInfo(){
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) {
var name = result.data.receiveName;
var mobile = result.data.receiveMobile;
var address = result.data.receiveAddress;
$("#sendBackInfo").html("姓名:" + name + "<br>" + "手机号:" + mobile + "<br>" + "地址:" + address);
}
else {
$.messager.alert("失败", result.message, "error");
}
}
});
}
function initExpressCompanyDropdown() {
$.ajax({
contentType: "application/json",
dataType: "json",
type: "POST",
url: contextPath + '/buyerOrder/queryExpressCompanyList',
data: {},
success: function (data) {
if (data.code != 200 || !data.data || data.data.length == 0) {
return;
}
$("#expressCompany").myCombobox({
width: 130,
data: data.data,
valueField: "id",
textField: "companyName"
});
}
});
}
</script>
</body>
</html>
\ No newline at end of file
... ...