diff --git a/hiver-core/src/main/java/cc/hiver/core/common/utils/SecurityUtil.java b/hiver-core/src/main/java/cc/hiver/core/common/utils/SecurityUtil.java
index c8f4adbb..e4c9b80b 100644
--- a/hiver-core/src/main/java/cc/hiver/core/common/utils/SecurityUtil.java
+++ b/hiver-core/src/main/java/cc/hiver/core/common/utils/SecurityUtil.java
@@ -139,7 +139,9 @@ public class SecurityUtil {
// 瑕嗙洊鐗╂祦鍏徃id涓哄綋鍓嶇櫥褰曠殑鐗╂祦鍏徃鍛樺伐id
logiticsCompany.setId(logisticsUser.getId());
logiticsCompany.setUsername(logisticsUser.getMobile());
+ logiticsCompany.setContacts(logisticsUser.getNickName());
logiticsCompany.setPassword(logisticsUser.getPassword());
+ logiticsCompany.setCompanyId(logisticsUser.getCompanyId());
}
}
// 缂撳瓨
@@ -237,10 +239,20 @@ public class SecurityUtil {
final Boolean isValid = new BCryptPasswordEncoder().matches(password, logisticsUser.getPassword());
if (isValid) {
final LogiticsCompany logiticsCompany = logiticsCompanyDao.getById(logisticsUser.getCompanyId());
+ // 灏嗗憳宸ョ殑淇℃伅灏佽鑷冲叕鍙镐俊鎭腑
+ logiticsCompany.setId(logisticsUser.getId());
+ logiticsCompany.setPassword(logisticsUser.getPassword());
+ logiticsCompany.setUsername(logisticsUser.getMobile());
+ logiticsCompany.setCompanyId(logisticsUser.getCompanyId());
logiticsCompanyList.add(logiticsCompany);
return logiticsCompanyList;
}
}
+ }else{
+ // 寰幆灏唅d鐨勫兼斁鍦╟ompanyId涓
+ for (LogiticsCompany logiticsCompany : logiticsCompanyList) {
+ logiticsCompany.setCompanyId(logiticsCompany.getId());
+ }
}
//
// 鏍¢獙瀵嗙爜锛屼竴涓佹澘鏈夊涓簵閾虹殑鏃跺欙紝瀵嗙爜涓瀹氭槸涓鏍风殑锛屾墍浠ヨ繖閲屾牎楠屽叾涓竴涓氨琛
@@ -678,11 +690,14 @@ public class SecurityUtil {
if(logisticsUser == null){
return null;
}else{
+
+ logiticsCompany = logiticsCompanyDao.getById(logisticsUser.getCompanyId());
// 瑕嗙洊鐗╂祦鍏徃id涓哄綋鍓嶇櫥褰曠殑鐗╂祦鍏徃鍛樺伐id
logiticsCompany.setId(logisticsUser.getId());
logiticsCompany.setContacts(logisticsUser.getNickName());
logiticsCompany.setUsername(logisticsUser.getMobile());
logiticsCompany.setPassword(logisticsUser.getPassword());
+ logiticsCompany.setCompanyId(logisticsUser.getCompanyId());
}
}
Boolean saved = false;
diff --git a/hiver-core/src/main/java/cc/hiver/core/entity/LogiticsCompany.java b/hiver-core/src/main/java/cc/hiver/core/entity/LogiticsCompany.java
index c2e53ee9..726ece89 100644
--- a/hiver-core/src/main/java/cc/hiver/core/entity/LogiticsCompany.java
+++ b/hiver-core/src/main/java/cc/hiver/core/entity/LogiticsCompany.java
@@ -16,6 +16,7 @@ limitations under the License.
package cc.hiver.core.entity;
import cc.hiver.core.base.HiverBaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -25,6 +26,7 @@ import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Entity;
import javax.persistence.Table;
+import javax.persistence.Transient;
import java.math.BigDecimal;
/**
@@ -105,4 +107,9 @@ public class LogiticsCompany extends HiverBaseEntity {
@ApiModelProperty(value = "鏄惁鏀寔涓婇棬鍙栬揣锛0锛氬惁锛1锛氭槸")
private Integer canToDoor = 0;
+ @Transient
+ @TableField(exist = false)
+ @ApiModelProperty(value = "鐗╂祦鍏徃id")
+ private String companyId;
+
}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/LogisticsAddressBookService.java b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/LogisticsAddressBookService.java
index 9e95c1b0..7312bd8e 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/LogisticsAddressBookService.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/LogisticsAddressBookService.java
@@ -7,6 +7,8 @@ import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.Map;
+
public interface LogisticsAddressBookService extends IService
{
@@ -23,4 +25,13 @@ public interface LogisticsAddressBookService extends IService
+ */
+ Map getByOrder(LogisticsOrder logisticsOrder);
}
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 5002dd93..b795087c 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
@@ -16,7 +16,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @ClassName锛歀ogisticsAddressBookServiceImpl
@@ -69,8 +71,6 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl getByOrder(LogisticsOrder logisticsOrder) {
+ final Map logisticsAddressBookMap = new HashMap<>();
+ // 鏍规嵁鍚嶇О銆佺數璇濄佸湴鍧鏌ヨ,姝e父杩欓噷鏄兘鏌ヨ鍒扮殑銆
+ // 鍙戣揣浜
+ 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 LogisticsAddressBook shipperLogisticsAddressBook = getBaseMapper().selectOne(stuQuery);
+ if(shipperLogisticsAddressBook != null ){
+ logisticsAddressBookMap.put("shipperLogisticsAddressBook",shipperLogisticsAddressBook);
+ }
+
+ // 鏀惰揣浜
+ 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 LogisticsAddressBook receiverLogisticsAddressBook = getBaseMapper().selectOne(stuQuery2);
+
+ if(receiverLogisticsAddressBook != null ){
+ logisticsAddressBookMap.put("receiverLogisticsAddressBook",receiverLogisticsAddressBook);
+ }
+ return logisticsAddressBookMap;
+ }
+
}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/vo/LogisticsAddressBookQueryVo.java b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/vo/LogisticsAddressBookQueryVo.java
index a3545586..c41dd45e 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/vo/LogisticsAddressBookQueryVo.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/vo/LogisticsAddressBookQueryVo.java
@@ -24,5 +24,8 @@ public class LogisticsAddressBookQueryVo extends HiverBasePageQuery {
@ApiModelProperty(value = "鍦板潃绫诲瀷 1鍙戣揣鍦板潃淇℃伅 2鏀惰揣鍦板潃淇℃伅")
private Integer addressType;
+ @ApiModelProperty(value = "鐗╂祦鍏徃id")
+ private String companyId;
+
private String keyWord;
}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticscompanyroute/service/impl/LogisticsCompanyRouteServiceImpl.java b/hiver-core/src/main/java/cc/hiver/core/logisticscompanyroute/service/impl/LogisticsCompanyRouteServiceImpl.java
index 23fdcf06..daa25706 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticscompanyroute/service/impl/LogisticsCompanyRouteServiceImpl.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticscompanyroute/service/impl/LogisticsCompanyRouteServiceImpl.java
@@ -4,9 +4,11 @@ import cc.hiver.core.logisticscompanyroute.entity.LogisticsCompanyRoute;
import cc.hiver.core.logisticscompanyroute.mapper.LogisticsCompanyRouteMapper;
import cc.hiver.core.logisticscompanyroute.service.LogisticsCompanyRouteService;
import cc.hiver.core.logisticscompanyroute.vo.LogisticsCompanyRouteQueryVo;
+import cc.hiver.core.utils.DateUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -27,12 +29,18 @@ public class LogisticsCompanyRouteServiceImpl extends ServiceImpl getLogisticsCompanyRoutePageList(LogisticsCompanyRouteQueryVo logisticsCompanyRouteQueryVo) {
+ if(StringUtils.isNotEmpty(logisticsCompanyRouteQueryVo.getEndDate())){
+ logisticsCompanyRouteQueryVo.setEndDate(DateUtil.addDay(logisticsCompanyRouteQueryVo.getEndDate(), 1));
+ }
final Page page = new Page<>(logisticsCompanyRouteQueryVo.getPageNum(), logisticsCompanyRouteQueryVo.getPageSize());
return logisticsCompanyRouteMapper.getLogisticsCompanyRoutePageList(page, logisticsCompanyRouteQueryVo);
}
@Override
public List getLogisticsCompanyRouteListByCompanyId(LogisticsCompanyRouteQueryVo logisticsCompanyRouteQueryVo) {
+ if(StringUtils.isNotEmpty(logisticsCompanyRouteQueryVo.getEndDate())){
+ logisticsCompanyRouteQueryVo.setEndDate(DateUtil.addDay(logisticsCompanyRouteQueryVo.getEndDate(), 1));
+ }
return logisticsCompanyRouteMapper.getLogisticsCompanyRouteListByCompanyId(logisticsCompanyRouteQueryVo);
}
}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticscompanyroute/vo/LogisticsCompanyRouteQueryVo.java b/hiver-core/src/main/java/cc/hiver/core/logisticscompanyroute/vo/LogisticsCompanyRouteQueryVo.java
index b0ca69b9..a44bcd9e 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticscompanyroute/vo/LogisticsCompanyRouteQueryVo.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticscompanyroute/vo/LogisticsCompanyRouteQueryVo.java
@@ -26,4 +26,10 @@ public class LogisticsCompanyRouteQueryVo extends HiverBasePageQuery {
@ApiModelProperty(value = "绾胯矾鍚嶇О")
private String circuitName;
+
+ @ApiModelProperty(value = "寮濮嬫椂闂")
+ private String startDate;
+
+ @ApiModelProperty(value = "缁撴潫鏃堕棿")
+ private String endDate;
}
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 e6cd55cf..948ca77d 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
@@ -5,6 +5,7 @@ import cc.hiver.core.common.utils.ResultUtil;
import cc.hiver.core.common.utils.SecurityUtil;
import cc.hiver.core.common.vo.Result;
import cc.hiver.core.entity.LogiticsCompany;
+import cc.hiver.core.logisticsaddressbook.entity.LogisticsAddressBook;
import cc.hiver.core.logisticsaddressbook.service.LogisticsAddressBookService;
import cc.hiver.core.logisticsorder.entity.LogisticsOrder;
import cc.hiver.core.logisticsorder.entity.LogisticsOrderChangeLog;
@@ -25,6 +26,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
+import java.util.Map;
/**
* 鐗╂祦璁㈠崟鎺у埗鍣
@@ -63,16 +65,25 @@ public class LogisticsOrderController {
}
logisticsOrder.setOrderNumber(orderNumber);
// 璁剧疆鍒涘缓浜哄鍚
- final LogiticsCompany logiticsCompany = securityUtil.getCurrCompany();
- logisticsOrder.setCreateBy(logiticsCompany.getId());
- logisticsOrder.setCreateByName(logiticsCompany.getContacts());
- final boolean b = logisticsOrderService.saveOrUpdate(logisticsOrder);
- if (b) {
- //淇濆瓨鏀跺彂璐т汉鍦板潃绨
- logisticsAddressBookService.saveLogisticsAddressBook(logisticsOrder);
+ final LogiticsCompany logiticsCompany = securityUtil.getCurrCompany();
+ logisticsOrder.setCreateBy(logiticsCompany.getId());
+ logisticsOrder.setCreateByName(logiticsCompany.getContacts());
+ // 20241015 淇濆瓨鏀跺彂璐т汉鍦板潃绨匡紝鍏堜繚瀛樺湴鍧绨匡紝鏂逛究鍚庤竟鑾峰彇鏀跺彂璐т汉id
+ boolean b = logisticsAddressBookService.saveLogisticsAddressBook(logisticsOrder);
+ if(b){
+ // 鑾峰彇鏀惰揣浜篿d
+ 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());
+ }
+ logisticsOrderService.saveOrUpdate(logisticsOrder);
return ResultUtil.success("淇濆瓨鎴愬姛锛");
- } else {
- return ResultUtil.error("淇濆瓨澶辫触锛");
+ }else{
+ return ResultUtil.success("淇濆瓨澶辫触锛");
}
}
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 6d4eea97..0ee8746f 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
@@ -82,6 +82,10 @@ public class LogisticsOrder{
@ApiModelProperty(value = "绾胯矾鍚嶇О")
private String circuitName;
+ @CompareField(name = "鍙戣揣浜篿d")
+ @ApiModelProperty(value = "鍙戣揣浜篿d")
+ private String shipperId;
+
@CompareField(name = "鍙戣揣浜哄悕绉")
@ApiModelProperty(value = "鍙戣揣浜哄悕绉")
private String shipperName;
@@ -94,6 +98,10 @@ public class LogisticsOrder{
@ApiModelProperty(value = "鍙戣揣鍦板潃")
private String shipperAddress;
+ @CompareField(name = "鏀惰揣浜篿d")
+ @ApiModelProperty(value = "鏀惰揣浜篿d")
+ private String receiverId;
+
@CompareField(name = "鏀惰揣浜哄悕绉")
@ApiModelProperty(value = "鏀惰揣浜哄悕绉")
private String receiverName;
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 d23297e2..f9a8de9c 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
@@ -41,7 +41,7 @@ public class LogisticsOrderServiceImpl extends ServiceImpl getLogisticsOrderPageList(LogisticsOrderQueryVo logisticsOrderQueryVo) {
// 濡傛灉鎸夌収鏃堕棿鑼冨洿鏌ヨ锛岀粨鏉熸椂闂村姞1澶
- if(StringUtils.isNotEmpty(logisticsOrderQueryVo.getEndDate())){
+ if (StringUtils.isNotEmpty(logisticsOrderQueryVo.getEndDate())) {
logisticsOrderQueryVo.setEndDate(DateUtil.addDay(logisticsOrderQueryVo.getEndDate(), 1));
}
final Page page = new Page<>(logisticsOrderQueryVo.getPageNum(), logisticsOrderQueryVo.getPageSize());
@@ -53,12 +53,12 @@ public class LogisticsOrderServiceImpl extends ServiceImpl stuQuery = new LambdaQueryWrapper<>();
+ final LambdaQueryWrapper stuQuery = new LambdaQueryWrapper<>();
stuQuery.eq(LogisticsOrder::getCompanyId, logisticsOrder.getCompanyId())
.orderByDesc(LogisticsOrder::getCreateTime)
- .between(LogisticsOrder::getCreateTime, DateUtil.COMMON.getDateText(new Date())+" 00:00:00", DateUtil.COMMON.getDateText(new Date())+" 23:59:59")
+ .between(LogisticsOrder::getCreateTime, DateUtil.COMMON.getDateText(new Date()) + " 00:00:00", DateUtil.COMMON.getDateText(new Date()) + " 23:59:59")
.last("limit 1");
return getBaseMapper().selectOne(stuQuery);
@@ -66,28 +66,29 @@ public class LogisticsOrderServiceImpl extends ServiceImpl getLogisticsOrderChangeLog(String orderId){
- List list = logisticsOrderMapper.getLogisticsOrderChangeLog(orderId);
- List logisticsOrderChangeLogVoList = new ArrayList<>();
- if(CollectionUtils.isNotEmpty(list)){
- Gson gson = new Gson();
- for (LogisticsOrderChangeLog logisticsOrderChangeLog : list){
- LogisticsOrderChangeLogVo logisticsOrderChangeLogVo = new LogisticsOrderChangeLogVo();
- LogisticsOrder oldData = gson.fromJson(logisticsOrderChangeLog.getOldData(), LogisticsOrder.class);
- LogisticsOrder newData = gson.fromJson(logisticsOrderChangeLog.getNewData(), LogisticsOrder.class);
- CompareObjectUtils compareObjectUtils = new CompareObjectUtils<>();
- List diffAttrs = compareObjectUtils.CompareObjWithAnnotation(oldData, newData);
+ public List getLogisticsOrderChangeLog(String orderId) {
+ final List list = logisticsOrderMapper.getLogisticsOrderChangeLog(orderId);
+ final List logisticsOrderChangeLogVoList = new ArrayList<>();
+ if (CollectionUtils.isNotEmpty(list)) {
+ final Gson gson = new Gson();
+ for (LogisticsOrderChangeLog logisticsOrderChangeLog : list) {
+ final LogisticsOrderChangeLogVo logisticsOrderChangeLogVo = new LogisticsOrderChangeLogVo();
+ final LogisticsOrder oldData = gson.fromJson(logisticsOrderChangeLog.getOldData(), LogisticsOrder.class);
+ final LogisticsOrder newData = gson.fromJson(logisticsOrderChangeLog.getNewData(), LogisticsOrder.class);
+ final CompareObjectUtils compareObjectUtils = new CompareObjectUtils<>();
+ final List diffAttrs = compareObjectUtils.CompareObjWithAnnotation(oldData, newData);
logisticsOrderChangeLogVo.setOrderId(oldData.getId());
logisticsOrderChangeLogVo.setCreateBy(logisticsOrderChangeLog.getCreateBy());
logisticsOrderChangeLogVo.setCreateByName(logisticsOrderChangeLog.getCreateByName());
@@ -101,20 +102,26 @@ public class LogisticsOrderServiceImpl extends ServiceImpl {
* @date 2024/8/28
*/
List getLogisticsStationListByCompanyId(@Param("queryParams") LogisticsStationQueryVo logisticsRouteQueryVo);
+
+ /**
+ * 鏍规嵁绔欑偣鍚嶇О鍖归厤鍒拌揪绔欙紝鏀寔鎷奸煶
+ * @author 鐜嬪瘜搴
+ * @date 2024/10/15
+ * @param logisticsRouteQueryVo
+ * @return List
+ */
+ List getLogisticsStationListBystationName(@Param("queryParams") LogisticsStationQueryVo logisticsRouteQueryVo);
}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsstation/service/LogisticsStationService.java b/hiver-core/src/main/java/cc/hiver/core/logisticsstation/service/LogisticsStationService.java
index a021cd44..3b20539f 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsstation/service/LogisticsStationService.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsstation/service/LogisticsStationService.java
@@ -28,4 +28,13 @@ public interface LogisticsStationService extends IService {
* @date 2024/8/28
*/
List getLogisticsStationListByCompanyId(LogisticsStationQueryVo logisticsRouteQueryVo);
+
+ /**
+ * 鏍规嵁绔欑偣鍚嶇О鍖归厤鍒拌揪绔欙紝鏀寔鎷奸煶
+ * @author 鐜嬪瘜搴
+ * @date 2024/10/15
+ * @param logisticsRouteQueryVo
+ * @return List
+ */
+ List getLogisticsStationListBystationName(LogisticsStationQueryVo logisticsRouteQueryVo);
}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsstation/service/impl/LogisticsStationServiceImpl.java b/hiver-core/src/main/java/cc/hiver/core/logisticsstation/service/impl/LogisticsStationServiceImpl.java
index c2464f57..7e05c89a 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsstation/service/impl/LogisticsStationServiceImpl.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsstation/service/impl/LogisticsStationServiceImpl.java
@@ -44,4 +44,16 @@ public class LogisticsStationServiceImpl extends ServiceImpl getLogisticsStationListByCompanyId(LogisticsStationQueryVo logisticsRouteQueryVo) {
return logisticsStationMapper.getLogisticsStationListByCompanyId(logisticsRouteQueryVo);
}
+
+ /**
+ * 鏍规嵁绔欑偣鍚嶇О鍖归厤鍒拌揪绔欙紝鏀寔鎷奸煶
+ * @author 鐜嬪瘜搴
+ * @date 2024/10/15
+ * @param logisticsRouteQueryVo
+ * @return List
+ */
+ @Override
+ public List getLogisticsStationListBystationName(LogisticsStationQueryVo logisticsRouteQueryVo) {
+ return logisticsStationMapper.getLogisticsStationListBystationName(logisticsRouteQueryVo);
+ }
}
diff --git a/hiver-core/src/main/resources/mapper/LogisticsAddressBookMapper.xml b/hiver-core/src/main/resources/mapper/LogisticsAddressBookMapper.xml
index 53af7e34..7d7e91e5 100644
--- a/hiver-core/src/main/resources/mapper/LogisticsAddressBookMapper.xml
+++ b/hiver-core/src/main/resources/mapper/LogisticsAddressBookMapper.xml
@@ -162,7 +162,8 @@
t.shipper_or_receiver_name, t.address_type, t.mobile, t.address_info, t.company_id, t.company_name
from t_logistics_address_book t
- t.address_type = #{queryParams.addressType}
+ t.company_id = #{queryParams.companyId}
+ and t.address_type = #{queryParams.addressType}
AND (
t.shipper_or_receiver_name LIKE CONCAT( '%', #{queryParams.shipperOrReceiverName}, '%' )
diff --git a/hiver-core/src/main/resources/mapper/LogisticsCompanyRouteMapper.xml b/hiver-core/src/main/resources/mapper/LogisticsCompanyRouteMapper.xml
index adeeb93c..c7918950 100644
--- a/hiver-core/src/main/resources/mapper/LogisticsCompanyRouteMapper.xml
+++ b/hiver-core/src/main/resources/mapper/LogisticsCompanyRouteMapper.xml
@@ -156,6 +156,10 @@
AND t.circuit_name like concat('%',#{queryParams.circuitName},'%')
+
+
+ AND t.create_time BETWEEN #{queryParams.startDate} AND #{queryParams.endDate}
+
ORDER BY
t.create_time desc
@@ -180,6 +184,10 @@
AND t.circuit_name like concat('%',#{queryParams.circuitName},'%')
+
+
+ AND t.create_time BETWEEN #{queryParams.startDate} AND #{queryParams.endDate}
+
ORDER BY
t.create_time desc
diff --git a/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml b/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml
index 87980aa8..03c246f7 100644
--- a/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml
+++ b/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml
@@ -191,6 +191,10 @@
AND t.arrival_station_id = #{logisticsOrderQueryVo.arrivalStationId}
+
+
+ AND t.create_time BETWEEN #{logisticsOrderQueryVo.startDate} AND #{logisticsOrderQueryVo.endDate}
+
diff --git a/hiver-core/src/main/resources/mapper/LogisticsStationMapper.xml b/hiver-core/src/main/resources/mapper/LogisticsStationMapper.xml
index 2c6a4580..1ad5e2ca 100644
--- a/hiver-core/src/main/resources/mapper/LogisticsStationMapper.xml
+++ b/hiver-core/src/main/resources/mapper/LogisticsStationMapper.xml
@@ -175,4 +175,19 @@
ORDER BY
t.create_time desc
+
+
\ No newline at end of file
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/LcomAuthController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/LcomAuthController.java
index 84b4615f..6f41b939 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/LcomAuthController.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/LcomAuthController.java
@@ -24,6 +24,8 @@ import cc.hiver.core.common.utils.SecurityUtil;
import cc.hiver.core.common.vo.Result;
import cc.hiver.core.config.properties.HiverTokenProperties;
import cc.hiver.core.entity.LogiticsCompany;
+import cc.hiver.core.logisticsuser.entity.LogisticsUser;
+import cc.hiver.core.logisticsuser.service.LogisticsUserService;
import cc.hiver.core.service.LogiticsCompanyService;
import cc.hiver.core.vo.LcomDetailVO;
import cn.hutool.core.text.CharSequenceUtil;
@@ -59,6 +61,9 @@ public class LcomAuthController {
@Autowired
private LogiticsCompanyService logiticsCompanyService;
+ @Autowired
+ private LogisticsUserService logisticsUserService;
+
public static final String LOGIN_FAIL_FLAG = "COMPANY_LOGIN_FAIL_FLAG:";
public static final String LOGIN_TIME_LIMIT = "COMPANY_LOGIN_TIME_LIMIT:";
@@ -164,7 +169,16 @@ public class LcomAuthController {
@RateLimiter(name = "sendLoginSms", ipLimit = true)
public Result chooseCompany(@RequestParam String companyId,@RequestParam String username) {
final boolean saveLogin = true;
- final LogiticsCompany logiticsCompany = logiticsCompanyService.findById(companyId);
+ LogiticsCompany logiticsCompany = logiticsCompanyService.findById(companyId);
+ if(logiticsCompany == null ){
+ // 鍙兘鏄憳宸ョ櫥褰曪紝杩欓噷鍙嶆煡鍏徃淇℃伅
+ final LogisticsUser logisticsUser = logisticsUserService.getById(companyId);
+ logiticsCompany = logiticsCompanyService.findById(logisticsUser.getCompanyId());
+ }else{
+ logiticsCompany.setCompanyId(logiticsCompany.getId());
+ }
+
+ // accessToken锛屾槸鏍规嵁username鍘昏缃殑锛屽彲鑳芥槸鍛樺伐鐨勶紝涔熷彲鑳芥槸鍏徃鐨勩
final String accessToken = securityUtil.getAppWLToken(logiticsCompany, saveLogin,username);
final LcomDetailVO detailVO = new LcomDetailVO();
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/service/impl/PurchaseOcrPictureServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/service/impl/PurchaseOcrPictureServiceImpl.java
index 30699cb4..352813d1 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/service/impl/PurchaseOcrPictureServiceImpl.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/service/impl/PurchaseOcrPictureServiceImpl.java
@@ -2,10 +2,14 @@ package cc.hiver.mall.purchaseocr.service.impl;
import cc.hiver.core.common.utils.CommonUtil;
import cc.hiver.core.common.utils.SecurityUtil;
+import cc.hiver.core.entity.LogiticsCompany;
import cc.hiver.core.entity.User;
import cc.hiver.core.logisticsaddressbook.entity.LogisticsAddressBook;
import cc.hiver.core.logisticsaddressbook.service.LogisticsAddressBookService;
import cc.hiver.core.logisticsaddressbook.vo.LogisticsAddressBookQueryVo;
+import cc.hiver.core.logisticsstation.entity.LogisticsStation;
+import cc.hiver.core.logisticsstation.service.LogisticsStationService;
+import cc.hiver.core.logisticsstation.vo.LogisticsStationQueryVo;
import cc.hiver.mall.common.constant.PurchaseConstant;
import cc.hiver.mall.config.thread.AiPurchaseThread;
import cc.hiver.mall.config.thread.ThreadPoolConfiguration;
@@ -83,6 +87,9 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
@Autowired
private LogisticsAddressBookService logisticsAddressBookService;
+ @Autowired
+ private LogisticsStationService logisticsStationService;
+
@Override
public JSONObject batchSave(PurchaseOciPictureAddVo purchaseOciPictureAddVo) {
@@ -248,14 +255,14 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
final String attributeList = object.getString("attributeList");
final JSONArray attributeListJsonArray = JSON.parseArray(attributeList);
// 鏍规嵁璐у彿鍘绘煡璇㈠晢鍝侊紝濡傛灉
- final List byProductSn = productService.getByProductSn(productSn, shopId,"");
+ final List byProductSn = productService.getByProductSn(productSn, shopId, "");
if (StringUtils.isNotEmpty(singleProductId) || (byProductSn != null && !byProductSn.isEmpty())) {
// 鍘熷垯涓婁竴涓簵閾轰竴涓揣鍙峰搴斾竴涓晢鍝侊紝杩欓噷濡傛灉鏌ュ埌浜嗭紝鐩存帴鎷跨涓涓
Product product = new Product();
- if(!byProductSn.isEmpty()){
+ if (!byProductSn.isEmpty()) {
product = byProductSn.get(0);
}
- if(StringUtils.isNotEmpty(singleProductId)){
+ if (StringUtils.isNotEmpty(singleProductId)) {
// 20240928 app/sale/buyAi鎺ュ彛鍔犱釜鍙傛暟productId锛屽鏋滀紶鍊间簡锛屾煡瑙勬牸搴撳瓨鏁扮殑鏃跺欏氨鏌ヨ繖娆惧晢鍝佺殑
product = productService.getById(singleProductId);
}
@@ -283,13 +290,13 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
// ai璇煶鍏ュ簱鏃у晢鍝 濡傛灉閫氫箟鍗冮棶杩斿洖鐨勪环鏍间负0锛岃繑鍥炲綋鍓嶉噰璐环 锛岄噰璐环锛歱urchasePrice
if (price.compareTo(BigDecimal.ZERO) == 0) {
purchaseDetail.setPurchasePrice(product.getPurchasePrice());
- }else{
+ } else {
purchaseDetail.setPurchasePrice(price);
}
// ai璇煶鍏ュ簱鏃у晢鍝 濡傛灉閫氫箟鍗冮棶杩斿洖鐨勪环鏍间负0锛岃繑鍥炲綋鍓嶆壒鍙戜环 锛屾壒鍙戜环锛歸holesalePrice
if (wholesalePrice.compareTo(BigDecimal.ZERO) == 0) {
purchaseDetail.setWholesalePrice(product.getWholesalePrice());
- }else{
+ } else {
purchaseDetail.setWholesalePrice(wholesalePrice);
}
purchaseDetail.setAttrId(product.getAttrId());
@@ -401,9 +408,9 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
}
// 濡傛灉瀹㈡埛id涓嶄负绌猴紝閭d箞灏辨煡璇㈠晢鍝佺殑璐拱璁板綍
- if(StringUtils.isNotEmpty(customerId)){
+ if (StringUtils.isNotEmpty(customerId)) {
// 鑾峰彇瀹㈡埛鐨勮喘涔版鏁
- final List buyCount = saleService.buyCount(customerId,oldProductIdList);
+ final List buyCount = saleService.buyCount(customerId, oldProductIdList);
// 灏佽涓篗ap
final Map buyCountMap = new HashMap<>();
for (BuyCountVo buyCountVo : buyCount) {
@@ -440,9 +447,9 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
for (int j = 0; j < attributeListJsonArray.size(); j++) {
final JSONObject attributeListObject = attributeListJsonArray.getJSONObject(j);
String color = attributeListObject.getString("color");
- color = StringUtils.isEmpty(color) ? "鍧囪壊" :color.toUpperCase();
+ color = StringUtils.isEmpty(color) ? "鍧囪壊" : color.toUpperCase();
String size = attributeListObject.getString("size");
- size = StringUtils.isEmpty(size) ? "鍧囩爜" :size.toUpperCase();
+ size = StringUtils.isEmpty(size) ? "鍧囩爜" : size.toUpperCase();
String productCount1 = attributeListObject.getString("productCount");
productCount1 = StringUtils.isEmpty(productCount1) ? "0" : productCount1;
final Matcher countMatchered = COMPILE.matcher(productCount1);
@@ -521,7 +528,7 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
BigDecimal weight = BigDecimal.ZERO;
// 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒
final Pattern pattern = Pattern.compile("-?\\d+(\\.\\d+)?");
- if(StringUtils.isNotEmpty(weightStr)){
+ if (StringUtils.isNotEmpty(weightStr)) {
final Matcher matcher = pattern.matcher(weightStr);
if (matcher.find()) {
// 鑾峰彇鍖归厤鍒扮殑鏁板瓧瀛楃涓插苟杞崲涓築igDecimal
@@ -533,7 +540,7 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
customInfoOfAiVo.setWeight(weight);
final String countStr = object.getString("count");
int count = 0;
- if(StringUtils.isNotEmpty(countStr)){
+ if (StringUtils.isNotEmpty(countStr)) {
final Matcher countMatchered = COMPILE.matcher(countStr);
String replaced = "";
if (countMatchered.find()) {
@@ -547,7 +554,7 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
customInfoOfAiVo.setMethodOfSettlement(methodOfSettlement);
final String tipsStr = object.getString("tips");
BigDecimal tips = BigDecimal.ZERO;
- if(StringUtils.isNotEmpty(tipsStr)){
+ if (StringUtils.isNotEmpty(tipsStr)) {
// 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒
final Matcher matcherOfTips = pattern.matcher(tipsStr);
if (matcherOfTips.find()) {
@@ -561,7 +568,7 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
customInfoOfAiVos.add(customInfoOfAiVo);
}
} catch (Exception e) {
- log.error(e.getMessage(),e);
+ log.error(e.getMessage(), e);
returnJsonObject.put("code", 500);
}
returnJsonObject.put("data", customInfoOfAiVos);
@@ -593,7 +600,7 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
BigDecimal weight = BigDecimal.ZERO;
// 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒
final Pattern pattern = Pattern.compile("-?\\d+(\\.\\d+)?");
- if(StringUtils.isNotEmpty(weightStr)){
+ if (StringUtils.isNotEmpty(weightStr)) {
final Matcher matcher = pattern.matcher(weightStr);
if (matcher.find()) {
// 鑾峰彇鍖归厤鍒扮殑鏁板瓧瀛楃涓插苟杞崲涓築igDecimal
@@ -605,7 +612,7 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
logisticsOrderOfAiVo.setWeight(weight);
final String countStr = object.getString("count");
int count = 0;
- if(StringUtils.isNotEmpty(countStr)){
+ if (StringUtils.isNotEmpty(countStr)) {
final Matcher countMatchered = COMPILE.matcher(countStr);
String replaced = "";
if (countMatchered.find()) {
@@ -617,7 +624,7 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
logisticsOrderOfAiVo.setCount(count);
final String tipsStr = object.getString("tips");
BigDecimal tips = BigDecimal.ZERO;
- if(StringUtils.isNotEmpty(tipsStr)){
+ if (StringUtils.isNotEmpty(tipsStr)) {
// 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒
final Matcher matcherOfTips = pattern.matcher(tipsStr);
if (matcherOfTips.find()) {
@@ -631,7 +638,7 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
final String premiumStr = object.getString("premium");
BigDecimal premium = BigDecimal.ZERO;
- if(StringUtils.isNotEmpty(premiumStr)){
+ if (StringUtils.isNotEmpty(premiumStr)) {
// 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒
final Matcher matcherOfPremium = pattern.matcher(premiumStr);
if (matcherOfPremium.find()) {
@@ -650,11 +657,13 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
logisticsAddressBookQueryVo.setAddressType(1);
logisticsAddressBookQueryVo.setShipperOrReceiverName(shipperName);
logisticsAddressBookQueryVo.setMobile(shipperMobile);
+ LogiticsCompany currCompany = securityUtil.getCurrCompany();
+ logisticsAddressBookQueryVo.setCompanyId(currCompany.getCompanyId());
final cn.hutool.json.JSONObject logisticsAddressBookList = logisticsAddressBookService.getLogisticsAddressBookList(logisticsAddressBookQueryVo);
- if("1".equals(logisticsAddressBookList.get("flag"))){
+ if ("1".equals(logisticsAddressBookList.get("flag"))) {
final List data = (List) logisticsAddressBookList.get("data");
logisticsOrderOfAiVo.setShipperList(data);
- }else{
+ } else {
log.info(logisticsAddressBookList.get("msg").toString());
}
// 鏀惰揣浜 receiverName,receiverMobile
@@ -663,16 +672,24 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService
receiverQueryVo.setShipperOrReceiverName(receiverName);
receiverQueryVo.setMobile(receiverMobile);
final cn.hutool.json.JSONObject receiverList = logisticsAddressBookService.getLogisticsAddressBookList(receiverQueryVo);
- if("1".equals(receiverList.get("flag"))){
+ if ("1".equals(receiverList.get("flag"))) {
final List data = (List) receiverList.get("data");
logisticsOrderOfAiVo.setReceiverList(data);
- }else{
+ } else {
log.info(receiverList.get("msg").toString());
}
+
+ // 鍒拌揪绔欏垪琛
+ if (StringUtils.isNotEmpty(arrivalStationName)) {
+ LogisticsStationQueryVo logisticsRouteQueryVo = new LogisticsStationQueryVo();
+ logisticsRouteQueryVo.setStationName(arrivalStationName);
+ List logisticsStationListBystationName = logisticsStationService.getLogisticsStationListBystationName(logisticsRouteQueryVo);
+ logisticsOrderOfAiVo.setLogisticsStationList(logisticsStationListBystationName);
+ }
logisticsOrderOfAiVos.add(logisticsOrderOfAiVo);
}
} catch (Exception e) {
- log.error(e.getMessage(),e);
+ log.error(e.getMessage(), e);
returnJsonObject.put("code", 500);
}
returnJsonObject.put("data", logisticsOrderOfAiVos);
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/vo/LogisticsOrderOfAiVo.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/vo/LogisticsOrderOfAiVo.java
index a0793824..8ccf2a3d 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/vo/LogisticsOrderOfAiVo.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/vo/LogisticsOrderOfAiVo.java
@@ -1,6 +1,7 @@
package cc.hiver.mall.purchaseocr.vo;
import cc.hiver.core.logisticsaddressbook.entity.LogisticsAddressBook;
+import cc.hiver.core.logisticsstation.entity.LogisticsStation;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -43,6 +44,9 @@ public class LogisticsOrderOfAiVo {
@ApiModelProperty(value = "鍒拌揪绔")
private String arrivalStationName;
+ @ApiModelProperty(value = "鍒拌揪绔欏垪琛")
+ private List logisticsStationList;
+
@ApiModelProperty(value = "鐗╁搧")
private String objectName;
}