----快递鸟电子面单发货修改
This commit is contained in:
@@ -1,20 +1,22 @@
|
|||||||
package com.peanut.modules.book.service.impl;
|
package com.peanut.modules.book.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.druid.mock.MockConnection;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
||||||
import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.peanut.common.Interface.KdApiEOrder;
|
import com.peanut.common.Interface.KdApiEOrder;
|
||||||
import com.peanut.common.utils.HttpClientUtils;
|
import com.peanut.common.utils.ExcludeEmptyQueryWrapper;
|
||||||
import com.peanut.common.utils.PageUtils;
|
import com.peanut.common.utils.PageUtils;
|
||||||
import com.peanut.common.utils.Query;
|
import com.peanut.common.utils.Query;
|
||||||
import com.peanut.modules.book.dao.*;
|
import com.peanut.common.utils.R;
|
||||||
|
import com.peanut.modules.book.dao.BuyOrderDao;
|
||||||
|
import com.peanut.modules.book.dao.BuyOrderDetailDao;
|
||||||
import com.peanut.modules.book.entity.*;
|
import com.peanut.modules.book.entity.*;
|
||||||
import com.peanut.modules.book.service.*;
|
import com.peanut.modules.book.service.*;
|
||||||
import com.peanut.modules.book.vo.ProductVo;
|
import com.peanut.modules.book.vo.ProductVo;
|
||||||
@@ -26,6 +28,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.xml.soap.Text;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -47,20 +53,35 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
|
|||||||
private FMSOrderDetailService fmsOrderDetailService;
|
private FMSOrderDetailService fmsOrderDetailService;
|
||||||
|
|
||||||
protected Logger logger = LoggerFactory.getLogger(BuyOrderServiceImpl.class);
|
protected Logger logger = LoggerFactory.getLogger(BuyOrderServiceImpl.class);
|
||||||
|
private MockConnection connection;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageUtils queryPage(Map<String, Object> params) {
|
public PageUtils queryPage(Map<String, Object> params) throws Exception{
|
||||||
|
|
||||||
IPage<BuyOrderEntity> page = null;
|
IPage<BuyOrderEntity> page = null;
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String startTime = null;
|
||||||
|
String endTime = null;
|
||||||
|
if(params.containsKey("startTime")){
|
||||||
|
startTime = sdf.format(Long.parseLong(params.get("startTime").toString()));
|
||||||
|
endTime = sdf.format(Long.parseLong(params.get("endTime").toString()));
|
||||||
|
}
|
||||||
if (ObjectUtils.isEmpty(params.get("orderStatus"))) {
|
if (ObjectUtils.isEmpty(params.get("orderStatus"))) {
|
||||||
page = this.page(
|
page = this.page(
|
||||||
new Query<BuyOrderEntity>().getPage(params),
|
new Query<BuyOrderEntity>().getPage(params),
|
||||||
new QueryWrapper<BuyOrderEntity>()
|
new ExcludeEmptyQueryWrapper<BuyOrderEntity>().eq("user_phone",params.get("key")).
|
||||||
|
or().like("order_sn",params.get("key")).or().like("shipping_user",params.get("key"))
|
||||||
|
.apply(startTime != null ,"date_format (create_time,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')",startTime)
|
||||||
|
.apply(endTime != null,"date_format (create_time,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')", endTime).orderByDesc("create_time")
|
||||||
|
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
page = this.page(
|
page = this.page(
|
||||||
new Query<BuyOrderEntity>().getPage(params),
|
new Query<BuyOrderEntity>().getPage(params),
|
||||||
new QueryWrapper<BuyOrderEntity>().eq("order_status", params.get("orderStatus"))
|
new ExcludeEmptyQueryWrapper<BuyOrderEntity>().eq("order_status", params.get("orderStatus")).eq("user_phone",params.get("key"))
|
||||||
|
.or().like("order_sn",params.get("key")).or().like("shipping_user",params.get("key"))
|
||||||
|
.apply(startTime != null ,"date_format (create_time,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')",startTime)
|
||||||
|
.apply(endTime != null,"date_format (create_time,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')", endTime).orderByDesc("create_time")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,9 +90,12 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
|
|||||||
for (BuyOrderEntity record : records) {
|
for (BuyOrderEntity record : records) {
|
||||||
Integer userId = record.getUserId();
|
Integer userId = record.getUserId();
|
||||||
MyUserEntity myUserEntity = myUserService.getById(userId);
|
MyUserEntity myUserEntity = myUserService.getById(userId);
|
||||||
record.setUserName(myUserEntity.getName());
|
if(!ObjectUtils.isEmpty(myUserEntity)){
|
||||||
record.setProducts(buyOrderDetailService.list(new QueryWrapper<BuyOrderDetailEntity>()
|
record.setUserName(myUserEntity.getName());
|
||||||
.eq("order_id", record.getOrderId())));
|
record.setProducts(buyOrderDetailService.list(new QueryWrapper<BuyOrderDetailEntity>()
|
||||||
|
.eq("order_id", record.getOrderId())));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -271,6 +295,23 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
|
|||||||
param.put("ShipperCode", shipperCode);
|
param.put("ShipperCode", shipperCode);
|
||||||
param.put("LogisticCode", expNo);
|
param.put("LogisticCode", expNo);
|
||||||
try {
|
try {
|
||||||
|
//todo expNo不等于1,则执行第一个代码块,否则执行第二个代码块。 5.5
|
||||||
|
// if (!expNo.equals(1)) {
|
||||||
|
// 列出所有包裹
|
||||||
|
// }else {
|
||||||
|
// 直接展示
|
||||||
|
// }
|
||||||
|
String A =expNo;
|
||||||
|
if (!expNo.equals(1)){
|
||||||
|
String rntStr = KdApiEOrder.queryOrderOnlineByJson(param);
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(rntStr);
|
||||||
|
if ("true".equals(jsonObject.getString("Success"))) {
|
||||||
|
return jsonObject;
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
String rntStr = KdApiEOrder.queryOrderOnlineByJson(param);
|
String rntStr = KdApiEOrder.queryOrderOnlineByJson(param);
|
||||||
JSONObject jsonObject = JSONObject.parseObject(rntStr);
|
JSONObject jsonObject = JSONObject.parseObject(rntStr);
|
||||||
if ("true".equals(jsonObject.getString("Success"))) {
|
if ("true".equals(jsonObject.getString("Success"))) {
|
||||||
@@ -414,9 +455,8 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void blendSendFMS(Integer[] orderDetailIds,String shipperCode,String shipperName) {
|
public void blendSendFMS(Integer[] orderDetailIds, String shipperCode, String shipperName) {
|
||||||
|
logger.info("##########################开始混合发货!:"+ new Date());
|
||||||
logger.info("##########################开始混合发货!时间:"+ new Date());
|
|
||||||
try {
|
try {
|
||||||
// 生成订单号
|
// 生成订单号
|
||||||
String timeId = IdWorker.getTimeId();
|
String timeId = IdWorker.getTimeId();
|
||||||
@@ -432,7 +472,6 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
|
|||||||
fms.setOrderCode(timeId+buy.getUserId());
|
fms.setOrderCode(timeId+buy.getUserId());
|
||||||
fms.setOrderId(buy.getOrderId());
|
fms.setOrderId(buy.getOrderId());
|
||||||
fmsList.add(fms);
|
fmsList.add(fms);
|
||||||
|
|
||||||
washDetailList.add(buy);
|
washDetailList.add(buy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -473,19 +512,25 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
|
|||||||
JSONObject jsonObj = JSONObject.parseObject(json.getString("Order"));
|
JSONObject jsonObj = JSONObject.parseObject(json.getString("Order"));
|
||||||
String orderCode = jsonObj.getString("OrderCode");
|
String orderCode = jsonObj.getString("OrderCode");
|
||||||
List<FMSOrderDetailEntity> fmsOrderDetailList = this.fmsOrderDetailService.list(new QueryWrapper<FMSOrderDetailEntity>().eq("order_code", orderCode));
|
List<FMSOrderDetailEntity> fmsOrderDetailList = this.fmsOrderDetailService.list(new QueryWrapper<FMSOrderDetailEntity>().eq("order_code", orderCode));
|
||||||
String SortingCode = jsonObj.getString("SortingCode");
|
System.out.println("############################################开始进入判断4444444jsonArr!:"+ jsonArr+"json="+json+"orderCode="+orderCode);
|
||||||
|
String SortingCode = jsonObj.getString("LogisticCode");
|
||||||
|
String ShipperCode=jsonObj.getString("ShipperCode");
|
||||||
|
String PrintTemplate=json.getString("PrintTemplate");
|
||||||
for(FMSOrderDetailEntity fms : fmsOrderDetailList){
|
for(FMSOrderDetailEntity fms : fmsOrderDetailList){
|
||||||
BuyOrderEntity o = this.getById(fms.getOrderId());
|
BuyOrderEntity o = this.getById(fms.getOrderId());
|
||||||
BuyOrderDetailEntity detail = this.buyOrderDetailService.getById(fms.getDetailId());
|
BuyOrderDetailEntity detail = this.buyOrderDetailService.getById(fms.getDetailId());
|
||||||
detail.setOrderStatus("1");
|
detail.setOrderStatus("1");
|
||||||
detail.setFmsHtml(json.getString("PrintTemplate"));
|
detail.setFmsHtml(PrintTemplate);
|
||||||
detail.setCreatTime(new Date());
|
detail.setCreatTime(new Date());
|
||||||
detail.setShippingSn(SortingCode.substring(0,SortingCode.indexOf("/")));
|
detail.setShippingSn(SortingCode);
|
||||||
detail.setShipperCode(jsonObj.getString("ShipperCode"));
|
detail.setShipperCode(ShipperCode);
|
||||||
detail.setShipperName(shipperName);
|
detail.setShipperName(shipperName);
|
||||||
detail.setIsPrint("0");
|
detail.setIsPrint("0");
|
||||||
this.buyOrderDetailService.updateById(detail);
|
// this.buyOrderDetailService.updateById(detail);
|
||||||
List<BuyOrderDetailEntity> list = this.buyOrderDetailService.list(new QueryWrapper<BuyOrderDetailEntity>().eq("order_id", fms.getOrderId()).eq("order_status", "0"));
|
this.buyOrderDetailService.saveOrUpdate(detail);
|
||||||
|
List<BuyOrderDetailEntity> list = this.buyOrderDetailService.list(new QueryWrapper<BuyOrderDetailEntity>().eq("order_id", fms.getOrderId())
|
||||||
|
.eq("order_status", "0"));
|
||||||
|
// .eq("order_status", "0")
|
||||||
if(list.size() == 0){
|
if(list.size() == 0){
|
||||||
o.setIsSend("1");
|
o.setIsSend("1");
|
||||||
o.setOrderStatus("2");
|
o.setOrderStatus("2");
|
||||||
@@ -493,6 +538,7 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
|
|||||||
o.setIsSend("1");
|
o.setIsSend("1");
|
||||||
}
|
}
|
||||||
this.updateById(o);
|
this.updateById(o);
|
||||||
|
buyOrderDao.updateById(o);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -531,6 +577,9 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
|
|||||||
Object next =ite.next();
|
Object next =ite.next();
|
||||||
// 根据Id查询信息后 计算出各个种类商品的总重量
|
// 根据Id查询信息后 计算出各个种类商品的总重量
|
||||||
ShopProductEntity product = this.shopProductService.getById(Integer.valueOf(next.toString()));
|
ShopProductEntity product = this.shopProductService.getById(Integer.valueOf(next.toString()));
|
||||||
|
if("0".equals(product.getIsFreeMail())){
|
||||||
|
product.setWeight(0f);
|
||||||
|
}
|
||||||
if("01".equals(product.getGoodsType())){
|
if("01".equals(product.getGoodsType())){
|
||||||
if(ObjectUtils.isEmpty(pictureMap)){
|
if(ObjectUtils.isEmpty(pictureMap)){
|
||||||
pictureMap.put("picture",(float)product.getWeight() * Integer.valueOf(productMap.get(next.toString()).toString()));
|
pictureMap.put("picture",(float)product.getWeight() * Integer.valueOf(productMap.get(next.toString()).toString()));
|
||||||
@@ -585,6 +634,30 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static String getRandom(int len) {
|
||||||
|
Random r = new Random();
|
||||||
|
StringBuilder rs = new StringBuilder();
|
||||||
|
for (int i = 0; i < len; i++) {
|
||||||
|
rs.append(r.nextInt(10));
|
||||||
|
}
|
||||||
|
return rs.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R randomOrderCode( BuyOrderEntity buyOrder) {
|
||||||
|
SimpleDateFormat dmDate = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||||
|
String randata = getRandom(6);
|
||||||
|
Date date = new Date();
|
||||||
|
String dateran = dmDate.format(date);
|
||||||
|
String Xsode = "XS" + dateran + randata;
|
||||||
|
if (Xsode.length() < 24) {
|
||||||
|
Xsode = Xsode + 0;
|
||||||
|
}
|
||||||
|
return R.ok(Xsode) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算仪器,预售快递费用
|
* 计算仪器,预售快递费用
|
||||||
*
|
*
|
||||||
@@ -688,8 +761,10 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrderEntity
|
|||||||
amount = 20;
|
amount = 20;
|
||||||
continuousWeight = 20;
|
continuousWeight = 20;
|
||||||
}
|
}
|
||||||
|
// 如果重量等于0 说明是包邮
|
||||||
if(weight <= 1000){
|
if(weight == 0){
|
||||||
|
return 0;
|
||||||
|
} else if(weight <= 1000){
|
||||||
return amount;
|
return amount;
|
||||||
}else {
|
}else {
|
||||||
return (int) (amount + (continuousWeight * Math.floor(weight / 1000)));
|
return (int) (amount + (continuousWeight * Math.floor(weight / 1000)));
|
||||||
|
|||||||
Reference in New Issue
Block a user