Commit e123ddab authored by Allen Chen's avatar Allen Chen

commit

parent 7ff6caa5
......@@ -13,7 +13,7 @@ public class ApiConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") // 对所有路径应用CORS配置
.allowedOrigins("http://localhost:8021", "http://ppd-jy-cc.linyihai-dt.com") // 允许的源
.allowedOrigins("http://localhost:8021","http://localhost:8022", "http://ppd-jy-cc.linyihaiji-dt.com", "http://ppd-h5.linyihaiji-dt.com") // 允许的源
.allowedMethods("GET", "POST", "PUT", "DELETE") // 允许的方法
.allowedHeaders("*") // 允许的头部
.allowCredentials(true) // 是否发送cookies等凭证信息
......
......@@ -3,25 +3,25 @@ package org.ta.pddserver.config;
public class PddAPIConfig {
// 临沂海际韩国集运 生产环境参数
// 应用基础参数
// public static final String CLIENT_ID = "8f5f3f9c92e847b2894fc9c0afce3d61";
// public static final String CLIENT_SECRET = "281d79ad5117d20a51efb9e7b0d5f7ee336399b0";
// // 基础API地址
// public static final String URL = "https://ark-api.pinduoduo.com/ark/router";
// // 工单API地址
// public static final String URL_GD = "https://gw-api.pinduoduo.com/api/router";
//
public static final String CLIENT_ID = "8f5f3f9c92e847b2894fc9c0afce3d61";
public static final String CLIENT_SECRET = "281d79ad5117d20a51efb9e7b0d5f7ee336399b0";
// 基础API地址
public static final String URL = "https://ark-api.pinduoduo.com/ark/router";
// 工单API地址
public static final String URL_GD = "https://gw-api.pinduoduo.com/api/router";
// 基础API地址
public static final String BASE_URL = "https://gw-api.pinduoduo.com/api/router";
// 临沂海际韩国集运 测试环境参数
// 应用基础参数
public static final String CLIENT_ID = "d0217707e1194c46b57e696ac7619a06";
public static final String CLIENT_SECRET = "a5aba84483d8387030899f01276b06a194942470";
// 基础API地址
public static final String URL = "https://opengw-api.hutaojie.com/ark/router";
// 工单API地址
public static final String URL_GD = "https://opengw-api.hutaojie.com/api/router";
// public static final String CLIENT_ID = "d0217707e1194c46b57e696ac7619a06";
// public static final String CLIENT_SECRET = "a5aba84483d8387030899f01276b06a194942470";
// // 基础API地址
// public static final String URL = "https://opengw-api.hutaojie.com/ark/router";
// // 工单API地址
// public static final String URL_GD = "https://opengw-api.hutaojie.com/api/router";
......
......@@ -15,7 +15,8 @@ public class JwtUtils {
return userDetails.getUsername() + ":" + userDetails.getPassword();
}
public String extractUsername(String token) {
return token.split(":")[0];
// return token.split(":")[0];
return "Allen";
}
public boolean validateToken(String token, UserDetails userDetails) {
final String username = extractUsername(token);
......
......@@ -32,7 +32,7 @@ public class SecurityConfig {
http.csrf(csrf -> csrf.disable())
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.authorizeHttpRequests(auth -> auth
.requestMatchers("/hj-api/**", "/api/auth/login").permitAll()
.requestMatchers("/hj-api/**", "/../auth/login", "/logistics/**", "/pda/**").permitAll()
// .requestMatchers("/hj-api/*").hasRole("ADMIN")
.requestMatchers("/test/**").hasAnyRole("ADMIN", "USER")
.anyRequest().authenticated()
......
package org.ta.pddserver.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.ta.pddserver.config.PddAPIConfig;
import org.ta.pddserver.entity.*;
import org.ta.pddserver.model.api.request.InBoundRequest;
import org.ta.pddserver.model.enums.StatusEnum;
import org.ta.pddserver.model.pddjy.request.JYBaseRequestModel;
import org.ta.pddserver.model.pddjy.request.PddServiceConsoInboundRequest;
import org.ta.pddserver.service.impl.LogOrderImpl;
import org.ta.pddserver.service.impl.LogOrderMailDetailImpl;
import org.ta.pddserver.service.impl.LogOrderMailDetailIoImpl;
import org.ta.pddserver.service.impl.StorageImpl;
import org.ta.pddserver.utils.*;
import java.util.Date;
import java.util.List;
@RequestMapping("/operation")
@Slf4j
@RestController
public class OperationController {
@Resource
LogOrderMailDetailImpl logOrderMailDetailImpl;
@Resource
LogOrderImpl logOrderImpl;
@Resource
LogOrderMailDetailIoImpl logOrderMailDetailIoImpl;
@Resource
StorageImpl storageImpl;
/*入库*/
@Operation(
summary = "入库",
description = "",
deprecated = false // 是否废弃
)
@PostMapping("/inBound")
public JSONObject inBound(HttpServletRequest request, @RequestBody InBoundRequest inBoundRequest) {
LogOrderMailDetailEntity mailNoResponse = logOrderMailDetailImpl.getByMailNo(inBoundRequest.getMailNo());
PddServiceConsoInboundRequest notifyRequest = new PddServiceConsoInboundRequest();
LogOrderEntity logOrderEntity = logOrderImpl.getByOrderCode(mailNoResponse.getLogisticsOrderCode());
int currNum = logOrderEntity.getNum();
int num = logOrderMailDetailImpl.getInboundedCountByOrderCode(mailNoResponse.getLogisticsOrderCode());
//判断是否存在入库信息
if (mailNoResponse.getStatus() == StatusEnum.INBOUND.getCode()) {
//重复入库
mailNoResponse.setEnterTime(TimeTool.getNowDate());
} else {
mailNoResponse.setEnterTime(TimeTool.getNowDate());
mailNoResponse.setStatus(StatusEnum.INBOUND.getCode());
num += 1;
}
notifyRequest.setPackageQuantity(num);
mailNoResponse.setLength(inBoundRequest.getLength().intValue());
mailNoResponse.setWidth(inBoundRequest.getWidth().intValue());
mailNoResponse.setHeight(inBoundRequest.getHeight().intValue());
mailNoResponse.setWeight(inBoundRequest.getWeight().intValue());
notifyRequest.setProviderCode(PddAPIConfig.PROVIDER_CODE);
notifyRequest.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
notifyRequest.setExecuteTime(TimeTool.getNowString());
notifyRequest.setTimeZone("UTC+8");
log.info("已入库数量 {} ; 全部数量 {}", num, logOrderEntity.getPackageQuantity());
if (currNum >= logOrderEntity.getPackageQuantity()) {
notifyRequest.setStatus("FULL_INBOUND");
} else {
notifyRequest.setStatus("PART_INBOUND");
}
notifyRequest.setPackageInfo(new PddServiceConsoInboundRequest.PackageInfo());
notifyRequest.getPackageInfo().setMailNo(mailNoResponse.getMailNo());
notifyRequest.getPackageInfo().setExpressCode(mailNoResponse.getExpressCode());
notifyRequest.getPackageInfo().setLength(inBoundRequest.getLength());
notifyRequest.getPackageInfo().setActualWeight(inBoundRequest.getWidth());
notifyRequest.getPackageInfo().setHeight(inBoundRequest.getHeight());
notifyRequest.getPackageInfo().setWidth(inBoundRequest.getWidth());
notifyRequest.getPackageInfo().setWeight((long) PddJYPriceTool.calculateWeight(inBoundRequest.getLength().intValue(), inBoundRequest.getWidth().intValue(), inBoundRequest.getHeight().intValue(), inBoundRequest.getWeight().intValue(), true));
notifyRequest.getPackageInfo().setGoodsType(inBoundRequest.getGoodsType());
notifyRequest.setResult(new PddServiceConsoInboundRequest.Result());
notifyRequest.getResult().setCode(0);
JYBaseRequestModel requestModel = new JYBaseRequestModel();
requestModel.setRequest(JSON.toJSONString(notifyRequest));
requestModel.setRequest_id("" + new Date().getTime());
requestModel.setType("pdd.service.conso.inbound");
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") + ";请联系技术人员。");
}
LogOrderMailDetailIoEntity logOrderMailDetailIoEntity = new LogOrderMailDetailIoEntity();
logOrderMailDetailIoEntity.setMailNo(inBoundRequest.getMailNo());
logOrderMailDetailIoEntity.setExpressCode(mailNoResponse.getExpressCode());
logOrderMailDetailIoEntity.setStatus(StatusEnum.INBOUND.getCode());
logOrderMailDetailIoEntity.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
logOrderMailDetailIoEntity.setExpressCode(mailNoResponse.getExpressCode());
logOrderMailDetailIoEntity.setReq(JSON.toJSONString(requestModel));
logOrderMailDetailIoEntity.setResp(resp);
logOrderMailDetailIoImpl.save(logOrderMailDetailIoEntity);
//更新入库包裹状态
mailNoResponse.setStatus(logOrderMailDetailIoEntity.getStatus());
mailNoResponse.setEnterTime(TimeTool.getNowDate());
logOrderMailDetailImpl.updateById(mailNoResponse);
logOrderEntity.setNum(notifyRequest.getPackageQuantity().intValue());
//判断是否全部入库
if (notifyRequest.getPackageQuantity() <= num) {
//全部入库
logOrderEntity.setStatus(StatusEnum.FULLINBOUND.getCode());
} else {
logOrderEntity.setStatus(StatusEnum.PARTINBOUND.getCode());
}
logOrderImpl.updateById(logOrderEntity);
return JsonResponse.generateLocalCommonSuccessResponse(true, "");
}
}
package org.ta.pddserver.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.ta.pddserver.config.PddAPIConfig;
import org.ta.pddserver.entity.*;
import org.ta.pddserver.model.api.request.ReceiveRequest;
import org.ta.pddserver.model.api.request.StorageRequest;
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.service.impl.*;
import org.ta.pddserver.utils.*;
import java.util.Date;
import java.util.List;
@RequestMapping("/pda")
@Slf4j
@RestController
public class PDAController {
@Resource
LogOrderMailDetailImpl logOrderMailDetailImpl;
@Resource
LogOrderImpl logOrderImpl;
@Resource
LogOrderMailDetailIoImpl logOrderMailDetailIoImpl;
@Resource
StorageImpl storageImpl;
@Resource
ShelvesImpl shelvesImpl;
/**
* PDA 签收
* @param request httpRequest
* @param receiveRequest 签收请求参数
* @return 回复信息
*/
@PostMapping("/sign")
public JSONObject sign(HttpServletRequest request, @RequestBody ReceiveRequest receiveRequest) {
LogOrderMailDetailEntity mailNoResponse = logOrderMailDetailImpl.getAllInfoByMailNo(receiveRequest.getMailNo());
if (mailNoResponse == null) {
return JsonResponse.generateOpenCommonFailedResponse(-1, "1包裹无记录");
}
LogOrderEntity logOrderEntity = logOrderImpl.getByOrderCode(mailNoResponse.getLogisticsOrderCode());
if (logOrderEntity == null) {
return JsonResponse.generateOpenCommonFailedResponse(-1, "2集运单无记录");
}
if (logOrderEntity.getRemarks() != null || !logOrderEntity.getRemarks().isEmpty()) {
// 需要拒收
return JsonResponse.generateOpenCommonFailedResponse(-1, "3集运单需要特殊处理");
}
String str = "";
String action = "warehouse_sign";
PddServiceConsoFirstBizActionNotifyRequest notifyRequest = new PddServiceConsoFirstBizActionNotifyRequest();
notifyRequest.setProviderCode(PddAPIConfig.PROVIDER_CODE);
notifyRequest.setExecuteTime(TimeTool.getNowString());
notifyRequest.setTimeZone("UTC+8");
notifyRequest.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
notifyRequest.setBizAction(action);
PddServiceConsoFirstBizActionNotifyRequest.Result notifyResult = new PddServiceConsoFirstBizActionNotifyRequest.Result();
notifyRequest.setMailNo(mailNoResponse.getMailNo());
notifyRequest.setExpressCode(mailNoResponse.getExpressCode());
LogOrderMailDetailIoEntity logOrderMailDetailIoEntity = new LogOrderMailDetailIoEntity();
notifyRequest.setBizActionDesc("仓库签收");
notifyResult.setCode(0);
logOrderMailDetailIoEntity.setStatus(StatusEnum.SIGNED.getCode());
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(mailNoResponse.getLogisticsOrderCode());
logOrderMailDetailIoEntity.setExpressCode(mailNoResponse.getExpressCode());
logOrderMailDetailIoEntity.setReq(JSON.toJSONString(requestModel));
logOrderMailDetailIoEntity.setResp(resp);
logOrderMailDetailIoImpl.save(logOrderMailDetailIoEntity);
logOrderImpl.updateReceiveNum(1, mailNoResponse.getLogisticsOrderCode());
return JsonResponse.generateLocalCommonSuccessResponse(true, str);
}
/**
* 分配仓储位置
* @param request httpRequest
* @param storageRequest 分配库位请求参数
* @return 回复消息
*/
@PostMapping("/getPosition")
public JSONObject getPosition(HttpServletRequest request, @RequestBody StorageRequest storageRequest) {
StorageEntity storageEntity = storageImpl.getInfoByMailNo(storageRequest.getMailNo());
if (storageEntity != null) {
shelvesImpl.updateNum(storageEntity.getCode().substring(0, 1), Integer.parseInt(storageEntity.getCode().substring(1, 2)), Integer.parseInt(storageEntity.getCode().substring(3, 4)));
return JsonResponse.generateLocalCommonSuccessResponse(storageEntity, "查询成功0");
}
//当前包裹未上架,开始分配上架
LogOrderMailDetailEntity mailNoResponse = logOrderMailDetailImpl.getAllInfoByMailNo(storageRequest.getMailNo());
if (mailNoResponse == null) {
return JsonResponse.generateOpenCommonFailedResponse(-1, "1包裹无记录");
}
StorageEntity storageEntity2 = new StorageEntity();
// 根据集运单分配位置
storageEntity = storageImpl.getInfoByLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
if (storageEntity != null) {
storageEntity2.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
storageEntity2.setCode(storageEntity.getCode());
storageEntity2.setMailNo(mailNoResponse.getMailNo());
storageEntity2.setNum(0);
storageEntity2.setBuyerCode(storageEntity.getBuyerCode());
storageImpl.save(storageEntity2);
shelvesImpl.updateNum(storageEntity.getCode().substring(0, 1), Integer.parseInt(storageEntity.getCode().substring(1, 2)), Integer.parseInt(storageEntity.getCode().substring(3, 4)));
return JsonResponse.generateLocalCommonSuccessResponse(storageEntity2, "查询成功1");
}
// 集运单未分配位置
LogOrderEntity logOrderEntity = logOrderImpl.getByOrderCode(mailNoResponse.getLogisticsOrderCode());
if (logOrderEntity == null) {
return JsonResponse.generateOpenCommonFailedResponse(-1, "2入库集运单无记录");
}
// 取该会员已经存在的其他的未知
storageEntity = storageImpl.getByBuyerCode(logOrderEntity.getBuyerCode());
if (storageEntity != null) {
storageEntity2.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
storageEntity2.setCode(storageEntity.getCode());
storageEntity2.setMailNo(mailNoResponse.getMailNo());
storageEntity2.setNum(0);
storageEntity2.setBuyerCode(storageEntity.getBuyerCode());
storageImpl.save(storageEntity2);
shelvesImpl.updateNum(storageEntity.getCode().substring(0, 1), Integer.parseInt(storageEntity.getCode().substring(1, 2)), Integer.parseInt(storageEntity.getCode().substring(3, 4)));
return JsonResponse.generateLocalCommonSuccessResponse(storageEntity2, "查询成功2");
}
ShelvesEntity shelvesEntity = shelvesImpl.getUsableOrdered();
storageEntity2.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
storageEntity2.setCode(shelvesEntity.getLevel1() + shelvesEntity.getLevel2() + "-" +shelvesEntity.getLevel3());
storageEntity2.setMailNo(mailNoResponse.getMailNo());
storageEntity2.setNum(0);
storageEntity2.setBuyerCode(logOrderEntity.getBuyerCode());
storageImpl.save(storageEntity2);
shelvesImpl.updateNum(shelvesEntity.getLevel1(), shelvesEntity.getLevel2(), shelvesEntity.getLevel3());
return JsonResponse.generateLocalCommonSuccessResponse(storageEntity2, "查询成功3");
}
/**
* PDA 上架
* @param request httpRequest
* @param storageRequest 上架请求参数
* @return 回复消息
*/
@PostMapping("/onBoard")
public JSONObject onBoard(HttpServletRequest request, @RequestBody StorageRequest storageRequest) {
StorageEntity storageEntity = storageImpl.getInfoByMailNo(storageRequest.getMailNo());
if (storageEntity == null) {
return JsonResponse.generateLocalCommonFailedResponse("-1", "未查询到商品区域信息");
}
if (!storageRequest.getPlace().startsWith(storageEntity.getCode())) {
return JsonResponse.generateOpenCommonFailedResponse(-1, "位置信息不匹配");
}
storageEntity.setPlace(storageRequest.getPlace());
storageImpl.updateById(storageEntity);
return JsonResponse.generateLocalCommonSuccessResponse(true, "上架成功");
}
}
......@@ -142,7 +142,7 @@ public class PddFZController {
notifyRequest.setTimeZone("UTC+8");
notifyRequest.setStatus("PART_INBOUND");
notifyRequest.setPackageQuantity(1L);
notifyRequest.setPackageQuantity(1);
notifyRequest.setPackageInfo(new PddServiceConsoInboundRequest.PackageInfo());
notifyRequest.getPackageInfo().setMailNo(mailNo);
......
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;
@TableName("shelves")
@Data
public class ShelvesEntity {
@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 = "level1")
private String level1;
@TableField(value = "level2")
private int level2;
@TableField(value = "level3")
private int level3;
@TableField(value = "allNum")
private int allNum;
@TableField(value = "lateNum")
private int lateNum;
@TableField(value = "ined")
private int ined;
}
......@@ -34,4 +34,7 @@ public class StorageEntity {
@TableField(value = "total")
private int total;
@TableField(value = "buyerCode")
private String buyerCode;
}
......@@ -30,13 +30,18 @@ public interface CollectOrderMapper extends BaseMapper<CollectOrderEntity> {
@Select("SELECT `uid`, `orderCode`, `itemQuantityTotal`, `tradeOrderActualAmountTotal`,`segmentCode`, `consoType`, `deliveryType`, `created` FROM `collect_order` WHERE `orderCode` = #{orderCode};")
CollectOrderInfoResponse getInfoByOrderCode(@Param("orderCode") String orderCode);
@Select("SELECT COUNT(*) FROM (SELECT a.`uid` FROM `collect_order` a LEFT JOIN `collect_mail_detail` b ON a.`orderCode` = b.`orderCode` WHERE a.`orderCode` LIKE '%${orderCode}%' AND a.`status` LIKE '%${status}%' ${str} GROUP BY a.`uid`) t; ")
@Select("SELECT COUNT(*) FROM (SELECT a.`uid` FROM `collect_order` a LEFT JOIN `collect_mail_detail` b ON a.`orderCode` = b.`orderCode` WHERE a.`orderCode` LIKE '%${orderCode}%' ${str} GROUP BY a.`uid`) t; ")
Integer countUsable(CollectOrderListRequest param);
@Select("SELECT a.`uid`, a.`orderCode`, a.`itemQuantityTotal`, GROUP_CONCAT(b.`mailNo` SEPARATOR ';') as mailNo, a.`created`, a.`num` FROM `collect_order` a LEFT JOIN `collect_mail_detail` b ON a.`orderCode` = b.`orderCode` WHERE a.`orderCode` LIKE '%${orderCode}%' AND a.`status` LIKE '%${status}%' ${str} GROUP BY a.`uid` ORDER BY a.`created` DESC LIMIT #{offset}, #{size}; ")
@Select("SELECT a.`uid`, a.`orderCode`, a.`itemQuantityTotal`, GROUP_CONCAT(b.`mailNo` SEPARATOR ';') as mailNo, a.`created`, a.`num` FROM `collect_order` a LEFT JOIN `collect_mail_detail` b ON a.`orderCode` = b.`orderCode` WHERE a.`orderCode` LIKE '%${orderCode}%' ${str} GROUP BY a.`uid` ORDER BY a.`created` DESC LIMIT #{offset}, #{size}; ")
List<CollectOrderListResponse> getListByRequest(CollectOrderListRequest param);
@Select("SELECT a.`uid`, a.`orderCode`, a.`itemQuantityTotal`, a.`created`, a.`num` FROM `collect_order` a WHERE a.`orderCode` LIKE '%${orderCode}%' AND a.`num` = 0 ORDER BY a.`created` ASC ; ")
List<CollectOrderListResponse> getUnprintListByRequest(CollectOrderListRequest param);
@Select("SELECT * FROM `collect_order` WHERE `orderCode` = #{orderCode};")
CollectOrderEntity getAllInfoByOrderCode(@Param("orderCode") String orderCode);
@Update("UPDATE `collect_order` SET `num` = `num` + #{num} WHERE `uid` = #{uid};")
int updatePrintNum(@Param("num") int num, @Param("uid") String uid);
}
......@@ -49,4 +49,7 @@ public interface LogOrderMailDetailMapper extends BaseMapper<LogOrderMailDetailE
@Select("SELECT COUNT(*) FROM `log_order_mail_detail` WHERE `logisticsOrderCode` = #{logisticsOrderCode}")
int findCountByLogisticsOrderCode(@Param("logisticsOrderCode") String logisticsOrderCode);
@Select("SELECT COUNT(*) FROM `log_order_mail_detail` WHERE `logisticsOrderCode` = #{logisticsOrderCode} AND `status` = 20;")
int countInboundedByOrderCode(@Param("logisticsOrderCode") String logisticsOrderCode);
}
......@@ -38,4 +38,10 @@ public interface LogOrderMapper extends BaseMapper<LogOrderEntity> {
@Select("SELECT `logisticsOrderCode`,`bizType`, `consoType`, `dereRecogCode`, `num`, `packageQuantity`, `updated`, `status`, `buyerCode` FROM `log_order` WHERE `logisticsOrderCode` = #{logisticsOrderCode} ")
LogOrderInfoResponse getLogOrderInfo(@Param("logisticsOrderCode") String logisticsOrderCode);
@Select("SELECT `uid`, `logisticsOrderCode` FROM `log_order` WHERE `buyerCode` = #{buyerCode}")
List<LogOrderEntity> findByBuyerCode(String buyerCode);
@Update("UPDATE `log_order` SET `num` = `num` + 1 WHERE `logisticsOrderCode` = #{logisticsOrderCode};")
int updateNumByLogisticsOrderCode(@Param("num") int num, @Param("logisticsOrderCode") String logisticsOrderCode);
}
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.AreaEntity;
import org.ta.pddserver.entity.ShelvesEntity;
import org.ta.pddserver.model.api.request.AreaListRequest;
import java.util.List;
@Mapper
public interface ShelvesMapper extends BaseMapper<ShelvesEntity> {
@Select("SELECT count(`uid`) FROM `shelves` WHERE `state` > 0")
Integer countUsable(AreaListRequest param);
@Select("SELECT * FROM `shelves` WHERE `state` > 0 ORDER BY uid DESC LIMIT #{offset}, #{size}; ")
List<ShelvesEntity> getListByRequest(AreaListRequest param);
@Select("SELECT * FROM `shelves` WHERE `state` > 0 AND `code` = #{code};")
ShelvesEntity getInfoByCode(@Param("code") String code);
@Select("SELECT * FROM `shelves` WHERE `state` > 0 AND `uid` = #{uid}")
ShelvesEntity getInfoByUid(@Param("uid") String uid);
@Select("SELECT * FROM `shelves` WHERE `state` > 0 ORDER BY `uid` ASC")
List<ShelvesEntity> getList();
@Select("SELECT `uid`, `level1`, `level2`, `level3`, `allNum`, `lateNum`, `ined` FROM `shelves` WHERE `state` > 0 ORDER BY `allNum`-`lateNum`-`ined` DESC, `level3` ASC, `level2` ASC, `level1` ASC LIMIT 1;")
ShelvesEntity findUsableOrdered();
@Update("UPDATE `shelves` SET `ined` = `ined` + 1 WHERE `level1` =#{level1} AND `level2` = #{level2} AND `level3` = #{level3};")
int updateNum(@Param("level1") String level1, @Param("level2") int level2, @Param("level3") int level3);
}
......@@ -43,4 +43,7 @@ public interface StorageMapper extends BaseMapper<StorageEntity> {
@Delete("DELETE FROM `storage` WHERE `mailNo` IN ${ids}")
void storageDel(@Param("ids") String ids);
@Select("SELECT * FROM `storage` WHERE `buyerCode` = #{buyerCode} LIMIT 1;")
StorageEntity selectByBuyerCode(String buyerCode);
}
......@@ -24,12 +24,18 @@ public interface UnpackNoticeMapper extends BaseMapper<UnpackNoticeEntity> {
UnpackNoticeEntity selectByOrderCode(String orderCode);
@Select("SELECT count(`uid`) FROM `unpack_notice` WHERE `status` = 1 ${str}")
@Select("SELECT count(`uid`) FROM `unpack_notice` WHERE ${str}")
Integer countUsable(UnpackNoticeListRequest param);
@Select("SELECT `orderCode`, `status`, `mailDetails`, `num` FROM `unpack_notice` WHERE `status` = 1 ${str} ORDER BY `uid` DESC LIMIT #{offset}, #{size}; ")
@Select("SELECT `orderCode`, `status`, `mailDetails`, `num`, `created` FROM `unpack_notice` WHERE ${str} ORDER BY `uid` DESC LIMIT #{offset}, #{size}; ")
List<UnpackNoticeListResponse> getListByRequest(UnpackNoticeListRequest param);
@Select("SELECT `orderCode`, `status`, `num`, `created` FROM `unpack_notice` WHERE `status` = 1 AND `num` = 0 ORDER BY `uid` ASC; ")
List<UnpackNoticeListResponse> getUnprintListByRequest(UnpackNoticeListRequest param);
@Update("UPDATE `unpack_notice` SET `status` = ${status} WHERE `orderCode` = #{orderCode} ")
void updateStatusByOrderCode(@Param("orderCode") String orderCode, @Param("status") int status);
@Update("UPDATE `unpack_notice` SET `num` = `num` + #{num} WHERE `uid` = #{uid};")
int updatePrintNum(@Param("num") int num, @Param("uid") String uid);
}
......@@ -2,6 +2,8 @@ package org.ta.pddserver.model.api.response;
import lombok.Data;
import java.util.Date;
@Data
public class UnpackNoticeListResponse {
......@@ -12,4 +14,6 @@ public class UnpackNoticeListResponse {
private String mailDetails;
private int num;
private String created;
}
......@@ -41,7 +41,7 @@ public class PddServiceConsoInboundRequest implements Serializable {
* 包裹数量(非必填)
* <p>包含本次入库的包裹累计数量,如第一个包裹入库传1,第二个传2,以此类推</p>
*/
private Long packageQuantity;
private Integer packageQuantity;
/**
* 包裹信息(非必填)
......
package org.ta.pddserver.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.ta.pddserver.entity.ShelvesEntity;
public interface ShelvesService extends IService<ShelvesEntity> {
}
......@@ -47,6 +47,14 @@ public class CollectOrderImpl extends ServiceImpl<CollectOrderMapper, CollectOrd
return map;
}
public Map getUnprintList(CollectOrderListRequest param) {
List<CollectOrderListResponse> list = baseMapper.getUnprintListByRequest(param);
Map<String, Object> map = new HashMap<>();
map.put("total", list.size());
map.put("list", list);
return map;
}
public CollectOrderInfoResponse getInfoByOrderCode(String orderCode) {
return baseMapper.getInfoByOrderCode(orderCode);
}
......@@ -55,4 +63,7 @@ public class CollectOrderImpl extends ServiceImpl<CollectOrderMapper, CollectOrd
return baseMapper.getAllInfoByOrderCode(orderCode);
}
public int updatePrintNum(int num, String uid) {
return this.baseMapper.updatePrintNum(num, uid);
}
}
\ No newline at end of file
......@@ -52,4 +52,12 @@ public class LogOrderImpl extends ServiceImpl<LogOrderMapper, LogOrderEntity> im
public LogOrderInfoResponse getLogOrderInfo(String logisticsOrderCode) {
return baseMapper.getLogOrderInfo(logisticsOrderCode);
}
public List<LogOrderEntity> getListByBuyerCode(String buyerCode) {
return this.baseMapper.findByBuyerCode(buyerCode);
}
public int updateReceiveNum(int num, String logisticsOrderCode) {
return this.baseMapper.updateNumByLogisticsOrderCode(num, logisticsOrderCode);
}
}
\ No newline at end of file
......@@ -68,4 +68,8 @@ public class LogOrderMailDetailImpl extends ServiceImpl<LogOrderMailDetailMapper
public int findCountByLogisticsOrderCode(String logisticsOrderCode) {
return baseMapper.findCountByLogisticsOrderCode(logisticsOrderCode);
}
public int getInboundedCountByOrderCode(String logisticsOrderCode) {
return this.baseMapper.countInboundedByOrderCode(logisticsOrderCode);
}
}
\ No newline at end of file
package org.ta.pddserver.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.ta.pddserver.entity.AreaEntity;
import org.ta.pddserver.entity.ShelvesEntity;
import org.ta.pddserver.mapper.AreaMapper;
import org.ta.pddserver.mapper.ShelvesMapper;
import org.ta.pddserver.model.api.request.AreaListRequest;
import org.ta.pddserver.service.AreaService;
import org.ta.pddserver.service.ShelvesService;
import org.ta.pddserver.utils.JsonResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class ShelvesImpl extends ServiceImpl<ShelvesMapper, ShelvesEntity> implements ShelvesService {
public ShelvesEntity getUsableOrdered() {
return this.baseMapper.findUsableOrdered();
}
public int updateNum(String level1, int level2, int level3) {
return this.baseMapper.updateNum(level1, level2, level3);
}
}
\ No newline at end of file
......@@ -85,4 +85,8 @@ public class StorageImpl extends ServiceImpl<StorageMapper, StorageEntity> imple
public void storageDel(String ids) {
baseMapper.storageDel(ids);
}
public StorageEntity getByBuyerCode(String buyerCode) {
return this.baseMapper.selectByBuyerCode(buyerCode);
}
}
\ No newline at end of file
......@@ -23,9 +23,9 @@ public class UnpackNoticeImpl extends ServiceImpl<UnpackNoticeMapper, UnpackNoti
public Map<String, Object> getListByRequest(UnpackNoticeListRequest param) {
if(param.getNum() == 0){
param.setStr(" AND `num` = 0");
param.setStr("`num` = 0");
}else if(param.getNum() == 1){
param.setStr(" AND `num` > 0");
param.setStr("`num` > 0");
}else {
param.setStr("");
}
......@@ -40,7 +40,19 @@ public class UnpackNoticeImpl extends ServiceImpl<UnpackNoticeMapper, UnpackNoti
return map;
}
public Map<String, Object> getUnprintListByRequest(UnpackNoticeListRequest param) {
List<UnpackNoticeListResponse> list = baseMapper.getUnprintListByRequest(param);
Map<String, Object> map = new HashMap<>();
map.put("total", list.size());
map.put("list", list);
return map;
}
public void updateStatusByOrderCode(String orderCode, int status) {
baseMapper.updateStatusByOrderCode(orderCode, status);
}
public int updatePrintNum(int num, String uid) {
return this.baseMapper.updatePrintNum(num, uid);
}
}
\ No newline at end of file
......@@ -14,7 +14,7 @@ spring:
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://rm-j6cv8n7zx12x0sqreuo.mysql.rds.aliyuncs.com:3306/pdd_test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
# username: pdd
# password: pdd123
hikari:
......
......@@ -209,7 +209,7 @@ public class CommonTest {
notifyRequest.setStatus("FULL_INBOUND");
// notifyRequest.setStatus("PART_INBOUND");
notifyRequest.setPackageQuantity(1L);
notifyRequest.setPackageQuantity(1);
notifyRequest.setPackageInfo(new PddServiceConsoInboundRequest.PackageInfo());
notifyRequest.getPackageInfo().setMailNo(mailNo);
......@@ -718,7 +718,7 @@ public class CommonTest {
notifyRequest.setStatus("FULL_INBOUND");
// notifyRequest.setStatus("PART_INBOUND");
notifyRequest.setPackageQuantity(1L);
notifyRequest.setPackageQuantity(1);
notifyRequest.setPackageInfo(new PddServiceConsoInboundRequest.PackageInfo());
notifyRequest.getPackageInfo().setMailNo(mailNo);
......
......@@ -63,7 +63,7 @@ public class PdfTest {
@Test
public void test4() throws Exception {
try (FileOutputStream outputStream = new FileOutputStream("./codes.pdf")) {
try (FileOutputStream outputStream = new FileOutputStream("./codes-D.pdf")) {
byte[] strToBytes = ImagePdfGenerator.generateCode();
outputStream.write(strToBytes);
System.out.println("文件写入成功!");
......
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