fixbug first
This commit is contained in:
@ -1,7 +1,3 @@
|
||||
/**
|
||||
* Alipay.com Inc.
|
||||
* Copyright (c) 2004-2024 All Rights Reserved.
|
||||
*/
|
||||
package com.sczx.pay.alipay.service;
|
||||
|
||||
import com.alipay.api.domain.AppxCategoryVO;
|
||||
|
||||
@ -1,7 +1,3 @@
|
||||
/**
|
||||
* Alipay.com Inc.
|
||||
* Copyright (c) 2004-2024 All Rights Reserved.
|
||||
*/
|
||||
package com.sczx.pay.alipay.service.impl;
|
||||
|
||||
import com.alipay.api.AlipayApiException;
|
||||
|
||||
@ -10,22 +10,17 @@ import com.alipay.api.response.*;
|
||||
import com.sczx.pay.alipay.po.RentRuleItem;
|
||||
import com.sczx.pay.alipay.service.ImageUploadService;
|
||||
import com.sczx.pay.alipay.service.ItemService;
|
||||
import com.sczx.pay.alipay.vo.ItemCreateRequest;
|
||||
import com.sczx.pay.alipay.vo.OpenResponse;
|
||||
import com.sczx.pay.mapper.RentRuleItemMapper;
|
||||
import com.sczx.pay.utils.AlipayApiCallback;
|
||||
import com.sczx.pay.utils.AlipayApiTemplate;
|
||||
import com.sczx.pay.utils.AlipaySdkUtil;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.math.BigDecimal;
|
||||
import java.net.URLEncoder;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@ -46,6 +41,9 @@ public class ItemServiceImpl implements ItemService {
|
||||
@Autowired
|
||||
private ImageUploadService imageUploadService;
|
||||
|
||||
@Autowired
|
||||
private RentRuleItemMapper rentRuleItemMapper;
|
||||
|
||||
@Override
|
||||
public OpenResponse<List<AppxCategoryVO>> getCategories(String itemType, String catStatus) {
|
||||
return AlipayApiTemplate.execute(new AlipayApiCallback<List<AppxCategoryVO>, AlipayOpenAppItemAllcategoryQueryResponse>() {
|
||||
@ -127,15 +125,18 @@ public class ItemServiceImpl implements ItemService {
|
||||
|
||||
@Override
|
||||
public AlipayOpenAppItemCreateResponse process() throws AlipayApiException {
|
||||
|
||||
RentRuleItem rentRuleItem = rentRuleItemMapper.selectByIds(param.getBatteryRuleId(), param.getCarRuleId(), param.getCarModelId(), param.getBrandId());
|
||||
|
||||
// 构造请求参数以调用接口
|
||||
AlipayOpenAppItemCreateRequest request = new AlipayOpenAppItemCreateRequest();
|
||||
AlipayOpenAppItemCreateModel model = getAlipayOpenAppItemCreateModel(param);
|
||||
AlipayOpenAppItemCreateModel model = getAlipayOpenAppItemCreateModel(rentRuleItem);
|
||||
|
||||
// 设置商品模版类型
|
||||
model.setItemType("2");
|
||||
|
||||
// 设置价格单元
|
||||
model.setPriceUnit("元/日");
|
||||
model.setPriceUnit("元");
|
||||
|
||||
// 设置属性列表
|
||||
model.setAttrs(getItemAttrs(param, model.getImageList(), model.getItemType()));
|
||||
@ -168,6 +169,8 @@ public class ItemServiceImpl implements ItemService {
|
||||
model.setDeliveryType("PICKUP");
|
||||
model.setDeliveryName("电动车租赁自提履约");
|
||||
|
||||
// 设置履约信息ID
|
||||
model.setDeliveryId("2025090124000116301610");
|
||||
|
||||
// 设置履约属性
|
||||
List<AppItemAttrVO> attrs = new ArrayList<AppItemAttrVO>();
|
||||
@ -232,7 +235,7 @@ public class ItemServiceImpl implements ItemService {
|
||||
AlipayOpenAppDeliveryTemplateQueryModel model = new AlipayOpenAppDeliveryTemplateQueryModel();
|
||||
// 设置履约类型
|
||||
model.setDeliveryType("PICKUP");
|
||||
|
||||
//ST1000000000000010
|
||||
request.setBizModel(model);
|
||||
return alipaySdkUtil.execute(request);
|
||||
}
|
||||
@ -329,36 +332,16 @@ public class ItemServiceImpl implements ItemService {
|
||||
// -----BEGIN 普通实物类商品可传入以下属性 -----
|
||||
case "delivery_info":
|
||||
// 商品履约信息
|
||||
// if (StringUtils.isEmpty(param.getDeliveryId())) {
|
||||
// break;
|
||||
// }
|
||||
// JSONObject jsonObject = new JSONObject();
|
||||
// jsonObject.put("delivery_id", param.getDeliveryId());
|
||||
// jsonObject.put("shop_ids", param.getShopIds());
|
||||
// JSONArray jsonArray = new JSONArray();
|
||||
// jsonArray.add(jsonObject);
|
||||
// appItemAttrVO.setAttrValue(JSONArray.toJSONString(jsonArray));
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("delivery_id", "2025090124000116301610");
|
||||
//jsonObject.put("shop_ids", param.getShopIds());
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
jsonArray.add(jsonObject);
|
||||
appItemAttrVO.setAttrValue(JSONArray.toJSONString(jsonArray));
|
||||
break;
|
||||
case "selling_point_tag":
|
||||
// 导购标签
|
||||
appItemAttrVO.setAttrValue("[\"鲜花\",\"盆栽\"]");
|
||||
break;
|
||||
case "white_ground_image":
|
||||
// 商品白底图
|
||||
JSONObject image = new JSONObject();
|
||||
image.put("url_list", imageList);
|
||||
appItemAttrVO.setAttrValue(image.toJSONString());
|
||||
break;
|
||||
case "shipping_time_limit":
|
||||
// 现货发货时效
|
||||
appItemAttrVO.setAttrValue("1");
|
||||
break;
|
||||
// -----END 普通实物类商品可传入以上属性 -----
|
||||
|
||||
// -----BEGIN 租赁类商品可传入以下属性 -----
|
||||
case "rent_from_numbers_of_day":
|
||||
// 起租天数
|
||||
appItemAttrVO.setAttrValue("3");
|
||||
appItemAttrVO.setAttrValue("1");
|
||||
break;
|
||||
case "item_fineness":
|
||||
// 商品成色
|
||||
@ -376,49 +359,6 @@ public class ItemServiceImpl implements ItemService {
|
||||
// 是否可买断
|
||||
appItemAttrVO.setAttrValue("1");
|
||||
break;
|
||||
// -----END 租赁类商品可传入以上属性 -----
|
||||
|
||||
// -----BEGIN 虚拟类(电影/演出/体育赛事/休闲娱乐/运动健身类目)商品可传入以下属性 -----
|
||||
case "sale_time":
|
||||
// 开售时间,明天16:00:00开始
|
||||
appItemAttrVO.setAttrValue(LocalDateTime.now()
|
||||
.plusDays(1)
|
||||
.withHour(16)
|
||||
.withMinute(0)
|
||||
.withSecond(0)
|
||||
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||
break;
|
||||
case "performance_date_range":
|
||||
// 演出日期
|
||||
JSONObject range = new JSONObject();
|
||||
LocalDateTime localDateTime = LocalDateTime.now()
|
||||
.plusMonths(1);
|
||||
// 一个月后开始
|
||||
range.put("start_date", localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
range.put("end_date", localDateTime
|
||||
.plusDays(1)
|
||||
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
appItemAttrVO.setAttrValue(range.toJSONString());
|
||||
break;
|
||||
case "agent_type":
|
||||
// 票务代理类型
|
||||
appItemAttrVO.setAttrValue("1");
|
||||
break;
|
||||
case "performance_area":
|
||||
// 演出举办地区
|
||||
appItemAttrVO.setAttrValue("{\"city_code\":\"120100\"}");
|
||||
break;
|
||||
case "venue_name":
|
||||
// 演出场馆名称
|
||||
appItemAttrVO.setAttrValue("蚂蚁A空间");
|
||||
break;
|
||||
case "post_img":
|
||||
// 演出海报(图片)
|
||||
JSONObject image2 = new JSONObject();
|
||||
image2.put("url_list", imageList);
|
||||
appItemAttrVO.setAttrValue(image2.toJSONString());
|
||||
break;
|
||||
// -----END 虚拟类(电影/演出/体育赛事/休闲娱乐/运动健身类目)商品可传入以上属性 -----
|
||||
}
|
||||
if (!StringUtils.isEmpty(appItemAttrVO.getAttrValue())) {
|
||||
attrs.add(appItemAttrVO);
|
||||
|
||||
@ -21,7 +21,7 @@ public class AlipayConf {
|
||||
@Value("${ali.pay.app-id}")
|
||||
private String appId;
|
||||
|
||||
@Value("${alipay.gateway-url}")
|
||||
@Value("${ali.pay.gateway-url}")
|
||||
private String gatewayUrl;
|
||||
|
||||
@Value("${ali.pay.privateKey}")
|
||||
|
||||
@ -18,6 +18,11 @@ public interface RentRuleItemMapper {
|
||||
*/
|
||||
RentRuleItem selectById(@Param("id") Long id);
|
||||
|
||||
RentRuleItem selectByIds(@Param("batteryRuleId") Long batteryRuleId, @Param("carRuleId") Long carRuleId, @Param("carModelId") Long carModelId,@Param("brandId") Long brandId);
|
||||
|
||||
RentRuleItem selectByAliId(@Param("aliItemId") String aliItemId);
|
||||
|
||||
RentRuleItem selectByItemId(@Param("outItemId") String outItemId);
|
||||
/**
|
||||
* 查询所有车型租赁规则项
|
||||
* @return 车型租赁规则项列表
|
||||
|
||||
@ -71,8 +71,8 @@ ali:
|
||||
refund-notify-url: https://www.minbo.wang:8020/api/alipay/refundNotify
|
||||
privateKey: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCQke+mZsxNXJXMn2iUZRkhITWY9qPczwHMgRxl68JRuNzZE2AXhAc2ciF7EGob1y0al4hvJo5JUrDew9Zkv0BocAsPjLma3A9KFgj131xMuLxVvHtktkNSwwW9VIbOOhFAQAy3J9jt8PdEk40UONyu9J5Shjs6jbQ8RogdDuwuzKpNj0ZOTeUqgR6RME4xZ0VqvZe9XhVfq3QtVGttUzOpLPNg6boBy/5RqwC64lVFICMqjKkMW2NklVPBDFO46QwfWEbaA+APnd9bd+9WadyNySPb7kAK8GOlvZYfysy+QkOQdj/oebKWKzdKXpFnF+n52dYzeGTvckt1suDngwAFAgMBAAECggEAcPc39iTZe5HfE9d0FpCxBCw4/1+qRz4SP8SbdiC05Lq5B36WVYm7QRYJh2oaH8sR2XeTCpdsE2tj/Y21l1/Calkyq2HhHlraL5/sPIPeUa0ArVXsbZPmI2N0tq6376l8FWJ3DR876SGjdZh+YtDT0HogxIdS/LwBnB/Y+CvS7fWcqiMjcR4h28RU70CQqxpzYuPfqG6GZmByGyJAcdlhFAYgiksb+qZnkjoaKHsjb61xfUX4z+HGdQLqOlVKfNqIpiO7arXaeAb0RQiB8Lqi7fBvn8LLhlTmM1Hr4gyQO14lJmP5Vp2BIg9m5AC9vRkpZ9l79bUTIepDe9+Ovcx5eQKBgQDWZ5yoz8q8Z5VIfMSVTHO3wpfwOBM92S2c21hTsds7NezsMVqGcTuAcvbMW2i1MwxtS7kahXraRAxZnCDB9ZVJs+88xcgu5QJWZ1rJyrwEwB2gTQhColv+XZW6Ck/J6kk2/PG26rNQG6pg/xrKaMtPnXXyKCsdQTyEpr+mlNIJ2wKBgQCsnf4lIuwftCSm0jI73tO1Bb4U9TCIapKidnIhutbyg6u+hJMUTVDNkjsBnrTN24sSP7Cu4Zs/W4lkDqq86fHNEvnF+FouIfO/CwaGteDBNwXHSLM0D+zEBbK04bfoYi7lYZeDRPygFrM49Sxkp0MAmItDmXqbYRQBlhN1XVzznwKBgQCQ+72fFex1XOJBA0X345v4rlkKMxEn6J2EjXr8FbA3KO8OhQ0/DoD7CkLDzChRJ7UGj4cbXRnHUO69BevM3SHXlhp4ERKeS3Q6M2fcPwDHgZZHGPA2Bw6IQoaGKITt+EUMLx3Q4ILi7+JV9wwJxbV+H+9rEiidfsjKtuuwXMBvswKBgQChpElrCSrH/W8c8FSuD9l7+GapRXkvJW0uyW/S+h1yd66J96erKUNzXW339GAnLWErs4yGFynDyLn9gmaMBR6zBQP0SL5Z2N1hlreDyikvhZDZrtBw/kCexx8zlvMan2Z+0kaJXD6cwuUNfzkVADQUCMTQhpZzjhKn8ZtDGiyCzQKBgQCAhU0khG/ufZfQ089+1G7PAlErBr5MQaG40a2vfIWGtHkYyXq5N/3jow1bd2qsyLuz8mr2sWQeURK+B2xZridf6JtYz3gB+dLw0frlLKk4Q6jeehiRlE8H8tIYe/7KcgTmdIzEbo3lmyGMFAILvr/pSCWeUehQYR9PH91Qyi+Tog==
|
||||
# publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArPG4JQ9YY9+tOeImQO0eNkp+NZkenJ9hMHEVVmwAHAI5BoJMCLvAm504BXSpgpqaiCJ6ARTwBkiDz4dyCMVfE3VE8+oMFtXqfHaZLhfd+X9VQNqRCz0HeR2IbjGnnbYxQOAEOM6z092UfNieG00HyU5yREfzjJkIcyuGeGgbIBG1gPpLhXsQKRhQYqp4Exgd4LX6qnKLPL90kJVkQnHcJkp+rCoQ5zS6ZUXE2d/2GzY7xi93uTU2CLMiZ7Vi2OZ1g7xY+yDQzTA/CseveJeW3rM6T8yBjlEJwsywEL5co3YqpJUIMIe/fLjhRRgj+JUq5w0sRqb3+CswQHIjgc71QwIDAQAB
|
||||
appCertPath: /root/cert//appCertPublicKey_2021005174658269.crt
|
||||
alipayCertPath: /root/cert//alipayCertPublicKey_RSA2.crt
|
||||
appCertPath: /root/cert/appCertPublicKey_2021005174658269.crt
|
||||
alipayCertPath: /root/cert/alipayCertPublicKey_RSA2.crt
|
||||
alipayRootCertPath: /root/cert/alipayRootCert.crt
|
||||
|
||||
cert-path: /root/cert/
|
||||
|
||||
@ -17,12 +17,14 @@
|
||||
<result property="carRuleId" column="car_rule_id"/>
|
||||
<result property="carModelId" column="car_model_id"/>
|
||||
<result property="brandId" column="brand_id"/>
|
||||
<result property="rentalDays" column="rental_days"/>
|
||||
<result property="rentalPrice" column="rental_price"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 字段列表 -->
|
||||
<sql id="Base_Column_List">
|
||||
id, out_item_id, ali_item_id, brand_name, model_name, category_name,
|
||||
dict_label, rule_name, image, battery_rule_id, car_rule_id, car_model_id, brand_id
|
||||
dict_label, rule_name, image, battery_rule_id, car_rule_id, car_model_id, brand_id,rental_days,rental_price
|
||||
</sql>
|
||||
|
||||
<!-- 查询所有 -->
|
||||
@ -38,6 +40,37 @@
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectByItemId" parameterType="Long" resultMap="BaseResultMap">
|
||||
SELECT <include refid="Base_Column_List"/>
|
||||
FROM zc_rent_rule_item
|
||||
WHERE out_item_id = #{outItemId}
|
||||
</select>
|
||||
|
||||
<select id="selectByAliId" parameterType="Long" resultMap="BaseResultMap">
|
||||
SELECT <include refid="Base_Column_List"/>
|
||||
FROM zc_rent_rule_item
|
||||
WHERE ali_item_id = #{aliItemId}
|
||||
</select>
|
||||
|
||||
<select id="selectByIds" parameterType="map" resultMap="BaseResultMap">
|
||||
SELECT <include refid="Base_Column_List"/>
|
||||
FROM zc_rent_rule_item
|
||||
<where>
|
||||
<if test="batteryRuleId != null">
|
||||
AND battery_rule_id = #{batteryRuleId}
|
||||
</if>
|
||||
<if test="carRuleId != null">
|
||||
AND car_rule_id = #{carRuleId}
|
||||
</if>
|
||||
<if test="carModelId != null">
|
||||
AND car_model_id = #{carModelId}
|
||||
</if>
|
||||
<if test="brandId != null">
|
||||
AND brand_id = #{brandId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<!-- 插入 -->
|
||||
<insert id="insert" parameterType="com.sczx.pay.alipay.po.RentRuleItem">
|
||||
INSERT INTO zc_rent_rule_item (
|
||||
@ -53,6 +86,8 @@
|
||||
battery_rule_id,
|
||||
car_rule_id,
|
||||
car_model_id,
|
||||
rental_days,
|
||||
rental_price,
|
||||
brand_id
|
||||
) VALUES (
|
||||
#{id},
|
||||
@ -67,6 +102,8 @@
|
||||
#{batteryRuleId},
|
||||
#{carRuleId},
|
||||
#{carModelId},
|
||||
#{rentalDays},
|
||||
#{rentalPrice},
|
||||
#{brandId}
|
||||
)
|
||||
</insert>
|
||||
@ -75,7 +112,7 @@
|
||||
<insert id="insertBatch">
|
||||
INSERT INTO zc_rent_rule_item (
|
||||
id, out_item_id, ali_item_id, brand_name, model_name, category_name,
|
||||
dict_label, rule_name, image, battery_rule_id, car_rule_id, car_model_id, brand_id
|
||||
dict_label, rule_name, image, battery_rule_id, car_rule_id, car_model_id, brand_id,rental_days,rental_price
|
||||
) VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
@ -91,7 +128,9 @@
|
||||
#{item.batteryRuleId},
|
||||
#{item.carRuleId},
|
||||
#{item.carModelId},
|
||||
#{item.brandId}
|
||||
#{item.brandId},
|
||||
#{item.rentalDays},
|
||||
#{item.rentalPrice},
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
Reference in New Issue
Block a user