From 057590635f74383c45f52286edb237d3fec984a2 Mon Sep 17 00:00:00 2001
From: wangfukang <15630117759@163.com>
Date: Mon, 18 Nov 2024 09:18:21 +0800
Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=B5=81=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
hiver-admin/test-output/test-report.html | 16 +--
.../LogisticsAddressBookController.java | 9 ++
.../impl/LogisticsAddressBookServiceImpl.java | 125 ++++++++++--------
.../controller/LogisticsOrderController.java | 125 +++++++++++-------
.../logisticsorder/entity/LogisticsOrder.java | 5 +
.../impl/LogisticsOrderServiceImpl.java | 22 ++-
.../LogiticsCompanyServiceImpl.java | 75 ++++++-----
.../mapper/LogisticsAddressBookMapper.xml | 5 +-
.../mapper/LogisticsEntruckingLogMapper.xml | 4 +
.../resources/mapper/LogisticsOrderMapper.xml | 21 ++-
.../mapper/LogisticsStationMapper.xml | 4 +-
.../controller/LogiticsCompanyController.java | 22 ++-
.../impl/PurchaseOcrPictureServiceImpl.java | 4 +-
.../java/cc/hiver/mall/utils/AliOcrUtil.java | 11 +-
.../mapper/CustomerCategoryMapper.xml | 2 +-
15 files changed, 275 insertions(+), 175 deletions(-)
diff --git a/hiver-admin/test-output/test-report.html b/hiver-admin/test-output/test-report.html
index 06aeeaac..9f7d11fc 100644
--- a/hiver-admin/test-output/test-report.html
+++ b/hiver-admin/test-output/test-report.html
@@ -35,7 +35,7 @@
Hiver
-十一月 15, 2024 17:26:52
+十一月 18, 2024 00:59:02
@@ -84,7 +84,7 @@
passTest
-
17:26:54 下午 / 0.023 secs
+
00:59:03 上午 / 0.024 secs
@@ -92,9 +92,9 @@
#test-id=1
passTest
-
11.15.2024 17:26:54
-
11.15.2024 17:26:54
-
0.023 secs
+
11.18.2024 00:59:03
+
11.18.2024 00:59:03
+
0.024 secs
@@ -104,7 +104,7 @@
| Pass |
- 17:26:54 |
+ 0:59:03 |
Test passed
|
@@ -128,13 +128,13 @@
Started
-
十一月 15, 2024 17:26:52
+
十一月 18, 2024 00:59:02
Ended
-
十一月 15, 2024 17:26:54
+
十一月 18, 2024 00:59:03
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/controller/LogisticsAddressBookController.java b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/controller/LogisticsAddressBookController.java
index a161e7c1..055215e4 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/controller/LogisticsAddressBookController.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/controller/LogisticsAddressBookController.java
@@ -39,4 +39,13 @@ public class LogisticsAddressBookController {
final IPage
result = logisticsAddressBookService.getLogisticsAddressBookPageList(logisticsAddressBookQueryVo);
return new ResultUtil>().setData(result);
}
+
+ // 淇敼閫氳褰
+ @RequestMapping(value = "/updateLogisticsAddressBook", method = RequestMethod.POST)
+ @ApiOperation(value = "淇敼閫氳褰")
+ public Result updateLogisticsAddressBook(@RequestBody LogisticsAddressBook logisticsAddressBook) {
+
+ final boolean result = logisticsAddressBookService.updateById(logisticsAddressBook);
+ return new ResultUtil().setData(result);
+ }
}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java
index 274eb56d..4c450c82 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java
@@ -45,65 +45,84 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl list = new ArrayList<>();
//鏍规嵁鍚嶇О銆佺數璇濄佸湴鍧鏌ヨ鐪嬫槸涓嶆槸瀛樺湪锛屽鏋滀笉瀛樺湪鍒欐柊寤轰竴鏉
- final LambdaQueryWrapper stuQuery = new LambdaQueryWrapper<>();
- stuQuery.eq(LogisticsAddressBook::getShipperOrReceiverName, logisticsOrder.getShipperName())
- .eq(LogisticsAddressBook::getAddressType, 1)
- .eq(LogisticsAddressBook::getMobile, logisticsOrder.getShipperMobile())
- .eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getShipperAddress());
- final Long count = getBaseMapper().selectCount(stuQuery);
-
- if(count == 0){
- // 鍒涘缓鍙戣揣浜哄湴鍧绨
- final LogisticsAddressBook shipperAddressBook = new LogisticsAddressBook();
- // 璁剧疆鍙戣揣浜哄悕绉帮紝浠庣墿娴佽鍗曠殑鍙戣揣浜哄悕绉颁腑鑾峰彇
- shipperAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName());
- // 璁剧疆鍦板潃淇℃伅锛屼粠鐗╂祦璁㈠崟鐨勫彂璐т汉鍦板潃鑾峰彇
- shipperAddressBook.setAddressInfo(logisticsOrder.getShipperAddress());
- // 璁剧疆鍦板潃绫诲瀷锛1琛ㄧず鍙戣揣浜哄湴鍧
- shipperAddressBook.setAddressType(1);
- // 璁剧疆鍏徃ID锛屼粠鐗╂祦璁㈠崟涓幏鍙
- shipperAddressBook.setCompanyId(logisticsOrder.getCompanyId());
- // 璁剧疆鍏徃鍚嶇О锛屼粠鐗╂祦璁㈠崟涓幏鍙
- shipperAddressBook.setCompanyName(logisticsOrder.getCompanyName());
- // 璁剧疆鍒涘缓浜猴紝浠庣墿娴佽鍗曚腑鑾峰彇
- shipperAddressBook.setCreateBy(logisticsOrder.getCreateBy());
- // 璁剧疆鑱旂郴鐢佃瘽锛屼粠鐗╂祦璁㈠崟鐨勫彂璐т汉鎵嬫満淇℃伅涓幏鍙
- shipperAddressBook.setMobile(logisticsOrder.getShipperMobile());
- // 璁剧疆鏀跺彂璐т汉鍚嶇О锛屼粠鐗╂祦璁㈠崟鐨勫彂璐т汉鍚嶇О涓幏鍙
- shipperAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName());
- list.add(shipperAddressBook);
+ if(StringUtils.isEmpty(logisticsOrder.getShipperId())){
+ // 鏌ヨ锛岀劧鍚庡垽鏂柊澧
+ final LambdaQueryWrapper stuQuery = new LambdaQueryWrapper<>();
+ stuQuery.eq(LogisticsAddressBook::getShipperOrReceiverName, logisticsOrder.getShipperName())
+ .eq(LogisticsAddressBook::getAddressType, 1)
+ .eq(LogisticsAddressBook::getMobile, logisticsOrder.getShipperMobile())
+ .eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getShipperAddress());
+ final Long count = getBaseMapper().selectCount(stuQuery);
+
+ if(count == 0){
+ // 鍒涘缓鍙戣揣浜哄湴鍧绨
+ final LogisticsAddressBook shipperAddressBook = new LogisticsAddressBook();
+ // 璁剧疆鍙戣揣浜哄悕绉帮紝浠庣墿娴佽鍗曠殑鍙戣揣浜哄悕绉颁腑鑾峰彇
+ shipperAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName());
+ // 璁剧疆鍦板潃淇℃伅锛屼粠鐗╂祦璁㈠崟鐨勫彂璐т汉鍦板潃鑾峰彇
+ shipperAddressBook.setAddressInfo(logisticsOrder.getShipperAddress());
+ // 璁剧疆鍦板潃绫诲瀷锛1琛ㄧず鍙戣揣浜哄湴鍧
+ shipperAddressBook.setAddressType(1);
+ // 璁剧疆鍏徃ID锛屼粠鐗╂祦璁㈠崟涓幏鍙
+ shipperAddressBook.setCompanyId(logisticsOrder.getCompanyId());
+ // 璁剧疆鍏徃鍚嶇О锛屼粠鐗╂祦璁㈠崟涓幏鍙
+ shipperAddressBook.setCompanyName(logisticsOrder.getCompanyName());
+ // 璁剧疆鍒涘缓浜猴紝浠庣墿娴佽鍗曚腑鑾峰彇
+ shipperAddressBook.setCreateBy(logisticsOrder.getCreateBy());
+ // 璁剧疆鑱旂郴鐢佃瘽锛屼粠鐗╂祦璁㈠崟鐨勫彂璐т汉鎵嬫満淇℃伅涓幏鍙
+ shipperAddressBook.setMobile(logisticsOrder.getShipperMobile());
+ // 璁剧疆鏀跺彂璐т汉鍚嶇О锛屼粠鐗╂祦璁㈠崟鐨勫彂璐т汉鍚嶇О涓幏鍙
+ shipperAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName());
+ list.add(shipperAddressBook);
+ }
+ }else{
+ // 鏈塱d,鏌ヨ锛屽苟鏇存柊鍚嶇О
+ final LogisticsAddressBook oldLogisticsAddressBook = logisticsAddressBookMapper.selectById(logisticsOrder.getShipperId());
+ oldLogisticsAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName());
+ list.add(oldLogisticsAddressBook);
}
- final LambdaQueryWrapper stuQuery2 = new LambdaQueryWrapper<>();
- stuQuery2.eq(LogisticsAddressBook::getShipperOrReceiverName, logisticsOrder.getReceiverName())
- .eq(LogisticsAddressBook::getAddressType, 2)
- .eq(LogisticsAddressBook::getMobile, logisticsOrder.getReceiverMobile())
- .eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getReceiverAddress());
- final Long count2 = getBaseMapper().selectCount(stuQuery2);
-
- if(count2 == 0) {
- // 鍒涘缓鏀惰揣浜哄湴鍧绨
- final LogisticsAddressBook reciverAddressBook = new LogisticsAddressBook();
- // 璁剧疆鏀惰揣浜哄悕绉帮紝浠庣墿娴佽鍗曠殑鏀惰揣浜哄悕绉颁腑鑾峰彇
- reciverAddressBook.setShipperOrReceiverName(logisticsOrder.getReceiverName());
- // 璁剧疆鍦板潃淇℃伅锛屼粠鐗╂祦璁㈠崟鐨勫彂璐т汉鍦板潃鑾峰彇
- reciverAddressBook.setAddressInfo(logisticsOrder.getReceiverAddress());
- // 璁剧疆鍦板潃绫诲瀷锛1琛ㄧず鍙戣揣浜哄湴鍧
- reciverAddressBook.setAddressType(2);
- // 璁剧疆鍏徃ID锛屼粠鐗╂祦璁㈠崟涓幏鍙
- reciverAddressBook.setCompanyId(logisticsOrder.getCompanyId());
- // 璁剧疆鍏徃鍚嶇О锛屼粠鐗╂祦璁㈠崟涓幏鍙
- reciverAddressBook.setCompanyName(logisticsOrder.getCompanyName());
- // 璁剧疆鍒涘缓浜猴紝浠庣墿娴佽鍗曚腑鑾峰彇
- reciverAddressBook.setCreateBy(logisticsOrder.getCreateBy());
- // 璁剧疆鑱旂郴鐢佃瘽锛屼粠鐗╂祦璁㈠崟鐨勫彂璐т汉鎵嬫満淇℃伅涓幏鍙
- reciverAddressBook.setMobile(logisticsOrder.getReceiverMobile());
- list.add(reciverAddressBook);
+ if(StringUtils.isEmpty(logisticsOrder.getReceiverId())){
+ final LambdaQueryWrapper stuQuery2 = new LambdaQueryWrapper<>();
+ stuQuery2.eq(LogisticsAddressBook::getShipperOrReceiverName, logisticsOrder.getReceiverName())
+ .eq(LogisticsAddressBook::getAddressType, 2)
+ .eq(LogisticsAddressBook::getMobile, logisticsOrder.getReceiverMobile())
+ .eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getReceiverAddress());
+ final Long count2 = getBaseMapper().selectCount(stuQuery2);
+
+ if(count2 == 0 && StringUtils.isEmpty(logisticsOrder.getReceiverId())) {
+ // 鍒涘缓鏀惰揣浜哄湴鍧绨
+ final LogisticsAddressBook reciverAddressBook = new LogisticsAddressBook();
+ // 璁剧疆鏀惰揣浜哄悕绉帮紝浠庣墿娴佽鍗曠殑鏀惰揣浜哄悕绉颁腑鑾峰彇
+ reciverAddressBook.setShipperOrReceiverName(logisticsOrder.getReceiverName());
+ // 璁剧疆鍦板潃淇℃伅锛屼粠鐗╂祦璁㈠崟鐨勫彂璐т汉鍦板潃鑾峰彇
+ reciverAddressBook.setAddressInfo(logisticsOrder.getReceiverAddress());
+ // 璁剧疆鍦板潃绫诲瀷锛1琛ㄧず鍙戣揣浜哄湴鍧
+ reciverAddressBook.setAddressType(2);
+ // 璁剧疆鍏徃ID锛屼粠鐗╂祦璁㈠崟涓幏鍙
+ reciverAddressBook.setCompanyId(logisticsOrder.getCompanyId());
+ // 璁剧疆鍏徃鍚嶇О锛屼粠鐗╂祦璁㈠崟涓幏鍙
+ reciverAddressBook.setCompanyName(logisticsOrder.getCompanyName());
+ // 璁剧疆鍒涘缓浜猴紝浠庣墿娴佽鍗曚腑鑾峰彇
+ reciverAddressBook.setCreateBy(logisticsOrder.getCreateBy());
+ // 璁剧疆鑱旂郴鐢佃瘽锛屼粠鐗╂祦璁㈠崟鐨勫彂璐т汉鎵嬫満淇℃伅涓幏鍙
+ reciverAddressBook.setMobile(logisticsOrder.getReceiverMobile());
+ list.add(reciverAddressBook);
+ }
+ }else{
+ // 鏈塱d,鏌ヨ锛屽苟鏇存柊鍚嶇О
+ final LogisticsAddressBook oldLogisticsAddressBook = logisticsAddressBookMapper.selectById(logisticsOrder.getReceiverId());
+ oldLogisticsAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName());
+ list.add(oldLogisticsAddressBook);
}
+
// 璋冪敤save鏂规硶淇濆瓨鍦板潃绨夸俊鎭紝杩斿洖淇濆瓨缁撴灉
final Gson gson = new Gson();
System.out.println(gson.toJson(list));
- return saveBatch(list);
+ if(list.isEmpty()){
+ return true;
+ }
+ return saveOrUpdateBatch(list);
}
@Override
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/controller/LogisticsOrderController.java b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/controller/LogisticsOrderController.java
index 86502e6e..4dadea49 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/controller/LogisticsOrderController.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/controller/LogisticsOrderController.java
@@ -50,39 +50,39 @@ public class LogisticsOrderController {
@Autowired
private SecurityUtil securityUtil;
- @PostMapping(value = "/addLogisticsOrder")
+ @PostMapping("/addLogisticsOrder")
@ApiOperation("鏂板鐗╂祦璁㈠崟")
public Result addLogisticsOrder(@RequestBody LogisticsOrder logisticsOrder) {
//鍗曞彿鍛藉悕瑙勫垯 鐗╂祦鍏徃棣栧瓧姣-yyyyMMdd-閫掑娴佹按鍙
- String orderNumber = PinYinUtils.getFirstSpell(logisticsOrder.getCompanyName())+"-"+ DateUtil.COMPAT.getDateText(new Date())+"-";
+ String orderNumber = PinYinUtils.getFirstSpell(logisticsOrder.getCompanyName()) + '-' + DateUtil.COMPAT.getDateText(new Date()) + '-';
//鏌ヨ涓涓嬭繖涓墿娴佸叕鍙革紝浠婂ぉ鏈鍚庝竴鏉℃暟鎹殑鍗曞彿鏄灏戯紝濡傛灉娌℃湁锛岄粯璁や负1
- LogisticsOrder lastOrder = logisticsOrderService.getLogisticsOrderByCompanyId(logisticsOrder);
- if(lastOrder != null){
- int newNumber = Integer.parseInt(lastOrder.getOrderNumber().split("-")[2])+1;
+ final LogisticsOrder lastOrder = logisticsOrderService.getLogisticsOrderByCompanyId(logisticsOrder);
+ if (lastOrder != null) {
+ final int newNumber = Integer.parseInt(lastOrder.getOrderNumber().split("-")[2]) + 1;
orderNumber += newNumber;
- }else{
+ } else {
orderNumber += 1;
}
logisticsOrder.setOrderNumber(orderNumber);
// 璁剧疆鍒涘缓浜哄鍚
- final LogiticsCompany logiticsCompany = securityUtil.getCurrCompany();
- logisticsOrder.setCreateBy(logiticsCompany.getId());
- logisticsOrder.setCreateByName(logiticsCompany.getContacts());
+ final LogiticsCompany logiticsCompany = securityUtil.getCurrCompany();
+ logisticsOrder.setCreateBy(logiticsCompany.getId());
+ logisticsOrder.setCreateByName(logiticsCompany.getContacts());
// 20241015 淇濆瓨鏀跺彂璐т汉鍦板潃绨匡紝鍏堜繚瀛樺湴鍧绨匡紝鏂逛究鍚庤竟鑾峰彇鏀跺彂璐т汉id
- boolean b = logisticsAddressBookService.saveLogisticsAddressBook(logisticsOrder);
- if(b){
+ final boolean b = logisticsAddressBookService.saveLogisticsAddressBook(logisticsOrder);
+ if (b) {
// 鑾峰彇鏀惰揣浜篿d
- Map logisticsAddressBook = logisticsAddressBookService.getByOrder(logisticsOrder);
- if(logisticsAddressBook.containsKey("shipperLogisticsAddressBook")){
+ final Map logisticsAddressBook = logisticsAddressBookService.getByOrder(logisticsOrder);
+ if (logisticsAddressBook.containsKey("shipperLogisticsAddressBook")) {
logisticsOrder.setShipperId(logisticsAddressBook.get("shipperLogisticsAddressBook").getId());
}
- if(logisticsAddressBook.containsKey("receiverLogisticsAddressBook")){
+ if (logisticsAddressBook.containsKey("receiverLogisticsAddressBook")) {
logisticsOrder.setReceiverId(logisticsAddressBook.get("receiverLogisticsAddressBook").getId());
}
logisticsOrderService.saveOrUpdate(logisticsOrder);
- return ResultUtil.success("淇濆瓨鎴愬姛锛");
- }else{
+ return ResultUtil.data(logisticsOrder);
+ } else {
return ResultUtil.success("淇濆瓨澶辫触锛");
}
}
@@ -95,36 +95,55 @@ public class LogisticsOrderController {
* @author 鐜嬪瘜搴
* @date 2024/8/24
*/
- @PostMapping(value = "/updateLogisticsOrder")
+ @PostMapping("/updateLogisticsOrder")
@ApiOperation("鏇存柊鐗╂祦璁㈠崟")
public Result updateLogisticsOrder(@RequestBody LogisticsOrder logisticsOrder) {
if (StringUtils.isEmpty(logisticsOrder.getId())) {
return ResultUtil.error("璁㈠崟id涓嶈兘涓虹┖锛");
}
//鍏堟煡璇㈠嚭鏃х殑鏁版嵁
- LogisticsOrder oldLogisticsOrder = logisticsOrderService.getById(logisticsOrder.getId());
+ final LogisticsOrder oldLogisticsOrder = logisticsOrderService.getById(logisticsOrder.getId());
// 璁剧疆鍒涘缓浜哄鍚
final LogiticsCompany logiticsCompany = securityUtil.getCurrCompany();
logisticsOrder.setUpdateBy(logiticsCompany.getId());
- final boolean b = logisticsOrderService.saveOrUpdate(logisticsOrder);
+ // 鏍规嵁鏀跺彂璐т汉鑾峰彇淇℃伅锛屽鏋滃悕瀛楀彉浜嗭紝閭d箞淇敼鏀跺彂璐т汉鐨勪俊鎭
+ // 璁剧疆鍒涘缓浜哄鍚
+ logisticsOrder.setCreateBy(logiticsCompany.getId());
+ logisticsOrder.setCreateByName(logiticsCompany.getContacts());
+ // 20241015 淇濆瓨鏀跺彂璐т汉鍦板潃绨匡紝鍏堜繚瀛樺湴鍧绨匡紝鏂逛究鍚庤竟鑾峰彇鏀跺彂璐т汉id
+ final boolean b = logisticsAddressBookService.saveLogisticsAddressBook(logisticsOrder);
if (b) {
- //濡傛灉鏇存柊鎴愬姛锛屾妸淇敼璁板綍淇濆瓨涓涓
- Gson gson = new Gson();
- LogisticsOrderChangeLog logisticsOrderChangeLog = new LogisticsOrderChangeLog();
- logisticsOrderChangeLog.setCreateBy(logiticsCompany.getId());
- logisticsOrderChangeLog.setCreateByName(logiticsCompany.getContacts());
- logisticsOrderChangeLog.setOldData(gson.toJson(oldLogisticsOrder));
- logisticsOrderChangeLog.setNewData(gson.toJson(logisticsOrder));
- logisticsOrderChangeLog.setOrderId(logisticsOrder.getId());
- logisticsOrderChangeLog.setCreateTime(new Date());
- int status = logisticsOrderService.saveLogisticsOrderChangeLog(logisticsOrderChangeLog);
- if(status == 0){
- return ResultUtil.error("淇濆瓨淇敼璁板綍澶辫触锛");
+ // 鑾峰彇鏀惰揣浜篿d
+ final Map logisticsAddressBook = logisticsAddressBookService.getByOrder(logisticsOrder);
+ if (logisticsAddressBook.containsKey("shipperLogisticsAddressBook")) {
+ logisticsOrder.setShipperId(logisticsAddressBook.get("shipperLogisticsAddressBook").getId());
+ }
+
+ if (logisticsAddressBook.containsKey("receiverLogisticsAddressBook")) {
+ logisticsOrder.setReceiverId(logisticsAddressBook.get("receiverLogisticsAddressBook").getId());
+ }
+ final boolean a = logisticsOrderService.saveOrUpdate(logisticsOrder);
+ if (a) {
+ //濡傛灉鏇存柊鎴愬姛锛屾妸淇敼璁板綍淇濆瓨涓涓
+ final Gson gson = new Gson();
+ final LogisticsOrderChangeLog logisticsOrderChangeLog = new LogisticsOrderChangeLog();
+ logisticsOrderChangeLog.setCreateBy(logiticsCompany.getId());
+ logisticsOrderChangeLog.setCreateByName(logiticsCompany.getContacts());
+ logisticsOrderChangeLog.setOldData(gson.toJson(oldLogisticsOrder));
+ logisticsOrderChangeLog.setNewData(gson.toJson(logisticsOrder));
+ logisticsOrderChangeLog.setOrderId(logisticsOrder.getId());
+ logisticsOrderChangeLog.setCreateTime(new Date());
+ final int status = logisticsOrderService.saveLogisticsOrderChangeLog(logisticsOrderChangeLog);
+ if (status == 0) {
+ return ResultUtil.error("淇濆瓨淇敼璁板綍澶辫触锛");
+ }
+
+ return ResultUtil.success("淇濆瓨鎴愬姛锛");
+ } else {
+ return ResultUtil.error("淇濆瓨澶辫触锛");
}
- return ResultUtil.success("淇濆瓨鎴愬姛锛");
- } else {
- return ResultUtil.error("淇濆瓨澶辫触锛");
}
+ return ResultUtil.error("淇濆瓨鎴愬姛锛");
}
/**
@@ -135,7 +154,7 @@ public class LogisticsOrderController {
* @author 鐜嬪瘜搴
* @date 2024/8/24
*/
- @PostMapping(value = "/deleteLogisticsOrder")
+ @PostMapping("/deleteLogisticsOrder")
@ApiOperation("鍒犻櫎鐗╂祦璁㈠崟")
public Result deleteLogisticsOrder(String id) {
if (StringUtils.isEmpty(id)) {
@@ -158,7 +177,7 @@ public class LogisticsOrderController {
* @date 2024/8/24
*/
@RequestMapping(value = "/getLogisticsOrderPageList", method = RequestMethod.POST)
- @ApiOperation(value = "鍒嗛〉鏌ヨ鐗╂祦璁㈠崟")
+ @ApiOperation("鍒嗛〉鏌ヨ鐗╂祦璁㈠崟")
public Result> getLogisticsOrderPageList(@RequestBody(required = false) LogisticsOrderQueryVo logisticsOrderQueryVo) {
final IPage result = logisticsOrderService.getLogisticsOrderPageList(logisticsOrderQueryVo);
return new ResultUtil>().setData(result);
@@ -166,12 +185,13 @@ public class LogisticsOrderController {
/**
- * 鏌ヨ璁㈠崟鐨勪慨鏀硅褰
+ * 鏌ヨ璁㈠崟鐨勪慨鏀硅褰
+ *
* @param
* @return
*/
@RequestMapping(value = "/getLogisticsOrderChangeLog", method = RequestMethod.GET)
- @ApiOperation(value = "鏌ヨ鐗╂祦璁㈠崟淇敼璁板綍")
+ @ApiOperation("鏌ヨ鐗╂祦璁㈠崟淇敼璁板綍")
public Result> getLogisticsOrderChangeLog(String orderId) {
return new ResultUtil>().setData(logisticsOrderService.getLogisticsOrderChangeLog(orderId));
@@ -179,49 +199,52 @@ public class LogisticsOrderController {
/**
* 鏌ヨ鐗╂祦璁㈠崟璇︽儏
- * @author 鐜嬪瘜搴
- * @date 2024/9/5
+ *
* @param orderId
* @return Result
+ * @author 鐜嬪瘜搴
+ * @date 2024/9/5
*/
@RequestMapping(value = "/getLogisticsOrderDetail", method = RequestMethod.GET)
- @ApiOperation(value = "鏌ヨ鐗╂祦璁㈠崟璇︽儏")
+ @ApiOperation("鏌ヨ鐗╂祦璁㈠崟璇︽儏")
public Result getLogisticsOrderDetail(String orderId) {
return new ResultUtil().setData(logisticsOrderService.getById(orderId));
}
// 鏁版嵁缁熻锛堝彲鎸夌収绾胯矾銆佺墿娴佸叕鍙搞佸埌杈剧珯鎼滅储锛夛細瀹㈡埛鎬昏繍璐广佽繍鍗曟暟銆佸鎴锋暟銆佽繍杈撹垂銆佽杞﹁垂銆佸皬璐广佷繚璐
@RequestMapping(value = "/getLogisticsOrderStatistics", method = RequestMethod.POST)
- @ApiOperation(value = "鐗╂祦璁㈠崟鏁版嵁缁熻")
+ @ApiOperation("鐗╂祦璁㈠崟鏁版嵁缁熻")
public Result getLogisticsOrderStatistics(@RequestBody(required = false) LogisticsOrderQueryVo logisticsOrderQueryVo) {
- try{
+ try {
return new ResultUtil().setData(logisticsOrderService.getLogisticsOrderStatistics(logisticsOrderQueryVo));
- }catch (Exception e){
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
return ResultUtil.error("鏌ヨ鐗╂祦缁熻澶辫触锛");
}
}
/**
* 鎵归噺鏇存柊璁㈠崟鐘舵
- * @author 鐜嬪瘜搴
- * @date 2024/11/15
+ *
* @param orderIds
* @param status
* @return Result
+ * @author 鐜嬪瘜搴
+ * @date 2024/11/15
*/
@RequestMapping(value = "/batchUpdateOrderStatus", method = RequestMethod.POST)
- @ApiOperation(value = "鎵归噺鏇存柊璁㈠崟鐘舵")
+ @ApiOperation("鎵归噺鏇存柊璁㈠崟鐘舵")
public Result batchUpdateOrderStatus(String orderIds, String status) {
- if(StringUtils.isEmpty(orderIds)){
+ if (StringUtils.isEmpty(orderIds)) {
return ResultUtil.error("璁㈠崟id涓嶈兘涓虹┖锛");
}
- if(StringUtils.isEmpty(status)){
+ if (StringUtils.isEmpty(status)) {
return ResultUtil.error("璁㈠崟鐘舵佷笉鑳戒负绌猴紒");
}
- try{
+ try {
logisticsOrderService.batchUpdateOrderStatus(orderIds, status);
return ResultUtil.error("鎵归噺鏇存柊璁㈠崟鐘舵佹垚鍔燂紒");
- }catch (Exception e){
+ } catch (Exception e) {
return ResultUtil.error("鎵归噺鏇存柊璁㈠崟鐘舵佸け璐ワ紒");
}
}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/entity/LogisticsOrder.java b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/entity/LogisticsOrder.java
index eb083cd1..a94d39d7 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/entity/LogisticsOrder.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/entity/LogisticsOrder.java
@@ -16,6 +16,7 @@ import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Id;
+import javax.persistence.Transient;
import java.math.BigDecimal;
import java.util.Date;
@@ -202,5 +203,9 @@ public class LogisticsOrder{
@ApiModelProperty(value = "璁㈠崟鐘舵")
private String orderStatus;
+ @Transient
+ @TableField(exist = false)
+ @ApiModelProperty(value = "淇敼璁板綍鏁")
+ private String changeCount;
}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/service/impl/LogisticsOrderServiceImpl.java b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/service/impl/LogisticsOrderServiceImpl.java
index 6967b14e..809b0f41 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/service/impl/LogisticsOrderServiceImpl.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/service/impl/LogisticsOrderServiceImpl.java
@@ -17,6 +17,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -118,13 +119,20 @@ public class LogisticsOrderServiceImpl extends ServiceImpl root, CriteriaQuery> cq, CriteriaBuilder cb) {
- Path companyNameField = root.get("companyName");
- Path signCompanyField = root.get("signCompany");
- Path contactsField = root.get("contacts");
- Path mobileField = root.get("mobile");
- Path delFlagField = root.get("delFlag");
- Path isOnLineField = root.get("isOnLine");
+ final Path companyNameField = root.get("companyName");
+ final Path signCompanyField = root.get("signCompany");
+ final Path contactsField = root.get("contacts");
+ final Path mobileField = root.get("mobile");
+ final Path delFlagField = root.get("delFlag");
+ final Path isOnLineField = root.get("isOnLine");
- List list = new ArrayList<>();
+ final List list = new ArrayList<>();
- if (StrUtil.isNotBlank(company.getSignCompany())) {
+ if (CharSequenceUtil.isNotBlank(company.getSignCompany())) {
list.add(cb.equal(signCompanyField, company.getSignCompany() ));
}
if (company.getIsOnLine() != null) {
list.add(cb.equal(isOnLineField, company.getIsOnLine() ));
}
- if (StrUtil.isNotBlank(company.getCompanyName())) {
+ if (CharSequenceUtil.isNotBlank(company.getCompanyName())) {
list.add(cb.like(companyNameField, '%' + company.getCompanyName() + '%'));
}
- if (StrUtil.isNotBlank(company.getContacts())) {
+ if (CharSequenceUtil.isNotBlank(company.getContacts())) {
list.add(cb.like(contactsField, '%' + company.getContacts() + '%'));
}
- if (StrUtil.isNotBlank(company.getMobile())) {
+ if (CharSequenceUtil.isNotBlank(company.getMobile())) {
list.add(cb.like(mobileField, '%' + company.getMobile() + '%'));
}
// 鏈垹闄
list.add(cb.equal(delFlagField, company.getDelFlag()));
- Predicate[] arr = new Predicate[list.size()];
+ final Predicate[] arr = new Predicate[list.size()];
cq.where(list.toArray(arr));
cq.orderBy(cb.desc(root.get("isOnLine")),cb.asc(root.get("companyName")));
return null;
@@ -111,7 +112,7 @@ public class LogiticsCompanyServiceImpl implements LogiticsCompanyService {
@Override
public List findByMobile(String mobile) {
- List logiticsCompanyList = companyDao.findByMobile(mobile);
+ final List logiticsCompanyList = companyDao.findByMobile(mobile);
if (logiticsCompanyList.isEmpty()) {
// 鐗╂祦鍏徃涓昏〃涓病鏈夋煡璇㈠埌淇℃伅锛屾煡璇㈢墿娴佸叕鍙稿憳宸ヤ俊鎭
final LogisticsUser logisticsUser = logisticsUserService.findByMobile(mobile);
@@ -119,12 +120,14 @@ public class LogiticsCompanyServiceImpl implements LogiticsCompanyService {
return new ArrayList<>();
}else{
final LogiticsCompany logiticsCompany = companyDao.getById(logisticsUser.getCompanyId());
+ final LogiticsCompany userLogiticsCompany = new LogiticsCompany();
+ BeanUtils.copyBeanProp(userLogiticsCompany,logiticsCompany);
// 灏嗗憳宸ョ殑淇℃伅灏佽鑷冲叕鍙镐俊鎭腑
- logiticsCompany.setId(logisticsUser.getId());
- logiticsCompany.setPassword(logisticsUser.getPassword());
- logiticsCompany.setUsername(logisticsUser.getMobile());
- logiticsCompany.setCompanyId(logisticsUser.getCompanyId());
- logiticsCompanyList.add(logiticsCompany);
+ userLogiticsCompany.setId(logisticsUser.getId());
+ userLogiticsCompany.setPassword(logisticsUser.getPassword());
+ userLogiticsCompany.setUsername(logisticsUser.getMobile());
+ userLogiticsCompany.setCompanyId(logisticsUser.getCompanyId());
+ logiticsCompanyList.add(userLogiticsCompany);
return logiticsCompanyList;
}
}
@@ -138,41 +141,41 @@ public class LogiticsCompanyServiceImpl implements LogiticsCompanyService {
@Nullable
@Override
public Predicate toPredicate(Root root, CriteriaQuery> cq, CriteriaBuilder cb) {
- Path companyNameField = root.get("companyName");
- Path signCompanyField = root.get("signCompany");
- Path contactsField = root.get("contacts");
- Path mobileField = root.get("mobile");
- Path delFlagField = root.get("delFlag");
- Path networkField = root.get("network");
- Path addressField = root.get("companyAddress");
+ final Path companyNameField = root.get("companyName");
+ final Path signCompanyField = root.get("signCompany");
+ final Path contactsField = root.get("contacts");
+ final Path mobileField = root.get("mobile");
+ final Path delFlagField = root.get("delFlag");
+ final Path networkField = root.get("network");
+ final Path addressField = root.get("companyAddress");
- List list = new ArrayList<>();
+ final List list = new ArrayList<>();
- if (StrUtil.isNotEmpty(company.getSignCompany())) {
+ if (CharSequenceUtil.isNotEmpty(company.getSignCompany())) {
list.add(cb.equal(signCompanyField, company.getSignCompany() ));
}
- if (StrUtil.isNotEmpty(company.getCompanyName())) {
+ if (CharSequenceUtil.isNotEmpty(company.getCompanyName())) {
list.add(cb.like(companyNameField, '%' + company.getCompanyName() + '%'));
}
- if (StrUtil.isNotEmpty(company.getContacts())) {
+ if (CharSequenceUtil.isNotEmpty(company.getContacts())) {
list.add(cb.like(contactsField, '%' + company.getContacts() + '%'));
}
- if (StrUtil.isNotEmpty(company.getMobile())) {
+ if (CharSequenceUtil.isNotEmpty(company.getMobile())) {
list.add(cb.like(mobileField, '%' + company.getMobile() + '%'));
}
if(StringUtils.isNotEmpty(company.getSeachParams())){
- Predicate p = cb.or(cb.like(companyNameField, "%" + company.getSeachParams() + "%"));
- p = cb.or(p, cb.like(networkField, "%" + company.getSeachParams() + "%"));
- p = cb.or(p, cb.like(addressField, "%" + company.getSeachParams() + "%"));
+ Predicate p = cb.or(cb.like(companyNameField, '%' + company.getSeachParams() + '%'));
+ p = cb.or(p, cb.like(networkField, '%' + company.getSeachParams() + '%'));
+ p = cb.or(p, cb.like(addressField, '%' + company.getSeachParams() + '%'));
list.add(p);
}
// 鏈垹闄
list.add(cb.equal(delFlagField, company.getDelFlag()));
- Predicate[] arr = new Predicate[list.size()];
+ final Predicate[] arr = new Predicate[list.size()];
cq.where(list.toArray(arr));
cq.orderBy(cb.desc(root.get("isOnLine")),cb.desc(root.get("createTime")),cb.asc(root.get("companyName")));
return null;
@@ -187,10 +190,12 @@ public class LogiticsCompanyServiceImpl implements LogiticsCompanyService {
}
}
+ @Override
public void onLine(String id){
companyDao.changeOnLine(id,CommonConstant.ON_LINE);
}
+ @Override
public void offLine(String id){
companyDao.changeOnLine(id,CommonConstant.OFF_LINE);
}
diff --git a/hiver-core/src/main/resources/mapper/LogisticsAddressBookMapper.xml b/hiver-core/src/main/resources/mapper/LogisticsAddressBookMapper.xml
index 7d7e91e5..34b4d5f2 100644
--- a/hiver-core/src/main/resources/mapper/LogisticsAddressBookMapper.xml
+++ b/hiver-core/src/main/resources/mapper/LogisticsAddressBookMapper.xml
@@ -166,9 +166,8 @@
and t.address_type = #{queryParams.addressType}
AND (
- t.shipper_or_receiver_name LIKE CONCAT( '%', #{queryParams.shipperOrReceiverName}, '%' )
- OR to_pinyin ( t.shipper_or_receiver_name ) LIKE CONCAT( '%', to_pinyin ( #{queryParams.shipperOrReceiverName} ), '%' )
- OR to_initial_pinyin ( t.shipper_or_receiver_name ) LIKE CONCAT( '%', #{queryParams.shipperOrReceiverName}, '%' )
+ t.shipper_or_receiver_name = #{queryParams.shipperOrReceiverName}
+ OR to_pinyin ( t.shipper_or_receiver_name ) = to_pinyin ( #{queryParams.shipperOrReceiverName} )
diff --git a/hiver-core/src/main/resources/mapper/LogisticsEntruckingLogMapper.xml b/hiver-core/src/main/resources/mapper/LogisticsEntruckingLogMapper.xml
index de93444d..67a0efad 100644
--- a/hiver-core/src/main/resources/mapper/LogisticsEntruckingLogMapper.xml
+++ b/hiver-core/src/main/resources/mapper/LogisticsEntruckingLogMapper.xml
@@ -193,5 +193,9 @@
AND t.circuit_id = #{logisticsOrderQueryVo.circuitId}
+
+
+ AND create_time BETWEEN #{logisticsOrderQueryVo.startDate} AND #{logisticsOrderQueryVo.endDate}
+
\ No newline at end of file
diff --git a/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml b/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml
index eb78297a..4c7df104 100644
--- a/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml
+++ b/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml
@@ -41,6 +41,8 @@
+
+
@@ -48,7 +50,8 @@
shipper_name, shipper_mobile, shipper_address, receiver_name, receiver_mobile, receiver_address,
go_station_id, go_station_name, arrival_station_id, arrival_station_name, weight, count, freight, premium,
transit_fee, tips, method_of_settlement, cost, all_cost, order_number, object_name, remark, receiving_user_id,
- receiving_user_name,image_path, payment_for_goods, transfer_addition,order_status
+ receiving_user_name,image_path, payment_for_goods, transfer_addition,order_status,
+ shipper_id,receiver_id