From 7066066d79adc25d238933cb7da9ccdacfc8f95c Mon Sep 17 00:00:00 2001 From: eric <465889110@qq.com> Date: Tue, 2 Sep 2025 00:49:20 +0800 Subject: [PATCH] fixbug first --- .../sczx/pay/alipay/service/ItemService.java | 4 - .../service/impl/ImageUploadServiceImpl.java | 4 - .../alipay/service/impl/ItemServiceImpl.java | 100 ++++-------------- .../java/com/sczx/pay/config/AlipayConf.java | 2 +- .../sczx/pay/mapper/RentRuleItemMapper.java | 17 +-- src/main/resources/application.yml | 4 +- .../resources/mapper/RentRuleItemMapper.xml | 97 ++++++++++++----- 7 files changed, 102 insertions(+), 126 deletions(-) diff --git a/src/main/java/com/sczx/pay/alipay/service/ItemService.java b/src/main/java/com/sczx/pay/alipay/service/ItemService.java index 8232f0a..d6a7456 100644 --- a/src/main/java/com/sczx/pay/alipay/service/ItemService.java +++ b/src/main/java/com/sczx/pay/alipay/service/ItemService.java @@ -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; diff --git a/src/main/java/com/sczx/pay/alipay/service/impl/ImageUploadServiceImpl.java b/src/main/java/com/sczx/pay/alipay/service/impl/ImageUploadServiceImpl.java index 94b8d06..65ef8bb 100644 --- a/src/main/java/com/sczx/pay/alipay/service/impl/ImageUploadServiceImpl.java +++ b/src/main/java/com/sczx/pay/alipay/service/impl/ImageUploadServiceImpl.java @@ -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; diff --git a/src/main/java/com/sczx/pay/alipay/service/impl/ItemServiceImpl.java b/src/main/java/com/sczx/pay/alipay/service/impl/ItemServiceImpl.java index ae83f03..d8ee2a9 100644 --- a/src/main/java/com/sczx/pay/alipay/service/impl/ItemServiceImpl.java +++ b/src/main/java/com/sczx/pay/alipay/service/impl/ItemServiceImpl.java @@ -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> getCategories(String itemType, String catStatus) { return AlipayApiTemplate.execute(new AlipayApiCallback, 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 attrs = new ArrayList(); @@ -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); diff --git a/src/main/java/com/sczx/pay/config/AlipayConf.java b/src/main/java/com/sczx/pay/config/AlipayConf.java index 15c95ec..84c6c77 100644 --- a/src/main/java/com/sczx/pay/config/AlipayConf.java +++ b/src/main/java/com/sczx/pay/config/AlipayConf.java @@ -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}") diff --git a/src/main/java/com/sczx/pay/mapper/RentRuleItemMapper.java b/src/main/java/com/sczx/pay/mapper/RentRuleItemMapper.java index 74f6d7b..4f6ec4c 100644 --- a/src/main/java/com/sczx/pay/mapper/RentRuleItemMapper.java +++ b/src/main/java/com/sczx/pay/mapper/RentRuleItemMapper.java @@ -10,41 +10,46 @@ import java.util.List; */ @Mapper public interface RentRuleItemMapper { - + /** * 根据ID查询车型租赁规则项 * @param id 车型ID * @return 车型租赁规则项信息 */ 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 车型租赁规则项列表 */ List selectAll(); - + /** * 新增车型租赁规则项 * @param zcRentRuleItem 车型租赁规则项信息 * @return 影响行数 */ int insert(RentRuleItem zcRentRuleItem); - + /** * 更新车型租赁规则项 * @param zcRentRuleItem 车型租赁规则项信息 * @return 影响行数 */ int update(RentRuleItem zcRentRuleItem); - + /** * 根据ID删除车型租赁规则项 * @param id 车型ID * @return 影响行数 */ int deleteById(@Param("id") Long id); - + /** * 批量插入车型租赁规则项 * @param list 车型租赁规则项列表 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b88c694..602dbba 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -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/ diff --git a/src/main/resources/mapper/RentRuleItemMapper.xml b/src/main/resources/mapper/RentRuleItemMapper.xml index 8bca422..6cf947c 100644 --- a/src/main/resources/mapper/RentRuleItemMapper.xml +++ b/src/main/resources/mapper/RentRuleItemMapper.xml @@ -1,7 +1,7 @@ - + @@ -17,27 +17,60 @@ + + - + - 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 + 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,rental_days,rental_price - + - + - + + + + + + + INSERT INTO zc_rent_rule_item ( @@ -53,32 +86,36 @@ battery_rule_id, car_rule_id, car_model_id, + rental_days, + rental_price, brand_id ) VALUES ( - #{id}, - #{outItemId}, - #{aliItemId}, - #{brandName}, - #{modelName}, - #{categoryName}, - #{dictLabel}, - #{ruleName}, - #{image}, - #{batteryRuleId}, - #{carRuleId}, - #{carModelId}, - #{brandId} - ) + #{id}, + #{outItemId}, + #{aliItemId}, + #{brandName}, + #{modelName}, + #{categoryName}, + #{dictLabel}, + #{ruleName}, + #{image}, + #{batteryRuleId}, + #{carRuleId}, + #{carModelId}, + #{rentalDays}, + #{rentalPrice}, + #{brandId} + ) - + 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 + 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,rental_days,rental_price ) VALUES - ( + ( #{item.id}, #{item.outItemId}, #{item.aliItemId}, @@ -91,11 +128,13 @@ #{item.batteryRuleId}, #{item.carRuleId}, #{item.carModelId}, - #{item.brandId} - ) + #{item.brandId}, + #{item.rentalDays}, + #{item.rentalPrice}, + ) - + UPDATE zc_rent_rule_item @@ -115,7 +154,7 @@ WHERE id = #{id} - + DELETE FROM zc_rent_rule_item WHERE id = #{id}