feat(order): 更新订单修改功能并添加新环境配置
- 修改 application.yml 默认激活环境从 ysb2 到 glt2 - 新增 application-glt3.yml 环境配置文件,包含服务器、数据源、Redis等完整配置 - 在订单更新接口中添加地址同步逻辑,支持根据 addressId 更新订单地址快照 - 添加订单更新时的参数验证和权限检查机制 - 在订单模板实体中新增步长字段用于业务配置 - 优化订单更新流程中的租户和用户权限验证逻辑
This commit is contained in:
@@ -241,8 +241,33 @@ public class GltTicketOrderController extends BaseController {
|
||||
@Operation(summary = "修改送水订单")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody GltTicketOrder gltTicketOrder) {
|
||||
if (gltTicketOrder == null || gltTicketOrder.getId() == null) {
|
||||
return fail("订单ID不能为空");
|
||||
}
|
||||
Integer tenantId = getTenantId();
|
||||
|
||||
// 根据 addressId 同步更新订单地址快照
|
||||
if (gltTicketOrder.getAddressId() != null) {
|
||||
ShopUserAddress userAddress = shopUserAddressService.getByIdRel(gltTicketOrder.getAddressId());
|
||||
if (userAddress == null) {
|
||||
return fail("收货地址不存在");
|
||||
}
|
||||
if (tenantId != null && userAddress.getTenantId() != null && !tenantId.equals(userAddress.getTenantId())) {
|
||||
return fail("收货地址不存在或无权限");
|
||||
}
|
||||
GltTicketOrder oldOrder = gltTicketOrderService.getById(gltTicketOrder.getId());
|
||||
if (oldOrder == null) {
|
||||
return fail("订单不存在");
|
||||
}
|
||||
Integer targetUserId = gltTicketOrder.getUserId() != null ? gltTicketOrder.getUserId() : oldOrder.getUserId();
|
||||
if (targetUserId != null && userAddress.getUserId() != null && !targetUserId.equals(userAddress.getUserId())) {
|
||||
return fail("收货地址不存在或无权限");
|
||||
}
|
||||
gltTicketOrder.setAddressId(userAddress.getId());
|
||||
gltTicketOrder.setAddress(buildAddressSnapshot(userAddress));
|
||||
}
|
||||
|
||||
if (gltTicketOrderService.updateById(gltTicketOrder)) {
|
||||
Integer tenantId = getTenantId();
|
||||
// 后台指派配送员(直接改 riderId)时,同步商城订单为“已发货”(deliveryStatus=20)
|
||||
if (gltTicketOrder != null
|
||||
&& gltTicketOrder.getId() != null
|
||||
|
||||
@@ -58,6 +58,9 @@ public class GltTicketTemplate implements Serializable {
|
||||
@Schema(description = "首期释放时机:0=支付成功当刻;1=下个月同日")
|
||||
private Integer firstReleaseMode;
|
||||
|
||||
@Schema(description = "步长")
|
||||
private Integer step;
|
||||
|
||||
@Schema(description = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
|
||||
86
src/main/resources/application-glt3.yml
Normal file
86
src/main/resources/application-glt3.yml
Normal file
@@ -0,0 +1,86 @@
|
||||
# 服务器配置
|
||||
server:
|
||||
port: 9300
|
||||
# 数据源配置
|
||||
spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://1Panel-mysql-XsWW:3306/modules?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
username: modules
|
||||
password: tYmmMGh5wpwXR3ae
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
druid:
|
||||
remove-abandoned: true
|
||||
|
||||
# redis
|
||||
redis:
|
||||
database: 0
|
||||
host: 1Panel-redis-GmNr
|
||||
port: 6379
|
||||
password: redis_t74P8C
|
||||
|
||||
# 日志配置
|
||||
logging:
|
||||
file:
|
||||
name: websoft-modules.log
|
||||
level:
|
||||
root: WARN
|
||||
com.gxwebsoft: ERROR
|
||||
com.baomidou.mybatisplus: ERROR
|
||||
|
||||
socketio:
|
||||
host: 0.0.0.0 #IP地址
|
||||
|
||||
# MQTT配置
|
||||
mqtt:
|
||||
enabled: false # 启用MQTT服务
|
||||
host: tcp://132.232.214.96:1883
|
||||
username: swdev
|
||||
password: Sw20250523
|
||||
client-id-prefix: hjm_car_
|
||||
topic: /SW_GPS/#
|
||||
qos: 2
|
||||
connection-timeout: 10
|
||||
keep-alive-interval: 20
|
||||
auto-reconnect: true
|
||||
|
||||
# 框架配置
|
||||
config:
|
||||
# 文件服务器
|
||||
file-server: https://file-s209.shoplnk.cn
|
||||
# 生产环境接口
|
||||
server-url: https://glt-server.websoft.top/api
|
||||
# 业务模块接口
|
||||
api-url: https://glt-api.websoft.top/api
|
||||
upload-path: /www/wwwroot/file.ws
|
||||
|
||||
# 阿里云OSS云存储
|
||||
endpoint: https://oss-cn-shenzhen.aliyuncs.com
|
||||
accessKeyId: LTAI4GKGZ9Z2Z8JZ77c3GNZP
|
||||
accessKeySecret: BiDkpS7UXj72HWwDWaFZxiXjNFBNCM
|
||||
bucketName: oss-gxwebsoft
|
||||
bucketDomain: https://oss.wsdns.cn
|
||||
aliyunDomain: https://oss-gxwebsoft.oss-cn-shenzhen.aliyuncs.com
|
||||
|
||||
# 生产环境证书配置
|
||||
certificate:
|
||||
load-mode: VOLUME # 生产环境从Docker挂载卷加载
|
||||
cert-root-path: /www/wwwroot/file.ws
|
||||
|
||||
# 支付配置缓存
|
||||
payment:
|
||||
cache:
|
||||
# 支付配置缓存键前缀,生产环境使用 Payment:1* 格式
|
||||
key-prefix: "Payment:1"
|
||||
# 缓存过期时间(小时)
|
||||
expire-hours: 24
|
||||
# 阿里云翻译配置
|
||||
aliyun:
|
||||
translate:
|
||||
access-key-id: LTAI5tEsyhW4GCKbds1qsopg
|
||||
access-key-secret: zltFlQrYVAoq2KMFDWgLa3GhkMNeyO
|
||||
endpoint: mt.cn-hangzhou.aliyuncs.com
|
||||
wechatpay:
|
||||
transfer:
|
||||
scene-id: 1005
|
||||
scene-report-infos-json: '[{"info_type":"岗位类型","info_content":"配送员"},{"info_type":"报酬说明","info_content":"12月份配送费"}]'
|
||||
@@ -4,7 +4,7 @@ server:
|
||||
# 多环境配置
|
||||
spring:
|
||||
profiles:
|
||||
active: ysb2
|
||||
active: glt2
|
||||
|
||||
application:
|
||||
name: server
|
||||
|
||||
Reference in New Issue
Block a user