ソースを参照

Merge branch 'shuiqilin0117'

houyinew
HouYi 8ヶ月前
コミット
5569142507

+ 67
- 4
src/main/java/com/qtzl/alterSales/manager/service/OrderUserInfoServiceImpl.java ファイルの表示

@@ -1,13 +1,21 @@
package com.qtzl.alterSales.manager.service;

import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.qtzl.alterSales.dao.entity.second.AflOrderInfo;
import com.qtzl.alterSales.dao.entity.second.AflOrderUserInfoModLog;
import com.qtzl.alterSales.dao.entity.third.EtcOrderUserInfo;
import com.qtzl.alterSales.dao.repo.jpa.second.AflOrderInfoRepo;
import com.qtzl.alterSales.dao.repo.jpa.second.AflOrderUserInfoModLogRepo;
import com.qtzl.alterSales.dao.repo.jpa.third.EtcOrderUserInfoRepo;
import com.qtzl.alterSales.dao.repo.jpa.third.EtcOrderVehicleInfoRepo;
import com.qtzl.alterSales.manager.model.protocol.NoAttributeResponse;
import com.qtzl.alterSales.manager.model.protocol.UcServiceError;
import com.qtzl.alterSales.manager.model.protocol.sales.ModOrderUserInfoRequest;
import com.qtzl.alterSales.manager.vo.OrderUserInfoVo;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.List;
@@ -24,6 +32,11 @@ public class OrderUserInfoServiceImpl implements OrderUserInfoService {
private EtcOrderVehicleInfoRepo orderVehicleInfoRepo;
@Resource
private EtcOrderUserInfoRepo orderUserInfoRepo;
@Resource
private AflOrderUserInfoModLogRepo orderUserInfoModLogRepo;
@Resource
private AflOrderInfoRepo orderInfoRepo;


@Override
public List<OrderUserInfoVo> findByVehicleId(String vehicleId) {
@@ -31,16 +44,66 @@ public class OrderUserInfoServiceImpl implements OrderUserInfoService {
return orderUserInfoVos;
}

@Transactional(rollbackFor = Exception.class)
@Override
public String ModOrderUserInfo(ModOrderUserInfoRequest request) throws ServiceHandleException {
if (StrUtil.isBlank(request.getApplyOrderId()) || StrUtil.isBlank(request.getVehiclePlate())
|| ObjectUtil.isEmpty(request.getVehiclePlateColor()) || StrUtil.isBlank(request.getOperator())
|| (StrUtil.isBlank(request.getUserName()) && StrUtil.isBlank(request.getUserMobile())
&& ObjectUtil.isEmpty(request.getIdentType()) && StrUtil.isBlank(request.getIdentNo()))) {
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("请求参数错误");
}
EtcOrderUserInfo orderUserInfo = orderUserInfoRepo.findByApplyOrderId(request.getApplyOrderId());
if (orderUserInfo != null) {
orderUserInfo.setUserName(request.getUserName());
// orderUserInfo.setUserPhone(request.getUserPhone());
orderUserInfoRepo.saveAndFlush(orderUserInfo);
return "修改成功";
extracted(request, orderUserInfo);
AflOrderUserInfoModLog aflOrderUserInfoModLog = new AflOrderUserInfoModLog();
aflOrderUserInfoModLog.setApplyOrderId(orderUserInfo.getApplyOrderId());
aflOrderUserInfoModLog.setUserName(orderUserInfo.getUserName());
aflOrderUserInfoModLog.setUserMobile(orderUserInfo.getUserMobile());
aflOrderUserInfoModLog.setIdentType(orderUserInfo.getIdentType());
aflOrderUserInfoModLog.setIdentNo(orderUserInfo.getIdentNo());
aflOrderUserInfoModLog.setOperator(request.getOperator());
if (StrUtil.isNotBlank(request.getUserName()) && !request.getUserName().equals(orderUserInfo.getUserName())) {
orderUserInfo.setUserName(request.getUserName());
}
if (StrUtil.isNotBlank(request.getUserMobile()) && !request.getUserMobile().equals(orderUserInfo.getUserMobile())) {
//更新订单系统用户手机号
List<AflOrderInfo> orderInfos = orderInfoRepo.findByVehicleId(request.getVehiclePlate(),
request.getVehiclePlateColor());
if (!orderInfos.isEmpty()) {
AflOrderInfo aflOrderInfo = orderInfos.get(0);
aflOrderInfo.setMobile(request.getUserMobile());
orderInfoRepo.save(aflOrderInfo);
}
orderUserInfo.setUserMobile(request.getUserMobile());
}
if (ObjectUtil.isNotNull(request.getIdentType()) && !request.getIdentType().equals(orderUserInfo.getIdentType())) {
orderUserInfo.setIdentType(request.getIdentType());
}
if (StrUtil.isNotBlank(request.getIdentNo()) && !request.getIdentNo().equals(orderUserInfo.getIdentNo())) {
orderUserInfo.setIdentNo(request.getIdentNo());
}

orderUserInfoRepo.save(orderUserInfo);
orderUserInfoModLogRepo.save(aflOrderUserInfoModLog);
return new NoAttributeResponse().toJson();
} else {
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("订单系统用户信息不存在");
}
}

private static void extracted(ModOrderUserInfoRequest request, EtcOrderUserInfo orderUserInfo) throws ServiceHandleException {
if (StrUtil.isNotBlank(request.getUserName()) && request.getUserName().equals(orderUserInfo.getUserName())){
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("用户姓名相同,无需修改");
}
if (StrUtil.isNotBlank(request.getUserMobile()) && request.getUserMobile().equals(orderUserInfo.getUserMobile())){
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("手机号相同,无需修改");
}
if (ObjectUtil.isNotNull(request.getIdentType()) && request.getIdentType().equals(orderUserInfo.getIdentType())){
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("证件类型相同,无需修改");
}
if (StrUtil.isNotBlank(request.getIdentNo()) && request.getIdentNo().equals(orderUserInfo.getIdentNo())){
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("证件号码相同,无需修改");
}
}
}

+ 28
- 27
src/main/resources/application-dev.yml ファイルの表示

@@ -87,37 +87,15 @@ spring:
jdbc-url: jdbc:mariadb://159.75.82.245:3306/afl_fss?useSSL=false&useUnicode=yes&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&serverTimezone=UTC
username: ${MYSQL_SERVER_USER:root}
password: ${MYSQL_SERVER_PASSWORD:houyi..}
second:
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
enableDrds: true
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
# 填写你数据库的url、登录名、密码和数据库名 allowMultiQueries=true nj-cdb-m52p6dj5.sql.tencentcdb.com 63865 !@#$%QWERTasdfg hypt_smp
jdbc-url: jdbc:mysql://159.75.82.245:3306/afl_fss_second?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowMultiQueries=true&useSSL=false
username: ${MYSQL_SERVER_USER:root}
password: ${MYSQL_SERVER_PASSWORD:houyi..}
initial-size: 5
max-active: 100
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
max-wait: 60000
min-idle: 5
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
time-between-eviction-runs-millis: 50000
validation-query: SELECT 'x' FROM DUAL
validation-query-timeout: 10
# second:
# driver-class-name: com.mysql.cj.jdbc.Driver
# type: com.alibaba.druid.pool.DruidDataSource
# driver-class-name: oracle.jdbc.driver.OracleDriver
# enableDrds: true
# dialect: org.hibernate.dialect.Oracle10gDialect
# dialect: org.hibernate.dialect.MySQL5InnoDBDialect
# # 填写你数据库的url、登录名、密码和数据库名 allowMultiQueries=true nj-cdb-m52p6dj5.sql.tencentcdb.com 63865 !@#$%QWERTasdfg hypt_smp
# # url: jdbc:oracle:thin:@192.168.101.21:5016:ORCL
# jdbc-url: jdbc:oracle:thin:@10.52.0.159:1521:QTKDB1
# username: qtk
# password: QWERTasdfg12345ZXCVB
# jdbc-url: jdbc:mysql://159.75.82.245:3306/afl_fss_second?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowMultiQueries=true&useSSL=false
# username: ${MYSQL_SERVER_USER:root}
# password: ${MYSQL_SERVER_PASSWORD:houyi..}
# initial-size: 5
# max-active: 100
# # 配置一个连接在池中最小生存的时间,单位是毫秒
@@ -130,6 +108,29 @@ spring:
# time-between-eviction-runs-millis: 50000
# validation-query: SELECT 'x' FROM DUAL
# validation-query-timeout: 10
second:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: oracle.jdbc.driver.OracleDriver
enableDrds: true
dialect: org.hibernate.dialect.Oracle10gDialect
# 填写你数据库的url、登录名、密码和数据库名 allowMultiQueries=true nj-cdb-m52p6dj5.sql.tencentcdb.com 63865 !@#$%QWERTasdfg hypt_smp
jdbc-url: jdbc:oracle:thin:@192.168.101.21:1521:ORCL
# jdbc-url: jdbc:oracle:thin:@10.52.0.159:1521:QTKDB1
username: qtk
# password: QWERTasdfg12345ZXCVB
password: QWERTasdfgZXCVB12345
initial-size: 5
max-active: 100
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
max-wait: 60000
min-idle: 5
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
time-between-eviction-runs-millis: 50000
validation-query: SELECT 'x' FROM DUAL
validation-query-timeout: 10
# third:
# type: com.alibaba.druid.pool.DruidDataSource
# driver-class-name: org.mariadb.jdbc.Driver

+ 19
- 11
src/test/java/SaleTest.java ファイルの表示

@@ -261,12 +261,12 @@ public class SaleTest {
public void test22() throws ServiceHandleException, IOException {
ArrayList<String> objects = new ArrayList<>();
// testVehicleStatusListChange("苏EB03993",4,1,4);
// testVehicleStatusListChange("黑E8242J", 0, 2, 4, objects);
// testVehicleStatusListChange("黑A5R2MT", 0, 2, 4, objects);
// testVehicleStatusListChange("渝AM022X", 0, 2, 5, objects);
// testVehicleStatusListChange("渝AB69611", 4, 2, 4, objects);
testVehicleStatusListChange("鄂AF09903", 4, 2, 4, objects);
// testVehicleStatusListChange("豫AG21116", 4, 2, 4, objects);
//
// testVehicleStatusListChange("辽H9H1F3", 0, 1, 5, objects);
// testVehicleStatusListChange("粤RTV277", 0, 1, 5, objects);
// testVehicleStatusListChange("津A2813P", 0, 1, 5, objects);
// testVehicleStatusListChange("粤A32011", 0, 1, 5, objects);
// testVehicleStatusListChange("粤A30117", 0, 1, 5, objects);
@@ -281,17 +281,17 @@ public class SaleTest {
// testVehicleStatusListChange("湘ADD7689", 4, 1, 5, objects);


testVehicleStatusListChange("闽DA13456", 4, 1, 4, objects);
testVehicleStatusListChange("鲁BFS1960", 4, 1, 4, objects);
testVehicleStatusListChange("新AFE8550", 4, 1, 4, objects);
testVehicleStatusListChange("闽DDP8890", 4, 1, 4, objects);
testVehicleStatusListChange("豫AFL1502", 4, 1, 4, objects);
// testVehicleStatusListChange("渝AG73357", 4, 1, 4, objects);
// testVehicleStatusListChange("粤LD90821", 4, 1, 4, objects);
// testVehicleStatusListChange("冀BFC9028", 4, 1, 4, objects);
// testVehicleStatusListChange("渝AAS8662", 4, 1, 4, objects);
// testVehicleStatusListChange("豫AFL1502", 4, 1, 4, objects);
// testVehicleStatusListChange("黑AFM8586", 4, 1,4);
}

@Test
public void test23() throws ServiceHandleException, IOException {
String filePath = "D:\\yskj\\选装\\下黑\\0116蓝4.txt";
String filePath = "D:\\yskj\\选装\\下黑\\01171蓝4.txt";
try {
// 使用Files.lines方法按行读取文件内容,并收集为List
List<String> lines = Files.lines(Paths.get(filePath), StandardCharsets.UTF_8)
@@ -363,8 +363,16 @@ public class SaleTest {

@Test
public void test222() throws ServiceHandleException {
String jsonString = "[{\"cpuId\":\"0052232700221416\",\"message\":\"成功\",\"obuId\":\"9901002700028935\"," +
"\"vehicleId\":\"d984640bfc0f4ed8ada94bafa2770f2e\",\"returntime\":\"2025-01-16T14:41:14\"," +
String jsonString = "[{\"cpuId\":\"0052232700251883\",\"message\":\"成功\",\"obuId\":\"9901002700059402\"," +
"\"vehicleId\":\"9ebd99927b814525941cd62ac050aa1e\",\"returntime\":\"2025-01-17T16:33:54\"," +
"\"status\":1},{\"cpuId\":\"0052232700492341\",\"message\":\"成功\",\"obuId\":\"9901000700209586\"," +
"\"vehicleId\":\"680c242af22e45b99be20d6d95d44264\",\"returntime\":\"2025-01-17T16:33:57\"," +
"\"status\":1},{\"cpuId\":\"0052232700235783\",\"message\":\"成功\",\"obuId\":\"9901002700043302\"," +
"\"vehicleId\":\"d4df593c8b964c1c9de33304fc01af5c\",\"returntime\":\"2025-01-17T16:33:57\"," +
"\"status\":1},{\"cpuId\":\"0052232400326190\",\"message\":\"成功\",\"obuId\":\"9901000200458212\"," +
"\"vehicleId\":\"418ec116f9234d51ad0bc7894257c7fa\",\"returntime\":\"2025-01-17T16:34:02\"," +
"\"status\":1},{\"cpuId\":\"0052232700454444\",\"message\":\"成功\",\"obuId\":\"9901002700156968\"," +
"\"vehicleId\":\"a6e8d87851bc4435b7adc2c619279789\",\"returntime\":\"2025-01-17T16:34:05\"," +
"\"status\":1}]";
// 使用fastjson将JSON字符串转换为List<Map<String, Object>>
String filePath = "C:\\Users\\shui\\Desktop\\1-500 - 副本.txt";

読み込み中…
キャンセル
保存