1
This commit is contained in:
@@ -3,6 +3,7 @@ package com.ruoyi.web.controller.jarvis;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
import com.ruoyi.jarvis.domain.SuperAdmin;
|
import com.ruoyi.jarvis.domain.SuperAdmin;
|
||||||
import com.ruoyi.jarvis.service.SuperAdminService;
|
import com.ruoyi.jarvis.service.SuperAdminService;
|
||||||
@@ -37,8 +38,28 @@ public class OrderRowsController extends BaseController
|
|||||||
* 查询京粉订单列表
|
* 查询京粉订单列表
|
||||||
*/
|
*/
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public TableDataInfo list(OrderRows orderRows)
|
public TableDataInfo list(OrderRows orderRows, @RequestParam(required = false) String orderBy, @RequestParam(required = false) String orderSort)
|
||||||
{
|
{
|
||||||
|
// 处理排序参数:将 orderBy 和 orderSort 转换为 params 中的 orderBy 和 isAsc
|
||||||
|
if (orderBy != null && !orderBy.isEmpty()) {
|
||||||
|
if (orderRows.getParams() == null) {
|
||||||
|
orderRows.setParams(new HashMap<>());
|
||||||
|
}
|
||||||
|
Map<String, Object> params = orderRows.getParams();
|
||||||
|
// 将字段名转换为数据库列名
|
||||||
|
if ("estimateCosPrice".equals(orderBy)) {
|
||||||
|
params.put("orderBy", "estimate_cos_price");
|
||||||
|
} else {
|
||||||
|
params.put("orderBy", orderBy);
|
||||||
|
}
|
||||||
|
// 将 orderSort (asc/desc) 转换为 isAsc (asc/desc)
|
||||||
|
if ("asc".equals(orderSort)) {
|
||||||
|
params.put("isAsc", "asc");
|
||||||
|
} else if ("desc".equals(orderSort)) {
|
||||||
|
params.put("isAsc", "desc");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
startPage();
|
startPage();
|
||||||
List<OrderRows> list = orderRowsService.selectOrderRowsList(orderRows);
|
List<OrderRows> list = orderRowsService.selectOrderRowsList(orderRows);
|
||||||
return getDataTable(list);
|
return getDataTable(list);
|
||||||
|
|||||||
@@ -78,6 +78,10 @@ public class JDOrder extends BaseEntity {
|
|||||||
@Excel(name = "参与统计")
|
@Excel(name = "参与统计")
|
||||||
private Integer isCountEnabled;
|
private Integer isCountEnabled;
|
||||||
|
|
||||||
|
/** 第三方单号 */
|
||||||
|
@Excel(name = "第三方单号")
|
||||||
|
private String thirdPartyOrderNo;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public class InstructionServiceImpl implements IInstructionService {
|
|||||||
private IProductJdConfigService productJdConfigService;
|
private IProductJdConfigService productJdConfigService;
|
||||||
|
|
||||||
// 录单模板(与 jd/JDUtil 中 WENAN_D 保持一致)
|
// 录单模板(与 jd/JDUtil 中 WENAN_D 保持一致)
|
||||||
private static final String WENAN_D = "单:\n" + "{单号} \n备注:{单的备注}\n" + "分销标记:{分销标记}\n" + "型号:\n" + "{型号}\n" + "链接:\n" + "{链接}\n" + "下单付款:\n" + "\n" + "后返金额:\n" + "\n" + "地址:\n" + "{地址}\n" + "物流链接:\n" + "\n" + "订单号:\n" + "\n" + "下单人:\n" + "\n";
|
private static final String WENAN_D = "单:\n" + "{单号} \n备注:{单的备注}\n" + "分销标记:{分销标记}\n" + "第三方单号:{第三方单号}\n" + "型号:\n" + "{型号}\n" + "链接:\n" + "{链接}\n" + "下单付款:\n" + "\n" + "后返金额:\n" + "\n" + "地址:\n" + "{地址}\n" + "物流链接:\n" + "\n" + "订单号:\n" + "\n" + "下单人:\n" + "\n";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> execute(String command) {
|
public List<String> execute(String command) {
|
||||||
@@ -805,7 +805,14 @@ private String handleTF(String input) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String handlePDD(String input) {
|
private String handlePDD(String input) {
|
||||||
// 拼多多格式:
|
// 拼多多新格式:
|
||||||
|
// 拼多多251102-457567158704072
|
||||||
|
// 赵政委[6947]
|
||||||
|
// 17283248756
|
||||||
|
// 安徽省 宿州市 埇桥区 映月湾东区3栋103[6947]
|
||||||
|
// eb150
|
||||||
|
|
||||||
|
// 旧格式兼容:
|
||||||
// 🕒 林[1518]
|
// 🕒 林[1518]
|
||||||
// 17284023487
|
// 17284023487
|
||||||
// 广西壮族自治区 柳州市 柳北区 绿城·杨柳郡柳园7栋[1518]
|
// 广西壮族自治区 柳州市 柳北区 绿城·杨柳郡柳园7栋[1518]
|
||||||
@@ -813,62 +820,79 @@ private String handleTF(String input) {
|
|||||||
|
|
||||||
// 如果输入只是"拼多多",返回提示信息
|
// 如果输入只是"拼多多",返回提示信息
|
||||||
if (input.equals("拼多多") || input.trim().equals("拼多多")) {
|
if (input.equals("拼多多") || input.trim().equals("拼多多")) {
|
||||||
return "请粘贴拼多多格式数据:\n第一行:🕒 姓名[编号]\n第二行:电话\n第三行:地址[编号]\n第四行:型号\n\n示例:\n🕒 林[1518]\n17284023487\n广西壮族自治区 柳州市 柳北区 绿城·杨柳郡柳园7栋[1518]\neb150";
|
return "请粘贴拼多多格式数据:\n新格式(推荐):\n拼多多251102-457567158704072\n赵政委[6947]\n17283248756\n安徽省 宿州市 埇桥区 映月湾东区3栋103[6947]\neb150\n\n旧格式(兼容):\n🕒 林[1518]\n17284023487\n广西壮族自治区 柳州市 柳北区 绿城·杨柳郡柳园7栋[1518]\neb150";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 移除"拼多多"前缀(如果有)
|
String[] lines = input.split("\r?\n");
|
||||||
|
String thirdPartyOrderNo = null;
|
||||||
|
int nameLineIndex = 0;
|
||||||
|
boolean isNewFormat = false;
|
||||||
|
|
||||||
|
// 检查是否是新格式(第一行包含"拼多多"后跟订单号)
|
||||||
|
if (lines.length > 0) {
|
||||||
|
String firstLine = lines[0].trim();
|
||||||
|
// 匹配格式:拼多多数字-数字(如:拼多多251102-457567158704072)
|
||||||
|
Pattern orderNoPattern = Pattern.compile("拼多多(\\d+-\\d+)");
|
||||||
|
Matcher matcher = orderNoPattern.matcher(firstLine);
|
||||||
|
if (matcher.find()) {
|
||||||
|
thirdPartyOrderNo = matcher.group(1); // 提取订单号部分(不含"拼多多")
|
||||||
|
isNewFormat = true;
|
||||||
|
nameLineIndex = 1; // 新格式下,姓名在第二行
|
||||||
|
} else {
|
||||||
|
// 旧格式:移除"拼多多"前缀(如果有)
|
||||||
String data = input.replaceFirst("^拼多多\\s*[\r\n]+", "").trim();
|
String data = input.replaceFirst("^拼多多\\s*[\r\n]+", "").trim();
|
||||||
|
lines = data.split("\r?\n");
|
||||||
String[] lines = data.split("\r?\n");
|
nameLineIndex = 0;
|
||||||
if (lines.length < 4) {
|
}
|
||||||
return "拼多多格式错误,需要4行数据:\n1. 🕒 姓名[编号]\n2. 电话\n3. 地址[编号]\n4. 型号";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 解析第一行:🕒 林[1518] -> 提取姓名
|
// 检查行数
|
||||||
String nameLine = lines[0].trim();
|
int requiredLines = isNewFormat ? 5 : 4;
|
||||||
// 先移除"拼多多"文本(如果存在)
|
if (lines.length < requiredLines) {
|
||||||
nameLine = nameLine.replace("拼多多", "").trim();
|
return "拼多多格式错误,需要" + requiredLines + "行数据:" + (isNewFormat ?
|
||||||
|
"\n1. 拼多多订单号\n2. 姓名[编号]\n3. 电话\n4. 地址[编号]\n5. 型号" :
|
||||||
|
"\n1. 🕒 姓名[编号]\n2. 电话\n3. 地址[编号]\n4. 型号");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析姓名行
|
||||||
|
String nameLine = lines[nameLineIndex].trim();
|
||||||
// 移除emoji和特殊字符,提取中文姓名
|
// 移除emoji和特殊字符,提取中文姓名
|
||||||
String name = extractChinese(nameLine);
|
String name = extractChinese(nameLine);
|
||||||
// 如果提取失败,尝试直接从第一行提取(去除emoji、符号和括号内容后剩余的中文)
|
// 如果提取失败,尝试直接从第一行提取(去除emoji、符号和括号内容后剩余的中文)
|
||||||
if (name.isEmpty()) {
|
if (name.isEmpty()) {
|
||||||
// 移除所有emoji和特殊符号,只保留中文
|
// 移除所有emoji和特殊符号,只保留中文
|
||||||
String cleaned = nameLine.replaceAll("[🕒\\[\\]]", "").replaceAll("\\[.*?\\]", "").trim();
|
String cleaned = nameLine.replaceAll("[🕒\\[\\]]", "").replaceAll("\\[.*?\\]", "").trim();
|
||||||
// 再次移除"拼多多"(防止遗漏)
|
|
||||||
cleaned = cleaned.replace("拼多多", "").trim();
|
|
||||||
// 只保留中文字符
|
// 只保留中文字符
|
||||||
name = extractChinese(cleaned);
|
name = extractChinese(cleaned);
|
||||||
} else {
|
|
||||||
// 确保提取的姓名不包含"拼多多"
|
|
||||||
if (name.contains("拼多多")) {
|
|
||||||
name = name.replace("拼多多", "").trim();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// 提取编号(如果有)
|
// 提取编号(如果有)
|
||||||
String suffix = extractBetweenBrackets(nameLine);
|
String suffix = extractBetweenBrackets(nameLine);
|
||||||
|
|
||||||
// 解析第二行:电话
|
// 解析电话行
|
||||||
String phone = lines[1].trim();
|
int phoneLineIndex = nameLineIndex + 1;
|
||||||
|
String phone = lines[phoneLineIndex].trim();
|
||||||
|
|
||||||
// 解析第三行:地址 -> 去除编号括号
|
// 解析地址行
|
||||||
String addressLine = lines[2].trim();
|
int addressLineIndex = nameLineIndex + 2;
|
||||||
|
String addressLine = lines[addressLineIndex].trim();
|
||||||
// 移除编号括号和其中的内容
|
// 移除编号括号和其中的内容
|
||||||
String address = addressLine.replaceAll("\\[.*?]", "").trim();
|
String address = addressLine.replaceAll("\\[.*?]", "").trim();
|
||||||
|
|
||||||
// 解析第四行:型号
|
// 解析型号行
|
||||||
String modelNumber = lines[3].trim();
|
int modelLineIndex = nameLineIndex + 3;
|
||||||
|
String modelNumber = lines[modelLineIndex].trim();
|
||||||
// 清洗型号
|
// 清洗型号
|
||||||
modelNumber = sanitizeModel(modelNumber);
|
modelNumber = sanitizeModel(modelNumber);
|
||||||
|
|
||||||
// 构建完整地址:姓名 + 固定号码(13068923963) + 地址 + 原始电话 + 转 + 编号
|
// 构建完整地址:姓名 + 固定号码(13068923963) + 地址 + 原始电话 + 转 + 编号
|
||||||
// 格式:林 13068923963 广西壮族自治区 柳州市 柳北区 绿城·杨柳郡柳园7栋 17284023487转1518
|
// 格式:赵政委 13068923963 安徽省 宿州市 埇桥区 映月湾东区3栋103 17283248756转6947
|
||||||
StringBuilder fullAddress = new StringBuilder();
|
StringBuilder fullAddress = new StringBuilder();
|
||||||
// 确保姓名不为空,如果仍为空则使用默认值(但这种情况应该不会发生)
|
// 确保姓名不为空,如果仍为空则使用默认值(但这种情况应该不会发生)
|
||||||
if (!name.isEmpty()) {
|
if (!name.isEmpty()) {
|
||||||
fullAddress.append(name);
|
fullAddress.append(name);
|
||||||
} else {
|
} else {
|
||||||
// 如果姓名提取失败,记录日志(生产环境可以移除)
|
// 如果姓名提取失败,记录日志(生产环境可以移除)
|
||||||
System.err.println("警告:拼多多格式姓名提取失败,第一行内容:" + nameLine);
|
System.err.println("警告:拼多多格式姓名提取失败,姓名行内容:" + nameLine);
|
||||||
}
|
}
|
||||||
// 固定的号码
|
// 固定的号码
|
||||||
fullAddress.append(" 13068923963 ");
|
fullAddress.append(" 13068923963 ");
|
||||||
@@ -883,10 +907,16 @@ private String handleTF(String input) {
|
|||||||
// 获取转链链接
|
// 获取转链链接
|
||||||
String jf = productJdConfigService.getJdUrlByProductModel(modelNumber);
|
String jf = productJdConfigService.getJdUrlByProductModel(modelNumber);
|
||||||
|
|
||||||
|
// 构建分销标记:如果有第三方单号,则包含在括号中
|
||||||
|
String distributionMark = "PDD";
|
||||||
|
if (thirdPartyOrderNo != null && !thirdPartyOrderNo.isEmpty()) {
|
||||||
|
distributionMark = "PDD(" + thirdPartyOrderNo + ")";
|
||||||
|
}
|
||||||
|
|
||||||
// 构建"生"指令格式
|
// 构建"生"指令格式
|
||||||
StringBuilder sheng = new StringBuilder();
|
StringBuilder sheng = new StringBuilder();
|
||||||
sheng.append("生\n")
|
sheng.append("生\n")
|
||||||
.append("PDD") // 分销标记:拼多多
|
.append(distributionMark) // 分销标记:拼多多(包含第三方单号)
|
||||||
.append("\n")
|
.append("\n")
|
||||||
.append(modelNumber)
|
.append(modelNumber)
|
||||||
.append("\n")
|
.append("\n")
|
||||||
@@ -981,10 +1011,14 @@ private String handleTF(String input) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 从分销标记中提取第三方单号
|
||||||
|
String thirdPartyOrderNo = extractOrderNumber(fenxiao);
|
||||||
|
String thirdPartyOrderNoValue = (thirdPartyOrderNo != null && !thirdPartyOrderNo.isEmpty()) ? thirdPartyOrderNo : "";
|
||||||
|
|
||||||
for (int i = 0; i < total; i++) {
|
for (int i = 0; i < total; i++) {
|
||||||
int currentCount = startCount + i;
|
int currentCount = startCount + i;
|
||||||
String orderId = today + String.format("%03d", currentCount);
|
String orderId = today + String.format("%03d", currentCount);
|
||||||
String current = WENAN_D.replace("{单号}", orderId).replace("{单的备注}", remark).replace("{分销标记}", fenxiao).replace("{链接}", link).replace("{地址}", address).replace("{型号}", model).replaceAll("[|]", "");
|
String current = WENAN_D.replace("{单号}", orderId).replace("{单的备注}", remark).replace("{分销标记}", fenxiao).replace("{第三方单号}", thirdPartyOrderNoValue).replace("{链接}", link).replace("{地址}", address).replace("{型号}", model).replaceAll("[|]", "");
|
||||||
out.append(current);
|
out.append(current);
|
||||||
if (i < total - 1) out.append("\n");
|
if (i < total - 1) out.append("\n");
|
||||||
}
|
}
|
||||||
@@ -994,16 +1028,27 @@ private String handleTF(String input) {
|
|||||||
/**
|
/**
|
||||||
* 从分销标记中提取订单编号
|
* 从分销标记中提取订单编号
|
||||||
* 例如:从 "H-TF(10.10 腾锋 JY202510093195)" 中提取 "JY202510093195"
|
* 例如:从 "H-TF(10.10 腾锋 JY202510093195)" 中提取 "JY202510093195"
|
||||||
|
* 例如:从 "PDD(251102-457567158704072)" 中提取 "251102-457567158704072"
|
||||||
*/
|
*/
|
||||||
private String extractOrderNumber(String fenxiao) {
|
private String extractOrderNumber(String fenxiao) {
|
||||||
if (fenxiao == null || fenxiao.isEmpty()) {
|
if (fenxiao == null || fenxiao.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// 匹配 JY 开头后跟数字的模式
|
// 优先匹配 JY 开头后跟数字的模式(TF订单)
|
||||||
Pattern pattern = Pattern.compile("JY\\d+");
|
Pattern jyPattern = Pattern.compile("JY\\d+");
|
||||||
Matcher matcher = pattern.matcher(fenxiao);
|
Matcher jyMatcher = jyPattern.matcher(fenxiao);
|
||||||
if (matcher.find()) {
|
if (jyMatcher.find()) {
|
||||||
return matcher.group();
|
return jyMatcher.group();
|
||||||
|
}
|
||||||
|
// 匹配拼多多订单号格式:数字-数字(在括号内)
|
||||||
|
Pattern pddPattern = Pattern.compile("\\(([\\d-]+)\\)");
|
||||||
|
Matcher pddMatcher = pddPattern.matcher(fenxiao);
|
||||||
|
if (pddMatcher.find()) {
|
||||||
|
String orderNo = pddMatcher.group(1);
|
||||||
|
// 验证格式是否为数字-数字(拼多多格式)
|
||||||
|
if (orderNo.matches("\\d+-\\d+")) {
|
||||||
|
return orderNo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -1152,7 +1197,8 @@ private String handleTF(String input) {
|
|||||||
Map<String, String> fields = new HashMap<>();
|
Map<String, String> fields = new HashMap<>();
|
||||||
extractField(input, fields, "单:", "备注:");
|
extractField(input, fields, "单:", "备注:");
|
||||||
extractField(input, fields, "备注:", "分销标记:");
|
extractField(input, fields, "备注:", "分销标记:");
|
||||||
extractField(input, fields, "分销标记:", "型号:");
|
extractField(input, fields, "分销标记:", "第三方单号:");
|
||||||
|
extractField(input, fields, "第三方单号:", "型号:");
|
||||||
extractField(input, fields, "型号:", "链接:");
|
extractField(input, fields, "型号:", "链接:");
|
||||||
extractField(input, fields, "链接:", "下单付款:");
|
extractField(input, fields, "链接:", "下单付款:");
|
||||||
extractField(input, fields, "下单付款:", "后返金额:");
|
extractField(input, fields, "下单付款:", "后返金额:");
|
||||||
@@ -1169,6 +1215,15 @@ private String handleTF(String input) {
|
|||||||
JDOrder order = new JDOrder();
|
JDOrder order = new JDOrder();
|
||||||
order.setRemark(fields.getOrDefault("单", null));
|
order.setRemark(fields.getOrDefault("单", null));
|
||||||
order.setDistributionMark(fields.getOrDefault("分销标记", null));
|
order.setDistributionMark(fields.getOrDefault("分销标记", null));
|
||||||
|
// 优先从字段中获取第三方单号,如果没有则从分销标记中提取
|
||||||
|
String thirdPartyOrderNo = fields.getOrDefault("第三方单号", null);
|
||||||
|
if (thirdPartyOrderNo == null || thirdPartyOrderNo.trim().isEmpty()) {
|
||||||
|
String distributionMark = fields.getOrDefault("分销标记", null);
|
||||||
|
if (distributionMark != null && !distributionMark.isEmpty()) {
|
||||||
|
thirdPartyOrderNo = extractOrderNumber(distributionMark);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
order.setThirdPartyOrderNo(thirdPartyOrderNo != null && !thirdPartyOrderNo.trim().isEmpty() ? thirdPartyOrderNo.trim() : null);
|
||||||
order.setModelNumber(fields.getOrDefault("型号", null));
|
order.setModelNumber(fields.getOrDefault("型号", null));
|
||||||
order.setLink(fields.getOrDefault("链接", null));
|
order.setLink(fields.getOrDefault("链接", null));
|
||||||
order.setStatus(fields.getOrDefault("备注", null));
|
order.setStatus(fields.getOrDefault("备注", null));
|
||||||
|
|||||||
@@ -19,11 +19,12 @@
|
|||||||
<result property="updateTime" column="update_time"/>
|
<result property="updateTime" column="update_time"/>
|
||||||
<result property="status" column="status"/>
|
<result property="status" column="status"/>
|
||||||
<result property="isCountEnabled" column="is_count_enabled"/>
|
<result property="isCountEnabled" column="is_count_enabled"/>
|
||||||
|
<result property="thirdPartyOrderNo" column="third_party_order_no"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectJDOrderBase">
|
<sql id="selectJDOrderBase">
|
||||||
select id, remark, distribution_mark, model_number, link, payment_amount, rebate_amount,
|
select id, remark, distribution_mark, model_number, link, payment_amount, rebate_amount,
|
||||||
address, logistics_link, order_id, buyer, order_time, create_time, update_time, status, is_count_enabled
|
address, logistics_link, order_id, buyer, order_time, create_time, update_time, status, is_count_enabled, third_party_order_no
|
||||||
from jd_order
|
from jd_order
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
@@ -95,11 +96,11 @@
|
|||||||
insert into jd_order (
|
insert into jd_order (
|
||||||
remark, distribution_mark, model_number, link,
|
remark, distribution_mark, model_number, link,
|
||||||
payment_amount, rebate_amount, address, logistics_link,
|
payment_amount, rebate_amount, address, logistics_link,
|
||||||
order_id, buyer, order_time, create_time, update_time, status, is_count_enabled
|
order_id, buyer, order_time, create_time, update_time, status, is_count_enabled, third_party_order_no
|
||||||
) values (
|
) values (
|
||||||
#{remark}, #{distributionMark}, #{modelNumber}, #{link},
|
#{remark}, #{distributionMark}, #{modelNumber}, #{link},
|
||||||
#{paymentAmount}, #{rebateAmount}, #{address}, #{logisticsLink},
|
#{paymentAmount}, #{rebateAmount}, #{address}, #{logisticsLink},
|
||||||
#{orderId}, #{buyer}, #{orderTime}, now(), now(), #{status}, #{isCountEnabled}
|
#{orderId}, #{buyer}, #{orderTime}, now(), now(), #{status}, #{isCountEnabled}, #{thirdPartyOrderNo}
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@@ -119,6 +120,7 @@
|
|||||||
<if test="orderTime != null"> order_time = #{orderTime},</if>
|
<if test="orderTime != null"> order_time = #{orderTime},</if>
|
||||||
<if test="status != null"> status = #{status},</if>
|
<if test="status != null"> status = #{status},</if>
|
||||||
<if test="isCountEnabled != null"> is_count_enabled = #{isCountEnabled},</if>
|
<if test="isCountEnabled != null"> is_count_enabled = #{isCountEnabled},</if>
|
||||||
|
<if test="thirdPartyOrderNo != null"> third_party_order_no = #{thirdPartyOrderNo},</if>
|
||||||
update_time = now()
|
update_time = now()
|
||||||
</set>
|
</set>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
|
|||||||
@@ -124,7 +124,14 @@
|
|||||||
<if test="params.beginTime != null"> and order_time >= #{params.beginTime}</if>
|
<if test="params.beginTime != null"> and order_time >= #{params.beginTime}</if>
|
||||||
<if test="params.endTime != null"> and order_time <= #{params.endTime}</if>
|
<if test="params.endTime != null"> and order_time <= #{params.endTime}</if>
|
||||||
</where>
|
</where>
|
||||||
|
<choose>
|
||||||
|
<when test="params.orderBy != null and params.orderBy != ''">
|
||||||
|
order by ${params.orderBy} ${params.isAsc}
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
order by order_time desc
|
order by order_time desc
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectOrderRowsById" parameterType="String" resultMap="OrderRowsResult">
|
<select id="selectOrderRowsById" parameterType="String" resultMap="OrderRowsResult">
|
||||||
@@ -195,7 +202,14 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
<choose>
|
||||||
|
<when test="orderRows.params != null and orderRows.params.orderBy != null and orderRows.params.orderBy != ''">
|
||||||
|
order by ${orderRows.params.orderBy} ${orderRows.params.isAsc}
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
order by order_time desc
|
order by order_time desc
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertOrderRows" parameterType="OrderRows">
|
<insert id="insertOrderRows" parameterType="OrderRows">
|
||||||
|
|||||||
4
sql/add_third_party_order_no_field.sql
Normal file
4
sql/add_third_party_order_no_field.sql
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
-- 为京东订单表添加第三方单号字段
|
||||||
|
-- 字段说明:third_party_order_no 存储第三方平台的订单号
|
||||||
|
ALTER TABLE jd_order ADD COLUMN third_party_order_no VARCHAR(255) DEFAULT NULL COMMENT '第三方单号';
|
||||||
|
|
||||||
Reference in New Issue
Block a user