Commit cff22b08 authored by Allen Chen's avatar Allen Chen

commit

parent 5a31f746
package org.ta.pdd.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("exp_mail")
public class ExpMailEntity {
@TableId(value = "uid")
private String uid;
@TableField(value = "remarks")
private String remarks;
@TableField(value = "status")
private int status;
/**
* 快递公司编号(选填)
*/
@TableField(value = "expressCode")
private String expressCode;
/**
* 运单号(必填)
*/
@TableField(value = "mailNo")
private String mailNo;
/**
* 照片(选填)
*/
@TableField(value = "url")
private String url;
}
package org.ta.pdd.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName("exp_mail_logs")
public class ExpMailLogsEntity {
@TableId(value = "uid")
private String uid;
@TableField(value = "remarks")
private String remarks;
@TableField(value = "status")
private int status;
/**
* 运单号(必填)
*/
@TableField(value = "mailNo")
private String mailNo;
/**
* 操作人(必填)
*/
@TableField(value = "operator")
private String operator;
/**
* 操作时间(必填)
*/
@TableField(value = "created")
private Date created;
}
package org.ta.pdd.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@TableName("pick_record")
@Data
public class PickRecordEntity {
@TableId(value = "uid")
private String uid;
@TableField(value = "created")
private Date created;
@TableField(value = "creator")
private String creator;
@TableField(value = "orderCode")
private String orderCode;
@TableField(value = "type")
private Integer type;
@TableField(value = "receiver")
private String receiver;
@TableField(value = "receiveTime")
private Date receiveTime;
@TableField(value = "finisher")
private String finisher;
@TableField(value = "finishTime")
private Date finishTime;
}
......@@ -88,7 +88,6 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
......@@ -164,6 +163,11 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
......
......@@ -12,10 +12,13 @@ import org.springframework.web.bind.annotation.*;
import org.ta.pdd.entity.*;
import org.ta.pddserver.config.PddAPIConfig;
import org.ta.pddserver.model.api.request.*;
import org.ta.pddserver.model.enums.OrderRejectCode;
import org.ta.pddserver.model.enums.StatusEnum;
import org.ta.pddserver.model.pddjy.request.JYBaseRequestModel;
import org.ta.pddserver.model.pddjy.request.PddServiceConsoFirstBizActionNotifyRequest;
import org.ta.pddserver.model.pddjy.request.PddServiceConsoInboundRequest;
import org.ta.pddserver.service.impl.*;
import org.ta.pddserver.serviceutil.MailNoStatusOperator;
import org.ta.pddserver.utils.*;
import java.util.Date;
......@@ -56,6 +59,113 @@ public class OperationController {
private LogsPddDownImpl logsPddDownImpl;
@Resource
TraceObjectImpl traceObjectImpl;
@Resource
MailNoStatusOperator mailNoStatusOperator;
/* 签收 */
@Operation(
summary = "签收",
description = "",
deprecated = false // 是否废弃
)
@PostMapping("/receive")
public JSONObject receive(HttpServletRequest request, @RequestBody ReceiveRequest receiveRequest) {
LogOrderMailDetailEntity mailDetailEntity = logOrderMailDetailImpl.getAllInfoByMailNo(receiveRequest.getMailNo());
if (mailDetailEntity == null) {
return JsonResponse.generateOpenCommonFailedResponse(-1, "未找到需签收包裹");
}
boolean key = false;
String str = "";
String action = receiveRequest.getAction();
PddServiceConsoFirstBizActionNotifyRequest notifyRequest = new PddServiceConsoFirstBizActionNotifyRequest();
notifyRequest.setProviderCode(PddAPIConfig.PROVIDER_CODE);
notifyRequest.setExecuteTime(TimeTool.getNowString());
notifyRequest.setTimeZone("UTC+8");
notifyRequest.setLogisticsOrderCode(mailDetailEntity.getLogisticsOrderCode());
notifyRequest.setBizAction(action);
PddServiceConsoFirstBizActionNotifyRequest.Result notifyResult = new PddServiceConsoFirstBizActionNotifyRequest.Result();
notifyRequest.setMailNo(mailDetailEntity.getMailNo());
notifyRequest.setExpressCode(mailDetailEntity.getExpressCode());
LogOrderMailDetailIoEntity logOrderMailDetailIoEntity = new LogOrderMailDetailIoEntity();
if (action.equals("warehouse_sign")) {
notifyRequest.setBizActionDesc("仓库签收");
notifyResult.setCode(0);
logOrderMailDetailIoEntity.setStatus(StatusEnum.SIGNED.getCode());
str = "签收成功";
logOrderMailDetailIoEntity.setAction("RECEIVE");
} else if (action.equals("warehouse_reject_sign")) {
notifyRequest.setBizActionDesc("仓库拒签");
notifyResult.setCode(receiveRequest.getCode());
notifyResult.setDesc(OrderRejectCode.getByCode(receiveRequest.getCode()).getDesc());
notifyResult.setRemark(OrderRejectCode.getByCode(receiveRequest.getCode()).getRemark());
if (receiveRequest.getLength() != null && receiveRequest.getLength() > 0) {
notifyRequest.setPackageInfo(new PddServiceConsoFirstBizActionNotifyRequest.PackageInfo());
notifyRequest.getPackageInfo().setWeight((long) PddJYPriceTool.calculateWeight((int) receiveRequest.getLength().longValue(), (int) receiveRequest.getWidth().longValue(), (int) receiveRequest.getHeight().longValue(), (int) receiveRequest.getWeight().longValue(), true));
notifyRequest.getPackageInfo().setActualWeight(receiveRequest.getWeight());
notifyRequest.getPackageInfo().setLength(receiveRequest.getLength());
notifyRequest.getPackageInfo().setWidth(receiveRequest.getWidth());
notifyRequest.getPackageInfo().setHeight(receiveRequest.getHeight());
}
notifyRequest.setResult(notifyResult);
logOrderMailDetailIoEntity.setStatus(StatusEnum.REJECTED.getCode());
logOrderMailDetailIoEntity.setAction("REJECT");
str = "仓库拒签";
} else if (action.equals("destroy")) {
notifyRequest.setBizActionDesc("包裹销毁");
notifyResult.setCode(0);
logOrderMailDetailIoEntity.setStatus(StatusEnum.DESTROY.getCode());
logOrderMailDetailIoEntity.setAction("DESTROY");
str = "包裹销毁";
}
notifyRequest.setResult(notifyResult);
JYBaseRequestModel requestModel = new JYBaseRequestModel();
requestModel.setRequest(JSON.toJSONString(notifyRequest));
requestModel.setRequest_id("" + new Date().getTime());
requestModel.setType("pdd.service.conso.first.biz.action.notify");
requestModel.setTarget_client_id(PddAPIConfig.CLIENT_ID);
requestModel.setClient_id(PddAPIConfig.CLIENT_ID);
long time = new Date().getTime() / 1000;
requestModel.setTimestamp(time);
requestModel.setSign(PddSignTool.generateSign(requestModel, PddAPIConfig.CLIENT_SECRET));
String resp = PddHttpTool.sendJsonPost(requestModel);
JSONObject jsonObject = JSON.parseObject(resp);
JSONObject respObject = (JSONObject) jsonObject.get("response");
if (!respObject.getBoolean("success")) {
return JsonResponse.generateOpenCommonFailedResponse(-1, "拼多多上送信息失败:" + respObject.getString("message") + ";请联系技术人员。");
}
//更新log_order_mail_detail
Boolean result = logOrderMailDetailImpl.updateByMailNo(receiveRequest.getMailNo(), logOrderMailDetailIoEntity.getStatus());
logOrderMailDetailIoEntity.setMailNo(receiveRequest.getMailNo());
logOrderMailDetailIoEntity.setLogisticsOrderCode(mailDetailEntity.getLogisticsOrderCode());
logOrderMailDetailIoEntity.setExpressCode(mailDetailEntity.getExpressCode());
logOrderMailDetailIoEntity.setReq(JSON.toJSONString(requestModel));
logOrderMailDetailIoEntity.setResp(resp);
logOrderMailDetailIoImpl.save(logOrderMailDetailIoEntity);
logOrderImpl.updateReceiveNum(1, mailDetailEntity.getLogisticsOrderCode());
return JsonResponse.generateLocalCommonSuccessResponse(true, str);
}
/*入库*/
@Operation(
......
......@@ -106,13 +106,13 @@ public class ImagePdfGenerator {
for (int i = 1; i < 10; i ++) {
for (int i1 = 1; i1 < 12; i1 ++) {
for (int i2 = 1; i2 < 5; i2 ++) {
for (int i2 = 1; i2 < 6; i2 ++) {
for (int i3 = 1; i3 < 3; i3 ++) {
if (i3 == 2 && (i2 == 1|| i2 == 4)) {
if (i3 == 2 && (i2 == 1|| i2 == 5)) {
continue;
}
// 1. 将文字转为图片(示例:韩文“안녕하세요,世界!”)
String code = "LS" + i + "-" + i1 + "-" + i2 + "-" + i3;
String code = "A" + i + "-" + i1 + "-" + i2 + "-" + i3;
byte[] imageBytes = TextToImageUtils.commonBarCodeToImage(code);
// 3. 将图片嵌入PDF
......
......@@ -36,6 +36,6 @@ public interface CollectMailDetailMapper extends BaseMapper<CollectMailDetailEnt
@Delete("DELETE FROM `collect_mail_detail` WHERE `orderCode` = #{orderCode};")
Integer deleteByOrderCode(@Param("orderCode") String orderCode);
@Update("UPDATE `collect_mail_detail` SET `state` = 2 AND `remarks` = '已经申报问题件' WHERE `mailNo` = #{mailNo};")
@Update("UPDATE `collect_mail_detail` SET `state` = 2, `remarks` = '已经申报问题件' WHERE `mailNo` = #{mailNo};")
Integer updateMailToProblem(@Param("mailNo") String mailNo);
}
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.ta.pdd.entity.ExpMailLogsEntity;
import java.util.List;
@Mapper
public interface ExpMailLogsMapper extends BaseMapper<ExpMailLogsEntity> {
@Select("SELECT a.`created`, a.`status`, b.`name` AS `operator` FROM `exp_mail_logs` a, `user` b WHERE a.`mailNo` = #{mailNo} AND a.`operator` = b.`account` ;")
List<ExpMailLogsEntity> findListByMailNo(@Param("mailNo") String mailNo);
}
package org.ta.pddserver.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.ta.pdd.entity.ExpMailEntity;
@Mapper
public interface ExpMailMapper extends BaseMapper<ExpMailEntity> {
@Select("SELECT * FROM `exp_mail` WHERE `mailNo` = #{mailNo};")
ExpMailEntity findByMailNo(String mailNo);
}
......@@ -39,7 +39,7 @@ public interface LogOrderMailDetailMapper extends BaseMapper<LogOrderMailDetailE
@Select("SELECT * FROM `log_order_mail_detail` WHERE `mailNo` = #{mailNo} ORDER BY `uid` DESC LIMIT 1;")
LogOrderMailDetailEntity getAllInfoByMailNo(@Param("mailNo") String mailNo);
@Update("UPDATE `log_order_mail_detail` SET `status` = ${status} WHERE `mailNo` = #{mailNo} ORDER BY `uid` DESC LIMIT 1;")
@Update("UPDATE `log_order_mail_detail` SET `status` = ${status} WHERE `mailNo` = #{mailNo} ;")
Boolean updateByMailNo(@Param("mailNo")String mailNo, @Param("status") int status);
@Select("SELECT COUNT(*) FROM `log_order_mail_detail` WHERE `logisticsOrderCode` = #{logisticsOrderCode} AND `status` = ${status} ORDER BY `uid` DESC LIMIT 1;")
......@@ -60,6 +60,9 @@ public interface LogOrderMailDetailMapper extends BaseMapper<LogOrderMailDetailE
@Select("SELECT COUNT(*) FROM `log_order_mail_detail` WHERE `enterTime` = #{date}")
Long countEnteredFromDate(String today);
@Update("UPDATE `log_order_mail_detail` SET `state` = 2 AND `remarks` = '已经申报问题件' WHERE `mailNo` = #{mailNo};")
@Update("UPDATE `log_order_mail_detail` SET `state` = 2, `remarks` = '已经申报问题件' WHERE `mailNo` = #{mailNo};")
Integer updateMailToProblem(@Param("mailNo") String mailNo);
@Select("SELECT * FROM `log_order_mail_detail` WHERE `mailNo` = #{mailNo};")
List<LogOrderMailDetailEntity> findListByMailNo(@Param("mailNo") String mailNo);
}
......@@ -12,10 +12,10 @@ import java.util.List;
@Mapper
public interface LogsMailScanMapper extends BaseMapper<LogsMailScanEntity> {
@Select("SELECT `author`, `created`, `action` FROM `logs_mail_scan` WHERE `mailNo` = #{mailNo} ORDER BY `uid` DESC;")
@Select("SELECT a.`uid`, a.`mailNo`, a.`created`, a.`action`, b.`name` AS `author` FROM `logs_mail_scan` a, `user` b WHERE a.`mailNo` = #{mailNo} AND a.`author` = b.`account` ;")
List<LogsMailScanEntity> selectByMailNo(@Param("mailNo") String mailNo);
@Select("SELECT uid,mailNo,created,author,action FROM `logs_mail_scan` WHERE `mailNo` = #{mailNo} ORDER BY `uid` DESC;")
@Select("SELECT a.`uid`, a.`mailNo`, a.`created`, a.`action`, b.`name` AS `author` FROM `logs_mail_scan` a, `user` b WHERE a.`mailNo` = #{mailNo} AND a.`author` = b.`account` ;")
List<LogsMailScanEntity> logsMailScanList(LogsMailScanListVORequest param);
}
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.ta.pdd.entity.PickRecordEntity;
import org.ta.pddserver.model.api.request.PackageNoticeRequest;
import java.util.List;
@Mapper
public interface PickRecordMapper extends BaseMapper<PickRecordEntity> {
@Select("SELECT * FROM `pick_record` WHERE `orderCode` = #{orderCode} OR #{orderCode} = '' ORDER BY uid DESC LIMIT #{offset}, #{size};")
List<PickRecordEntity> getListByRequest(PackageNoticeRequest param);
@Select("SELECT COUNT(*) FROM `pick_record` WHERE `orderCode` = #{orderCode} OR #{orderCode} = '' ;")
Integer countUsable(PackageNoticeRequest param);
@Select("SELECT * FROM `pick_record` WHERE `orderCode` = #{orderCode};")
PickRecordEntity findByOrderCode(@Param("orderCode") String orderCode);
}
......@@ -59,4 +59,7 @@ public interface StorageMapper extends BaseMapper<StorageEntity> {
@Select("SELECT uid,mailNo,code,place,created,logisticsOrderCode,num,total,buyerCode FROM `storage` WHERE (`mailNo` = #{mailNo} OR #{mailNo}='') AND (`code` = #{code} OR #{code}='') ORDER BY `uid` DESC LIMIT #{offset}, #{size};")
List<StorageEntity> getStorageListPage(StorageListVORequest param);
@Select("SELECT * FROM `storage` WHERE `place` = #{place};")
List<StorageEntity> findListByPlace(@Param("place") String place);
}
......@@ -18,6 +18,6 @@ public interface UnpackMailDetailMapper extends BaseMapper<UnpackMailDetailEntit
@Delete("DELETE FROM `unpack_mail_detail` WHERE `orderCode` = #{orderCode}; ")
Integer deleteByOrderCode(@Param("orderCode") String orderCode);
@Update("UPDATE `unpack_mail_detail` SET `state` = 2 AND `remarks` = '已经申报问题件' WHERE `mailNo` = #{mailNo};")
@Update("UPDATE `unpack_mail_detail` SET `state` = 2, `remarks` = '已经申报问题件' WHERE `mailNo` = #{mailNo};")
Integer updateMailToProblem(@Param("mailNo") String mailNo);
}
package org.ta.pddserver.model.api.request;
import lombok.Data;
@Data
public class QueryLogMailRequest {
String mailNo;
String action;
}
package org.ta.pddserver.model.enums;
public enum MailNoStatusEnum {
START(0, "下发"),
SIGNED(1, "签收"),
INBOUND(9, "入库"),
POSITION(10, "分配库位"),
ONBOARD(19, "上架"),
PICKING(21, "拣货中"),
PICKED(28, "已拣货"),
PROBLEM(29, "问题件"),
PACKAGING(31, "打包中"),
PACKAGED(39, "打包完成"),
OUTING(51, "出库中"),
OUTBOUND(61, "正向出库"),
REJECTED(62, "拒收出库"),
DESTROYING(67, "库内销毁中"),
DESTROYED(68, "库内已销毁"),
UNKNOWN(-1, "未知");
private final int code;
private final String desc;
// 枚举构造方法默认私有,无需 Spring 注入
MailNoStatusEnum(int code, String desc) {
this.code = code;
this.desc = desc;
}
// 仅保留 Getter,无 Setter
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
// 根据状态码查询枚举(核心业务方法)
public static MailNoStatusEnum getByCode(int code) {
for (MailNoStatusEnum status : MailNoStatusEnum.values()) {
if (status.getCode() == code) {
return status;
}
}
return UNKNOWN;
}
}
\ No newline at end of file
package org.ta.pddserver.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.ta.pdd.entity.ExpMailLogsEntity;
public interface ExpMailLogsService extends IService<ExpMailLogsEntity> {
}
package org.ta.pddserver.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.ta.pdd.entity.ExpMailEntity;
public interface ExpMailService extends IService<ExpMailEntity> {
}
package org.ta.pddserver.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.ta.pdd.entity.PickRecordEntity;
public interface PickRecordService extends IService<PickRecordEntity> {
}
package org.ta.pddserver.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.ta.pdd.entity.ExpMailEntity;
import org.ta.pddserver.mapper.ExpMailMapper;
import org.ta.pddserver.service.ExpMailService;
@Service
public class ExpMailImpl extends ServiceImpl<ExpMailMapper, ExpMailEntity> implements ExpMailService {
public ExpMailEntity findByMailNo(String mailNo) {
return this.baseMapper.findByMailNo(mailNo);
}
}
\ 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.pdd.entity.ExpMailLogsEntity;
import org.ta.pdd.entity.LogsMailScanEntity;
import org.ta.pddserver.mapper.ExpMailLogsMapper;
import org.ta.pddserver.service.ExpMailLogsService;
import java.util.List;
@Service
public class ExpMailLogsImpl extends ServiceImpl<ExpMailLogsMapper, ExpMailLogsEntity> implements ExpMailLogsService {
public List<ExpMailLogsEntity> getByMail(String mailNo) {
return this.baseMapper.findListByMailNo(mailNo);
}
}
\ No newline at end of file
......@@ -86,4 +86,8 @@ public class LogOrderMailDetailImpl extends ServiceImpl<LogOrderMailDetailMapper
public Integer updateMailToProblem(String mailNo) {
return this.baseMapper.updateMailToProblem(mailNo);
}
public List<LogOrderMailDetailEntity> getListByMailNo(String mailNo) {
return this.baseMapper.findListByMailNo(mailNo);
}
}
\ No newline at end of file
package org.ta.pddserver.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.ta.pdd.entity.PickRecordEntity;
import org.ta.pddserver.mapper.PickRecordMapper;
import org.ta.pddserver.model.api.request.PackageNoticeRequest;
import org.ta.pddserver.service.PickRecordService;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class PickRecordImpl extends ServiceImpl<PickRecordMapper, PickRecordEntity> implements PickRecordService {
public Map<String, Object> recordList(PackageNoticeRequest param) {
Integer count = baseMapper.countUsable(param);
param.checkPage(count,20);
List<PickRecordEntity> 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;
}
public PickRecordEntity checkAddRecord(String orderCode, int type) {
PickRecordEntity pickRecordEntity = this.baseMapper.findByOrderCode(orderCode);
if (pickRecordEntity == null) {
pickRecordEntity = new PickRecordEntity();
pickRecordEntity.setOrderCode(orderCode);
pickRecordEntity.setCreator(SecurityContextHolder.getContext().getAuthentication().getName());
pickRecordEntity.setCreated(new Date());
pickRecordEntity.setType(type);
this.save(pickRecordEntity);
}
return pickRecordEntity;
}
public boolean checkAddReceiver(String orderCode) {
PickRecordEntity pickRecordEntity = this.baseMapper.findByOrderCode(orderCode);
if (pickRecordEntity.getReceiver() == null) {
pickRecordEntity.setReceiver(SecurityContextHolder.getContext().getAuthentication().getName());
pickRecordEntity.setReceiveTime(new Date());
this.updateById(pickRecordEntity);
return true;
}
return false;
}
public PickRecordEntity getByOrderCode(String orderCode) {
return this.baseMapper.findByOrderCode(orderCode);
}
public boolean saveFinisher(PickRecordEntity pickRecordEntity) {
if (pickRecordEntity.getFinisher() == null) {
pickRecordEntity.setFinisher(SecurityContextHolder.getContext().getAuthentication().getName());
pickRecordEntity.setFinishTime(new Date());
this.updateById(pickRecordEntity);
return true;
}
return false;
}
}
\ No newline at end of file
......@@ -116,4 +116,7 @@ public class StorageImpl extends ServiceImpl<StorageMapper, StorageEntity> imple
return map;
}
public List<StorageEntity> getListByPlace(String place) {
return this.baseMapper.findListByPlace(place);
}
}
\ No newline at end of file
package org.ta.pddserver.serviceutil;
import jakarta.annotation.Resource;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;
import org.ta.pdd.entity.ExpMailEntity;
import org.ta.pdd.entity.ExpMailLogsEntity;
import org.ta.pddserver.model.enums.MailNoStatusEnum;
import org.ta.pddserver.service.impl.ExpMailImpl;
import org.ta.pddserver.service.impl.ExpMailLogsImpl;
@Component
public class MailNoStatusOperator {
@Resource
ExpMailImpl expMailImpl;
@Resource
ExpMailLogsImpl expMailLogsImpl;
public String checkCanHandle(String mailNo, MailNoStatusEnum aimStatusEnum) {
ExpMailEntity expMailEntity = this.getMailByMailNo(mailNo);
MailNoStatusEnum currStatus = MailNoStatusEnum.getByCode(expMailEntity.getStatus());
switch (aimStatusEnum) {
case SIGNED, REJECTED:
return currStatus.getCode() == MailNoStatusEnum.START.getCode()?
null : "当前状态为" + currStatus.getDesc() + ",不是初始下发状态,不可做此操作";
case INBOUND:
return currStatus.getCode() == MailNoStatusEnum.SIGNED.getCode()?
null : "当前状态为" + currStatus.getDesc() + ",不是已签收状态,不可做此操作";
case POSITION:
return currStatus.getCode() == MailNoStatusEnum.INBOUND.getCode() || currStatus.getCode() == MailNoStatusEnum.PICKED.getCode() || currStatus.getCode() == MailNoStatusEnum.PROBLEM.getCode()?
null : "当前状态为" + currStatus.getDesc() + ",不是已入库/已拣货/问题件状态,不可做此操作";
case ONBOARD:
return currStatus.getCode() == MailNoStatusEnum.POSITION.getCode() || currStatus.getCode() == MailNoStatusEnum.ONBOARD.getCode() || currStatus.getCode() == MailNoStatusEnum.PICKING.getCode()?
null : "当前状态为" + currStatus.getDesc() + ",不是分配库位/已上架/拣货中状态,不可做此操作";
case PICKING, DESTROYING:
return currStatus.getCode() == MailNoStatusEnum.ONBOARD.getCode() || currStatus.getCode() == MailNoStatusEnum.PICKING.getCode()?
null : "当前状态为" + currStatus.getDesc() + ",不是已上架/拣货中状态,不可做此操作";
case PICKED:
return currStatus.getCode() == MailNoStatusEnum.PICKING.getCode()?
null : "当前状态为" + currStatus.getDesc() + ",不是拣货中状态,不可做此操作";
case PROBLEM, PACKAGING:
return currStatus.getCode() == MailNoStatusEnum.PICKED.getCode() || currStatus.getCode() == MailNoStatusEnum.PACKAGING.getCode()?
null : "当前状态为" + currStatus.getDesc() + ",不是已拣货/打包中状态,不可做此操作";
case PACKAGED:
return currStatus.getCode() == MailNoStatusEnum.PACKAGING.getCode()?
null : "当前状态为" + currStatus.getDesc() + ",不是拣货中状态,不可做此操作";
case OUTING:
return currStatus.getCode() == MailNoStatusEnum.PACKAGED.getCode()?
null : "当前状态为" + currStatus.getDesc() + ",不是已拣货状态,不可做此操作";
case OUTBOUND:
return currStatus.getCode() == MailNoStatusEnum.OUTING.getCode()?
null : "当前状态为" + currStatus.getDesc() + ",不是出库中状态,不可做此操作";
case DESTROYED:
return currStatus.getCode() == MailNoStatusEnum.DESTROYING.getCode()?
null : "当前状态为" + currStatus.getDesc() + ",不是销毁中状态,不可做此操作";
}
return null;
}
public boolean changeStatus(String mailNo, MailNoStatusEnum aimStatusEnum) {
ExpMailEntity expMailEntity = expMailImpl.findByMailNo(mailNo);
if (expMailEntity == null) {
return false;
}
expMailEntity.setStatus(aimStatusEnum.getCode());
if (expMailImpl.updateById(expMailEntity)) {
ExpMailLogsEntity logsEntity = new ExpMailLogsEntity();
logsEntity.setMailNo(mailNo);
logsEntity.setStatus(aimStatusEnum.getCode());
logsEntity.setOperator(SecurityContextHolder.getContext().getAuthentication().getName());
if (expMailLogsImpl.save(logsEntity)) {
return true;
}
}
return false;
}
public boolean changeStatus(String mailNo, MailNoStatusEnum aimStatusEnum, String place) {
ExpMailEntity expMailEntity = expMailImpl.findByMailNo(mailNo);
if (expMailEntity == null) {
return false;
}
expMailEntity.setStatus(aimStatusEnum.getCode());
if (expMailImpl.updateById(expMailEntity)) {
ExpMailLogsEntity logsEntity = new ExpMailLogsEntity();
logsEntity.setMailNo(mailNo);
logsEntity.setStatus(aimStatusEnum.getCode());
logsEntity.setOperator(SecurityContextHolder.getContext().getAuthentication().getName());
logsEntity.setRemarks(place);
if (expMailLogsImpl.save(logsEntity)) {
return true;
}
}
return false;
}
public ExpMailEntity getMailByMailNo(String mailNo) {
ExpMailEntity expMailEntity = expMailImpl.findByMailNo(mailNo);
if (expMailEntity == null) {
expMailEntity = new ExpMailEntity();
expMailEntity.setMailNo(mailNo);
expMailEntity.setStatus(MailNoStatusEnum.START.getCode());
expMailImpl.save(expMailEntity);
}
return expMailEntity;
}
}
......@@ -8,15 +8,15 @@ spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://192.168.2.222:3306/pdd_api?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
# url: jdbc:mysql://192.168.2.222:3306/pdd_api?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
# username: root
# password: root
url: jdbc:mysql://lyhj-mysql.mysql.rds.aliyuncs.com:3306/pdd_prod?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
username: pdd
password: pdd123
# url: jdbc:mysql://rm-j6cv8n7zx12x0sqreuo.mysql.rds.aliyuncs.com:3306/pdd_prod?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
# url: jdbc:mysql://lyhj-mysql.mysql.rds.aliyuncs.com:3306/pdd_prod?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
# username: pdd
# password: pdd123
url: jdbc:mysql://rm-j6cv8n7zx12x0sqreuo.mysql.rds.aliyuncs.com:3306/pdd_prod?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
username: pdd
password: pdd123
hikari:
minimum-idle: 5 # 最小空闲连接数
maximum-pool-size: 10 # 最大活跃连接数
......@@ -36,7 +36,7 @@ logging:
springframework:
security: info
ta:
pddserver: info
pddserver: debug
mybatis-plus:
configuration:
map-underscore-to-camel-case: false
......@@ -44,4 +44,4 @@ mybatis-plus:
pdd:
jyt: 0
gd: 0
lotto: 1
\ No newline at end of file
lotto: 0
\ No newline at end of file
......@@ -63,7 +63,7 @@ public class PdfTest {
@Test
public void test4() throws Exception {
try (FileOutputStream outputStream = new FileOutputStream("./codes-LS.pdf")) {
try (FileOutputStream outputStream = new FileOutputStream("./codes-A.pdf")) {
byte[] strToBytes = ImagePdfGenerator.generateCode();
outputStream.write(strToBytes);
System.out.println("文件写入成功!");
......
......@@ -26,7 +26,7 @@ public class WordexAPITest {
//
}
@Test
@org.junit.Test
public void verify() {
org.ta.pddserver.model.enums.IdentityErrorType type = WorldexUtil.verifyIdentity("nanjiexi", "P11111111", "01099999999");
log.info("type:{}", type);
......@@ -34,6 +34,6 @@ public class WordexAPITest {
@Test
public void noticePddOrderOut() {
WorldexUtil.noticePddOrderOut("PP25120602327838726941236-1");
WorldexUtil.noticePddOrderOut("PP25121718719598189205613-1");
}
}
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