Commit 96badb5d authored by 孙杰's avatar 孙杰

项目完善

parent 698f4763
......@@ -12,6 +12,8 @@ import org.springframework.web.bind.annotation.RestController;
import org.ta.pddserver.entity.CollectOrderSendEntity;
import org.ta.pddserver.entity.CollectOutMailDetailEntity;
import org.ta.pddserver.entity.CollectReceiverDetailEntity;
import org.ta.pddserver.entity.LogOrderEntity;
import org.ta.pddserver.entity.LogOrderIoEntity;
import org.ta.pddserver.entity.LogOrderMailDetailEntity;
import org.ta.pddserver.model.api.request.*;
import org.ta.pddserver.model.api.response.LogOrderListResponse;
......@@ -42,12 +44,9 @@ public class PddLocalController {
@Resource
TimeTool timeTool;
@Resource
CollectOutMailDetailImpl collectOutMailDetailImpl;
@Resource
CollectOrderSendImpl collectOrderSendImpl;
LogOrderIoImpl logOrderIoImpl;
private static final String PROVIDER_CODE = "HAIJI_KR";
private static final String WAREHOUSE_CODE = "HJJY001";
......@@ -58,39 +57,42 @@ public class PddLocalController {
@Autowired
private CollectMailDetailImpl collectMailDetailImpl;
@Resource
CollectOutMailDetailImpl collectOutMailDetailImpl;
@Resource
CollectOrderSendImpl collectOrderSendImpl;
/*集运单列表*/
@PostMapping("/logOrderList")
public JSONObject logOrderList(HttpServletRequest request, @RequestBody LogOrderListRequest logOrderListRequest) {
List<LogOrderListResponse> list = logOrderImpl.getListByRequest(logOrderListRequest.getLogisticsOrderCode());
return JsonResponse.generateLocalCommonSuccessResponse(list);
return JsonResponse.generateLocalCommonSuccessResponse( logOrderImpl.getListByRequest(logOrderListRequest));
}
/*包裹列表*/
@PostMapping("/logOrderMailDetailList")
public JSONObject logOrderMailDetailList(HttpServletRequest request, @RequestBody LogOrderMailDetailListRequest logOrderMailDetailListRequest) {
List<LogOrderMailDetailListResponse> list = logOrderMailDetailImpl.getListByCodeNo(logOrderMailDetailListRequest.getLogisticsOrderCode(), logOrderMailDetailListRequest.getMailNo());
return JsonResponse.generateLocalCommonSuccessResponse(list);
return JsonResponse.generateLocalCommonSuccessResponse(logOrderMailDetailImpl.getListByCodeNo(logOrderMailDetailListRequest));
}
/*运单号查询*/
@PostMapping("/mailNoSelect")
public JSONObject mailNoSelect(HttpServletRequest request, @RequestBody MailNoRequest mailNoRequest) {
MailNoResponse mailNoResponse = logOrderMailDetailImpl.getInfoByMailNo(mailNoRequest.getMailNo(), mailNoRequest.getStatus());
return JsonResponse.generateLocalCommonSuccessResponse(mailNoResponse);
}
/*签收*/
@PostMapping("/receive")
public void receive(HttpServletRequest request, @RequestBody ReceiveRequest receiveRequest) {
MailNoResponse mailNoResponse = logOrderMailDetailImpl.getInfoByMailNo(receiveRequest.getMailNo(), receiveRequest.getStatus());
MailNoResponse mailNoResponse = logOrderMailDetailImpl.getInfoByMailNo(receiveRequest.getMailNo(), receiveRequest.getAction());
LogOrderIoEntity ioEntity = new LogOrderIoEntity();
ioEntity.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
ioEntity.setExpressCode(mailNoResponse.getExpressCode());
ioEntity.setMailNo(mailNoResponse.getMailNo());
ioEntity.setAction(receiveRequest.getAction());
ioEntity.setStatus(10);
String action = receiveRequest.getAction();
......@@ -133,12 +135,22 @@ public class PddLocalController {
//更新log_order_mail_detail
Boolean result = logOrderMailDetailImpl.updateByMailNo(receiveRequest.getMailNo(), action);
ioEntity.setReq(JSON.toJSONString(requestModel));
ioEntity.setResp(resp);
logOrderIoImpl.save(ioEntity);
}
/*入库*/
@PostMapping("/inBound")
public void inBound(HttpServletRequest request, @RequestBody InBoundRequest inBoundRequest) {
MailNoResponse mailNoResponse = logOrderMailDetailImpl.getInfoByMailNo(inBoundRequest.getMailNo(), inBoundRequest.getAction());
MailNoResponse mailNoResponse = logOrderMailDetailImpl.getInfoByMailNo(inBoundRequest.getMailNo(), inBoundRequest.getStatus());
LogOrderIoEntity ioEntity = new LogOrderIoEntity();
ioEntity.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
ioEntity.setExpressCode(mailNoResponse.getExpressCode());
ioEntity.setMailNo(mailNoResponse.getMailNo());
ioEntity.setStatus(20);
PddServiceConsoInboundRequest notifyRequest = new PddServiceConsoInboundRequest();
......@@ -182,12 +194,22 @@ public class PddLocalController {
String resp = PddHttpTool.sendJsonPost(requestModel);
//更新入库包裹状态
ioEntity.setReq(JSON.toJSONString(requestModel));
ioEntity.setResp(resp);
logOrderIoImpl.save(ioEntity);
}
/*收到拆包通知后 完成拆包*/
@PostMapping("/finishUnpack")
public void finishUnpack(HttpServletRequest request, @RequestBody FinishUnpackRequest finishUnpackRequest) {
MailNoResponse mailNoResponse = logOrderMailDetailImpl.getInfoByMailNo(finishUnpackRequest.getMailNo(), finishUnpackRequest.getAction());
MailNoResponse mailNoResponse = logOrderMailDetailImpl.getInfoByMailNo(finishUnpackRequest.getMailNo(), finishUnpackRequest.getStatus());
LogOrderIoEntity ioEntity = new LogOrderIoEntity();
ioEntity.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
ioEntity.setExpressCode(mailNoResponse.getExpressCode());
ioEntity.setMailNo(mailNoResponse.getMailNo());
String action = finishUnpackRequest.getAction();
......@@ -203,9 +225,15 @@ public class PddLocalController {
notifyRequest.setBizActionDesc("开始拣货");
notifyResult.setCode(0);
} else if (action == "finish_pick") {
ioEntity.setStatus(40);
notifyRequest.setBizActionDesc("拣货完成");
notifyResult.setCode(0);
} else if (action == "finish_unpack") {
ioEntity.setStatus(30);
notifyRequest.setBizActionDesc("拆包完成");
notifyRequest.setUnpackRemark("");
notifyResult.setCode(0);
......@@ -236,6 +264,10 @@ public class PddLocalController {
//更新collect_mail_detail
Boolean result = collectMailDetailImpl.updateByMailNo(finishUnpackRequest.getMailNo(), action);
ioEntity.setReq(JSON.toJSONString(requestModel));
ioEntity.setResp(resp);
logOrderIoImpl.save(ioEntity);
}
/*拣货完成后出库*/
......@@ -244,6 +276,14 @@ public class PddLocalController {
PddServiceConsoOutboundRequest notifyRequest = new PddServiceConsoOutboundRequest();
/*
LogOrderIoEntity ioEntity = new LogOrderIoEntity();
ioEntity.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
ioEntity.setExpressCode(mailNoResponse.getExpressCode());
ioEntity.setMailNo(mailNoResponse.getMailNo());
ioEntity.setStatus(50);
*/
notifyRequest.setProviderCode(PROVIDER_CODE);
notifyRequest.setOrderCode(outBoundRequest.getOrderCode());
......@@ -307,4 +347,12 @@ public class PddLocalController {
requestModel.setSign(PddSignTool.generateSign(requestModel, CLIENT_SECRET));
String resp = PddHttpTool.sendJsonPost(requestModel);
}
/*流水查询*/
@PostMapping("/logOrderIoSelect")
public JSONObject logOrderIoSelect(HttpServletRequest request, @RequestBody LogOrderIoRequest param) {
return JsonResponse.generateLocalCommonSuccessResponse(logOrderIoImpl.getListByRequest(param));
}
}
package org.ta.pddserver.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("log_order_io")
public class LogOrderIoEntity {
@TableId(value = "uid")
private String uid;
@TableField(value = "created")
private String created;
@TableField(value = "updated")
private String updated;
@TableField(value = "state")
private Integer state;
@TableField(value = "remarks")
private String remarks;
@TableField(value = "status")
private Integer status;
@TableField(value = "logisticsOrderCode")
private String logisticsOrderCode;
@TableField(value = "expressCode")
private String expressCode;
@TableField(value = "mailNo")
private String mailNo;
@TableField(value = "action")
private String action;
@TableField(value = "req")
private String req;
@TableField(value = "resp")
private String resp;
}
package org.ta.pddserver.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.ta.pddserver.entity.LogOrderEntity;
import org.ta.pddserver.entity.LogOrderIoEntity;
import org.ta.pddserver.model.api.request.LogOrderIoRequest;
import org.ta.pddserver.model.api.request.LogOrderListRequest;
import org.ta.pddserver.model.api.response.LogOrderIoListResponse;
import org.ta.pddserver.model.api.response.LogOrderListResponse;
import java.util.List;
@Mapper
public interface LogOrderIoMapper extends BaseMapper<LogOrderIoEntity> {
@Select("SELECT count(t.uid) FROM ( SELECT a.uid FROM `log_order_io` a WHERE a.`logisticsOrderCode` LIKE '%${logisticsOrderCode}%' AND `mailNo` LIKE '%${mailNo}%' AND `status` = #{status} ) t")
Integer countUsable(LogOrderIoRequest param);
@Select("SELECT `uid`, `created`,`status`, `logisticsOrderCode`, `expressCode`, `mailNo`, `action` FROM `log_order_io` WHERE `logisticsOrderCode` LIKE '%${logisticsOrderCode}%' AND `mailNo` LIKE '%${mailNo}%' AND `status` = #{status} ORDER BY uid DESC LIMIT #{offset}, #{size}; ")
List<LogOrderIoListResponse> getListByRequest(LogOrderIoRequest param);
}
......@@ -6,6 +6,9 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.ta.pddserver.entity.LogOrderMailDetailEntity;
import org.ta.pddserver.model.api.request.LogOrderListRequest;
import org.ta.pddserver.model.api.request.LogOrderMailDetailListRequest;
import org.ta.pddserver.model.api.response.LogOrderListResponse;
import org.ta.pddserver.model.api.response.LogOrderMailDetailListResponse;
import org.ta.pddserver.model.api.response.MailNoResponse;
......@@ -20,10 +23,16 @@ public interface LogOrderMailDetailMapper extends BaseMapper<LogOrderMailDetailE
@Select("SELECT * FROM `log_order_mail_detail` WHERE `mailNo` = #{mailNo} AND `state` > 0;")
LogOrderMailDetailEntity findByMailNo(String mailNo);
@Select("SELECT `uid`, `logisticsOrderCode` , `expressCode` , `mailNo`, `length` , `width` , `height`, `weight` FROM `log_order_mail_detail` WHERE `logisticsOrderCode` = #{logisticsOrderCode} AND `mailNo` = #{mailNo} AND `state` > 0;")
List<LogOrderMailDetailListResponse> getListByCodeNo(@Param("logisticsOrderCode") String logisticsOrderCode, @Param("mailNo") String mailNo);
@Select("SELECT `uid`, `logisticsOrderCode` , `expressCode` ,`mailNo`, `updated` FROM `log_order_mail_detail` WHERE `mailNo` = #{mailNo} AND `state` > 0;")
@Select("SELECT count(t.uid) FROM ( SELECT a.uid FROM `log_order_mail_detail` a WHERE `logisticsOrderCode` LIKE '%${logisticsOrderCode}%' AND `mailNo` LIKE '%${mailNo}%' AND `state` > 0 ) t")
Integer countUsable(LogOrderMailDetailListRequest param);
@Select("SELECT `uid`,`updated`,`status`,`logisticsOrderCode` , `expressCode` , `mailNo`, `length` , `width` , `height`, `weight` FROM `log_order_mail_detail` WHERE `logisticsOrderCode` LIKE '%${logisticsOrderCode}%' AND `mailNo` LIKE '%${mailNo}%' AND `state` > 0 ORDER BY uid DESC LIMIT #{offset}, #{size};")
List<LogOrderMailDetailListResponse> getListByCodeNo(LogOrderMailDetailListRequest param);
@Select("SELECT `uid`, `logisticsOrderCode` , `expressCode` ,`mailNo`, `updated` FROM `log_order_mail_detail` WHERE `mailNo` = #{mailNo} AND `status` = #{status} AND `state` > 0;")
MailNoResponse getInfoByMailNo(@Param("mailNo") String mailNo, @Param("status") String status);
@Update("UPDATE `log_order_mail_detail` SET `status` = #{action} WHERE `mailNo` = #{mailNo};")
......
......@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.ta.pddserver.entity.LogOrderEntity;
import org.ta.pddserver.model.api.request.LogOrderListRequest;
import org.ta.pddserver.model.api.response.LogOrderListResponse;
import java.util.List;
......@@ -21,6 +22,14 @@ public interface LogOrderMapper extends BaseMapper<LogOrderEntity> {
@Update("UPDATE `log_order` SET `status` = #{status} WHERE `uid` = #{uid};")
int updateOrderStatusById(int status, String uid);
@Select("SELECT `uid`, `updated`, `logisticsOrderCode`, `bizType`, `buyerCode`, `consoType`, `dereRecogCode`, `packageQuantity`, `tags` FROM `log_order` WHERE `logisticsOrderCode` = #{logisticsOrderCode}")
List<LogOrderListResponse> getListByRequest(@Param("logisticsOrderCode") String logisticsOrderCode);
@Select("SELECT `uid`, `updated`, `logisticsOrderCode`, `bizType`, `buyerCode`, `consoType`, `dereRecogCode`, `packageQuantity` FROM `log_order` WHERE `logisticsOrderCode` LIKE '%${logisticsOrderCode}%' ")
List<LogOrderListResponse> getListByRequest1(@Param("logisticsOrderCode") String logisticsOrderCode);
@Select("SELECT count(t.uid) FROM ( SELECT a.uid FROM `log_order` a WHERE a.`logisticsOrderCode` LIKE '%${logisticsOrderCode}%' ) t")
Integer countUsable(LogOrderListRequest param);
@Select("SELECT `uid`, `updated`, `logisticsOrderCode`, `bizType`, `buyerCode`, `consoType`, `dereRecogCode`, `packageQuantity` FROM `log_order` WHERE `logisticsOrderCode` LIKE '%${logisticsOrderCode}%' ORDER BY uid DESC LIMIT #{offset}, #{size}; ")
List<LogOrderListResponse> getListByRequest(LogOrderListRequest param);
}
package org.ta.pddserver.model.api.request;
import lombok.Data;
import org.ta.pddserver.model.common.PageTool;
@Data
public class LogOrderIoRequest extends PageTool {
private String mailNo;
private String logisticsOrderCode;
private Integer status;
}
package org.ta.pddserver.model.api.request;
import lombok.Data;
import org.ta.pddserver.model.common.PageTool;
@Data
public class LogOrderListRequest {
public class LogOrderListRequest extends PageTool {
private String logisticsOrderCode;
}
package org.ta.pddserver.model.api.request;
import lombok.Data;
import org.ta.pddserver.model.common.PageTool;
@Data
public class LogOrderMailDetailListRequest {
public class LogOrderMailDetailListRequest extends PageTool {
private String logisticsOrderCode;
......
......@@ -8,4 +8,7 @@ public class ReceiveRequest {
private String action;
private String mailNo;
private String status;
}
package org.ta.pddserver.model.api.response;
import lombok.Data;
@Data
public class LogOrderIoListResponse {
private String uid;
private String created;
private int status;
private String logisticsOrderCode;
private String expressCode;
private String mailNo;
private String action;
}
......@@ -2,6 +2,8 @@ package org.ta.pddserver.model.api.response;
import lombok.Data;
import java.util.Date;
@Data
public class LogOrderMailDetailListResponse {
......@@ -13,5 +15,7 @@ public class LogOrderMailDetailListResponse {
private int width;
private int height;
private int weight;
private String updated;
private int status;
}
package org.ta.pddserver.model.common;
public class PageTool {
private Integer page;
private Integer offset;
private Integer size;
public Integer getSize() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
public Integer getPage() {
if (page == null || page < 1) {
page = 1;
}
return page;
}
public void setPage(Integer page) {
if (page == null || page < 1) {
page = 1;
}
this.page = page;
}
public Integer getOffset() {
if (offset == null || offset < 0) {
offset = 0;
}
return offset;
}
public void setOffset(Integer offset) {
if (offset == null || offset < 0) {
offset = 0;
}
this.offset = offset;
}
public void checkPage(Integer count, Integer perPage) {
if (this.size == null || this.size <= 0) {
this.size = perPage;
}
Integer allPage = (count - 1) / this.size + 1;
if (this.getPage() > allPage) {
this.page = allPage;
}
this.offset = (this.page - 1) * this.size;
}
}
package org.ta.pddserver.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.ta.pddserver.entity.LogOrderIoEntity;
public interface LogOrderIoService extends IService<LogOrderIoEntity> {
}
......@@ -9,7 +9,9 @@ import org.ta.pddserver.model.api.request.LogOrderListRequest;
import org.ta.pddserver.model.api.response.LogOrderListResponse;
import org.ta.pddserver.service.LogOrderService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class LogOrderImpl extends ServiceImpl<LogOrderMapper, LogOrderEntity> implements LogOrderService {
......@@ -30,8 +32,16 @@ public class LogOrderImpl extends ServiceImpl<LogOrderMapper, LogOrderEntity> im
}
public List<LogOrderListResponse> getListByRequest(String logisticsOrderCode) {
List<LogOrderListResponse> list = baseMapper.getListByRequest(logisticsOrderCode);
return list;
public Map<String, Object> getListByRequest(LogOrderListRequest param) {
Integer count = baseMapper.countUsable(param);
param.checkPage(count,20);
List<LogOrderListResponse> list = baseMapper.getListByRequest(param);
Map<String, Object> map = new HashMap<>();
map.put("total", count);
map.put("list", list);
map.put("page", param.getPage());
return map;
}
}
\ No newline at end of file
package org.ta.pddserver.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.ta.pddserver.entity.LogOrderEntity;
import org.ta.pddserver.entity.LogOrderIoEntity;
import org.ta.pddserver.mapper.LogOrderIoMapper;
import org.ta.pddserver.mapper.LogOrderMapper;
import org.ta.pddserver.model.api.request.LogOrderIoRequest;
import org.ta.pddserver.model.api.request.LogOrderListRequest;
import org.ta.pddserver.model.api.response.LogOrderIoListResponse;
import org.ta.pddserver.model.api.response.LogOrderListResponse;
import org.ta.pddserver.service.LogOrderIoService;
import org.ta.pddserver.service.LogOrderService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class LogOrderIoImpl extends ServiceImpl<LogOrderIoMapper, LogOrderIoEntity> implements LogOrderIoService {
public Map<String, Object> getListByRequest(LogOrderIoRequest param) {
Integer count = baseMapper.countUsable(param);
param.checkPage(count,20);
List<LogOrderIoListResponse> list = baseMapper.getListByRequest(param);
Map<String, Object> map = new HashMap<>();
map.put("total", count);
map.put("list", list);
map.put("page", param.getPage());
return map;
}
}
\ No newline at end of file
......@@ -5,12 +5,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.ta.pddserver.entity.LogOrderMailDetailEntity;
import org.ta.pddserver.mapper.LogOrderMailDetailMapper;
import org.ta.pddserver.model.api.request.LogOrderListRequest;
import org.ta.pddserver.model.api.request.LogOrderMailDetailListRequest;
import org.ta.pddserver.model.api.response.LogOrderListResponse;
import org.ta.pddserver.model.api.response.LogOrderMailDetailListResponse;
import org.ta.pddserver.model.api.response.MailNoResponse;
import org.ta.pddserver.service.LogOrderMailDetailService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class LogOrderMailDetailImpl extends ServiceImpl<LogOrderMailDetailMapper, LogOrderMailDetailEntity> implements LogOrderMailDetailService {
......@@ -27,10 +31,22 @@ public class LogOrderMailDetailImpl extends ServiceImpl<LogOrderMailDetailMapper
return baseMapper.findByMailNo(mailNo);
}
public List<LogOrderMailDetailListResponse> getListByCodeNo(String logisticsOrderCode, String mailNo) {
return baseMapper.getListByCodeNo(logisticsOrderCode, mailNo);
public Map<String, Object> getListByCodeNo(LogOrderMailDetailListRequest param) {
Integer count = baseMapper.countUsable(param);
param.checkPage(count,20);
List<LogOrderMailDetailListResponse> list = baseMapper.getListByCodeNo(param);
Map<String, Object> map = new HashMap<>();
map.put("total", count);
map.put("list", list);
map.put("page", param.getPage());
return map;
}
public MailNoResponse getInfoByMailNo(String mailNo, String status) {
return baseMapper.getInfoByMailNo(mailNo, status);
}
......
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://192.168.2.222:3306/Test01?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
# username: root
# password: root
url: jdbc:mysql://lyhj-mysql.mysql.rds.aliyuncs.com:3306/pdd?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
username: pdd
password: pdd123
url: jdbc:mysql://192.168.2.222:3306/pdd_api?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
username: zyeasy
password: zyeasy2021
# url: jdbc:mysql://lyhj-mysql.mysql.rds.aliyuncs.com:3306/pdd?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
# username: pdd
# password: pdd123
hikari:
minimum-idle: 5 # 最小空闲连接数
maximum-pool-size: 10 # 最大活跃连接数
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment