From fb58391cc113e38cb69c1aec20ac6e5d8ebdd0ec Mon Sep 17 00:00:00 2001 From: damonyuan <404054358@qq.com> Date: Wed, 13 Nov 2024 01:25:29 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E5=90=8E=E5=8F=B0-=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=BC=98=E5=8C=96=20fix=20=20=E5=90=8E?= =?UTF-8?q?=E5=8F=B0-=E6=94=AF=E4=BB=98=E6=96=B9=E5=BC=8F=E7=BC=BA?= =?UTF-8?q?=E5=B0=91H5=E6=94=AF=E4=BB=98=E6=8F=90=E7=A4=BA=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../setting/SettingPayWayController.java | 9 +++++--- .../admin/service/ISettingPaymentService.java | 6 +++-- .../impl/SettingPaymentServiceImpl.java | 22 +++++++++---------- .../front/service/impl/PayServiceImpl.java | 5 +++-- sql/install_v1.9.0.sql | 3 +-- 5 files changed, 25 insertions(+), 20 deletions(-) diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingPayWayController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingPayWayController.java index 716864e7..af12475f 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingPayWayController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingPayWayController.java @@ -1,6 +1,8 @@ package com.mdd.admin.controller.setting; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.mdd.admin.service.ISettingPaymentService; import com.mdd.admin.validate.setting.SettingPayConfigValidate; import com.mdd.admin.vo.setting.SettingPaymentMethodVo; @@ -13,6 +15,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; @RestController @@ -25,14 +28,14 @@ public class SettingPayWayController { @GetMapping("/getPayWay") @ApiOperation(value="支付方式列表") - public AjaxResult>> method() { - List> list = iSettingPaymentService.getPayWay(); + public AjaxResult method() { + HashMap list = iSettingPaymentService.getPayWay(); return AjaxResult.success(list); } @PostMapping("/setPayWay") @ApiOperation(value="支付方式编辑") - public AjaxResult setPayWay(@Validated @RequestBody List> data) { + public AjaxResult setPayWay(@Validated @RequestBody HashMap> data) { iSettingPaymentService.setPayWay(data); return AjaxResult.success(); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/ISettingPaymentService.java b/server/like-admin/src/main/java/com/mdd/admin/service/ISettingPaymentService.java index 16a1cc66..0e8fbedb 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/ISettingPaymentService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/ISettingPaymentService.java @@ -1,11 +1,13 @@ package com.mdd.admin.service; +import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.mdd.admin.validate.setting.SettingPayConfigValidate; import com.mdd.admin.validate.setting.SettingPayMethodValidate; import com.mdd.admin.vo.setting.SettingPaymentMethodVo; import com.mdd.common.entity.setting.DevPayConfig; +import java.util.HashMap; import java.util.List; /** @@ -19,7 +21,7 @@ public interface ISettingPaymentService { * @author fzr * @return List> */ - List> getPayWay(); + HashMap getPayWay(); /** * 配置列表 @@ -52,6 +54,6 @@ public interface ISettingPaymentService { * @author fzr * @param data 参数 */ - void setPayWay(List> data); + void setPayWay(HashMap> data); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingPaymentServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingPaymentServiceImpl.java index 9e8aced5..88f3dc0a 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingPaymentServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingPaymentServiceImpl.java @@ -1,6 +1,7 @@ package com.mdd.admin.service.impl; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.mdd.admin.service.ISettingPaymentService; @@ -20,9 +21,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import javax.annotation.Resource; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; +import java.util.*; /** * 支付配置服务实现类 @@ -42,10 +41,11 @@ public class SettingPaymentServiceImpl implements ISettingPaymentService { * @author fzr * @return List> */ - public List> getPayWay() { + public HashMap getPayWay() { List lists = devPayWayMapper.selectList(null); - List> result = new LinkedList<>(); + //List> result = new LinkedList<>(); + HashMap result = new LinkedHashMap(); List mnp = new LinkedList<>(); List oa = new LinkedList<>(); List h5 = new LinkedList<>(); @@ -74,9 +74,9 @@ public class SettingPaymentServiceImpl implements ISettingPaymentService { } } - result.add(mnp); - result.add(oa); - result.add(h5); + result.put(1, mnp); + result.put(2, oa); + result.put(3, h5); return result; } @@ -161,9 +161,9 @@ public class SettingPaymentServiceImpl implements ISettingPaymentService { */ @Override @Transactional - public void setPayWay(List> data) { - - for (List list : data) { + public void setPayWay(HashMap> data) { + for (Integer key : data.keySet()) { + List list = data.get(key); for (SettingPaymentMethodVo vo : list) { DevPayWay way = new DevPayWay(); way.setIsDefault(vo.getIsDefault()); diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/PayServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/PayServiceImpl.java index f0c058c8..cecfa38f 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/PayServiceImpl.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/PayServiceImpl.java @@ -83,7 +83,7 @@ public class PayServiceImpl implements IPayService { List devPayWays = devPayWayMapper.selectList( new QueryWrapper() .eq("scene", terminal) - .eq("status", YesNoEnum.YES.getCode()).orderByDesc("is_default").orderByAsc("id")); + .eq("status", YesNoEnum.YES.getCode()).orderByDesc("id")); PayWayListVo vo = new PayWayListVo(); if (from.equals("recharge")) { @@ -113,10 +113,11 @@ public class PayServiceImpl implements IPayService { if (devPayConfig.getPayWay().equals(PaymentEnum.ALI_PAY.getCode())) { infoVo.setExtra("支付宝快捷支付"); } - list.add(infoVo); } + Collections.sort(list, Comparator.comparing(PayWayInfoVo::getSort).reversed() + .thenComparing(Comparator.comparingInt(PayWayInfoVo::getId).reversed())); vo.setLists(list); return vo; } diff --git a/sql/install_v1.9.0.sql b/sql/install_v1.9.0.sql index 7dcdcc7e..cfb30f88 100644 --- a/sql/install_v1.9.0.sql +++ b/sql/install_v1.9.0.sql @@ -242,8 +242,7 @@ INSERT INTO `la_dev_pay_way` (`id`, `pay_config_id`, `scene`, `is_default`, `sta (4, 2, 2, 1, 1), (5, 1, 3, 0, 1), (6, 2, 3, 1, 1), -(7, 3, 3, 0, 1), -(8, 3, 1, 0, 1); +(7, 3, 3, 0, 1); DROP TABLE IF EXISTS `la_dict_data`; CREATE TABLE `la_dict_data` (