统计美化
This commit is contained in:
@@ -5,6 +5,7 @@ import cn.van.business.model.jd.OrderRow;
|
||||
import cn.van.business.model.jd.ProductOrder;
|
||||
import cn.van.business.repository.OrderRowRepository;
|
||||
import cn.van.business.repository.ProductOrderRepository;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.jd.open.api.sdk.DefaultJdClient;
|
||||
import com.jd.open.api.sdk.JdClient;
|
||||
@@ -674,7 +675,7 @@ public class JDUtil {
|
||||
try {
|
||||
String skuId = "";
|
||||
double amount = 0.0;
|
||||
String owner = "自营";
|
||||
String owner = "pop";
|
||||
switch (state.getCurrentStep()) {
|
||||
case STEP_PRODUCT_LINK:
|
||||
skuId = parseSkuFromUrl(message);
|
||||
@@ -698,6 +699,7 @@ public class JDUtil {
|
||||
//
|
||||
//logger.debug("商品信息已收集:SKU={}, Owner={}, WDIS={}", skuId, owner, productInfo.getBaseBigFieldInfo().getWdis()); // 新增
|
||||
String productInfo = skuId;
|
||||
state.getCollectedFields().put("skuId", skuId);
|
||||
state.setCurrentStep(STEP_AMOUNT);
|
||||
String prompt = String.format("商品SKU:\n %s\n 请输入开通金额(元):", productInfo);
|
||||
wxUtil.sendTextMessage(fromWxid, prompt, 1, fromWxid);
|
||||
@@ -739,7 +741,10 @@ public class JDUtil {
|
||||
|
||||
logger.debug("礼金参数准备完成:SKU={},金额={}元,数量={},Owner={}", state.getCollectedFields().get("skuId"), amount, quantity, state.getCollectedFields().get("owner")); // 新增
|
||||
|
||||
String giftKey = createGiftCoupon(skuId, amount, quantity, owner);
|
||||
String giftKey = createGiftCoupon(state.getCollectedFields().get("skuId"),
|
||||
Double.parseDouble(state.getCollectedFields().get("amount")),
|
||||
quantity,
|
||||
owner);
|
||||
if (giftKey == null) {
|
||||
logger.error("用户 {} 礼金创建失败:SKU={}, 金额={}, 数量={}, Owner={}", fromWxid, skuId, amount, quantity, owner); // 新增
|
||||
wxUtil.sendTextMessage(fromWxid, "❌ 礼金创建失败,请检查商品是否符合要求", 1, fromWxid);
|
||||
@@ -801,58 +806,65 @@ public class JDUtil {
|
||||
|
||||
|
||||
// 新增礼金创建方法
|
||||
public String createGiftCoupon(String skuId, double amount, int quantity, String owner) throws Exception {
|
||||
public String createGiftCoupon(String skuId, double amount, int quantity, String owner) throws Exception {
|
||||
logger.debug("准备创建礼金:SKU={}, 金额={}元,数量={}, Owner={}", skuId, amount, quantity, owner);
|
||||
|
||||
logger.debug("准备创建礼金:SKU={}, 金额={}元,数量={}, Owner={}", skuId, amount, quantity, owner); // 新增
|
||||
|
||||
JdClient client = new DefaultJdClient(SERVER_URL, ACCESS_TOKEN, LPF_APP_KEY_WZ, LPF_APP_KEY_WZ);
|
||||
|
||||
UnionOpenCouponGiftGetRequest request = new UnionOpenCouponGiftGetRequest();
|
||||
CreateGiftCouponReq couponReq = new CreateGiftCouponReq();
|
||||
couponReq.setSkuMaterialId(skuId); // 使用SKU或链接
|
||||
couponReq.setDiscount(amount);
|
||||
couponReq.setAmount(quantity);
|
||||
//owner g=自营,p=pop
|
||||
// 自营的只能设置一天,pop的只能设置7天,默认为自营
|
||||
String startTime;
|
||||
String endTime;
|
||||
if ("pop".equals(owner)) {
|
||||
startTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"));
|
||||
endTime = LocalDateTime.now().plusDays(6).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"));
|
||||
} else {
|
||||
startTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"));
|
||||
endTime = LocalDateTime.now().plusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"));
|
||||
|
||||
}
|
||||
couponReq.setReceiveStartTime(startTime);
|
||||
couponReq.setReceiveEndTime(endTime);
|
||||
couponReq.setEffectiveDays(7);
|
||||
couponReq.setIsSpu(1);
|
||||
couponReq.setExpireType(1);
|
||||
couponReq.setShare(-1);
|
||||
couponReq.setCouponTitle(skuId);
|
||||
couponReq.setContentMatch(1);
|
||||
|
||||
request.setCouponReq(couponReq);
|
||||
request.setVersion("1.0");
|
||||
request.setSignmethod("md5");
|
||||
request.setTimestamp(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
|
||||
logger.debug("请求参数:{}", request); // 新增
|
||||
|
||||
UnionOpenCouponGiftGetResponse response = client.execute(request);
|
||||
logger.debug("API响应:{}", response); // 新增
|
||||
|
||||
if ("200".equals(response.getCode())) {
|
||||
String giftKey = response.getGetResult().getData().getGiftCouponKey();
|
||||
logger.debug("礼金创建成功:批次ID={}, 返回数据:{}", giftKey, response.getGetResult().getData()); // 新增
|
||||
return giftKey;
|
||||
} else {
|
||||
logger.error("礼金创建失败:错误码={}, 错误信息={}", response.getCode(), response.getMsg()); // 新增
|
||||
}
|
||||
// 参数校验
|
||||
if (skuId == null || amount <= 0 || quantity <= 0) {
|
||||
logger.error("礼金创建失败:参数错误,SKU={}, 金额={}元,数量={}", skuId, amount, quantity);
|
||||
return null;
|
||||
}
|
||||
|
||||
// 设置默认值
|
||||
owner = (owner != null) ? owner : "自营";
|
||||
|
||||
JdClient client = new DefaultJdClient(SERVER_URL, ACCESS_TOKEN, LPF_APP_KEY_WZ, LPF_APP_KEY_WZ);
|
||||
|
||||
UnionOpenCouponGiftGetRequest request = new UnionOpenCouponGiftGetRequest();
|
||||
CreateGiftCouponReq couponReq = new CreateGiftCouponReq();
|
||||
couponReq.setSkuMaterialId(skuId); // 使用SKU或链接
|
||||
couponReq.setDiscount(amount);
|
||||
couponReq.setAmount(quantity);
|
||||
|
||||
// 自营的只能设置一天,pop的只能设置7天,默认为自营
|
||||
String startTime;
|
||||
String endTime;
|
||||
if ("pop".equals(owner)) {
|
||||
startTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"));
|
||||
endTime = LocalDateTime.now().plusDays(6).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"));
|
||||
} else {
|
||||
startTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"));
|
||||
endTime = LocalDateTime.now().plusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"));
|
||||
}
|
||||
|
||||
couponReq.setReceiveStartTime(startTime);
|
||||
couponReq.setReceiveEndTime(endTime);
|
||||
couponReq.setEffectiveDays(7);
|
||||
couponReq.setIsSpu(1);
|
||||
couponReq.setExpireType(1);
|
||||
couponReq.setShare(-1);
|
||||
couponReq.setCouponTitle(skuId);
|
||||
couponReq.setContentMatch(1);
|
||||
|
||||
request.setCouponReq(couponReq);
|
||||
request.setVersion("1.0");
|
||||
|
||||
logger.debug("请求参数:{}", JSON.toJSONString(request));
|
||||
|
||||
UnionOpenCouponGiftGetResponse response = client.execute(request);
|
||||
logger.debug("API响应:{}", JSON.toJSONString(response));
|
||||
|
||||
if ("200".equals(response.getCode())) {
|
||||
String giftKey = response.getGetResult().getData().getGiftCouponKey();
|
||||
logger.debug("礼金创建成功:批次ID={}, 返回数据:{}", giftKey, response.getGetResult().getData());
|
||||
return giftKey;
|
||||
} else {
|
||||
logger.error("礼金创建失败:错误码={}, 错误信息={}", response.getCode(), response.getMsg());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
// 修改activateGiftMoney方法调用真实接口
|
||||
private boolean activateGiftMoney(String skuId, double amount, int quantity, String owner) {
|
||||
try {
|
||||
@@ -893,7 +905,7 @@ public class JDUtil {
|
||||
}
|
||||
try {
|
||||
double amount = Double.parseDouble(input);
|
||||
return amount > 1 && amount <= 50;
|
||||
return amount >= 1 && amount <= 50;
|
||||
} catch (NumberFormatException e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -61,5 +61,5 @@ rocketmq:
|
||||
consume-thread-max: 64 # 消费线程池最大线程数
|
||||
consume-message-batch-max-size: 64 # 批量消费最大消息数
|
||||
isRunning:
|
||||
wx: true
|
||||
wx: false
|
||||
jd: false
|
||||
|
||||
Reference in New Issue
Block a user