From 70b29bd3ff1febbddb3fd71e19c721f3d4c3e28e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E9=B9=8F=E8=BE=89?= <18322780655@163.com> Date: Fri, 31 May 2024 15:16:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=9A=E5=91=98=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/dao/TbShopInfoMapper.java | 3 ++ .../cashierservice/dao/TbShopUserMapper.java | 2 + .../service/CloudPrinterService.java | 2 +- .../cashierservice/service/MemberService.java | 34 ++++++++++++++--- .../cashierservice/service/PayService.java | 38 +++++++++++++------ .../system/cashierservice/sign/CodeEnum.java | 2 +- .../mapper/ShopUserDutyPayMapper.xml | 2 +- .../resources/mapper/TbShopUserMapper.xml | 7 ++++ 8 files changed, 70 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopInfoMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopInfoMapper.java index a267801..eea7e03 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopInfoMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopInfoMapper.java @@ -26,4 +26,7 @@ public interface TbShopInfoMapper { List selectAll(); List selectAllByCreateTime(); + + + } \ No newline at end of file diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopUserMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopUserMapper.java index b39573e..b1aba71 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopUserMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopUserMapper.java @@ -25,6 +25,8 @@ public interface TbShopUserMapper { List selectByShopId(@Param("shopId") String shopId,@Param("phone") String phone); + List selectByShopIdAndPhone(@Param("shopId") String shopId,@Param("phone") String phone); + TbShopUser selectByUserIdAndShopId(@Param("userId") String userId,@Param("shopId") String shopId); TbShopUser selectByShopIdAndDdynamicCode(@Param("shopId") String shopId,@Param("memberAccount") String memberAccount); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CloudPrinterService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CloudPrinterService.java index 76f7d6f..4428c8d 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CloudPrinterService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CloudPrinterService.java @@ -619,7 +619,7 @@ public class CloudPrinterService { memberData=new ArrayList<>(); ShopUserDutyPay shopUserDutyPay=shopUserDutyPayMapper.selectByDuctIdAndType(shopUserDuty.getId(),"deposit"); if(ObjectUtil.isNotEmpty(shopUserDutyPay)){ - memberData.add(new HandoverInfo.MemberData(shopUserDutyPay.getAmount().toPlainString(),"会员卡支付")); + memberData.add(new HandoverInfo.MemberData(shopUserDutyPay.getAmount().toPlainString(),"会员卡消费")); // memberData.add(new HandoverInfo.MemberData(ObjectUtil.isNull(shopUserDuty.getMemberOutAmount())? BigDecimal.ZERO.toPlainString() : shopUserDuty.getMemberOutAmount().toPlainString(),"会员卡支付")); // memberData.add(new HandoverInfo.MemberData(ObjectUtil.isNull(shopUserDuty.getMemberOutAmount())? BigDecimal.ONE.toPlainString() : shopUserDuty.getMemberOutAmount().toPlainString(),"储值卡支付")); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/MemberService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/MemberService.java index 70e64ef..5d9a941 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/MemberService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/MemberService.java @@ -96,12 +96,18 @@ public class MemberService { String shopId = String.valueOf(map.get("shopId")); - List tbShopUsers = tbShopUserMapper.selectByShopId(shopId, phone); + List tbShopUsers = tbShopUserMapper.selectByShopIdAndPhone(shopId, phone); - if (ObjectUtil.isNotEmpty(tbShopUsers) && tbShopUsers.get(0).getIsVip().toString().equals("1")) { + if (ObjectUtil.isNotEmpty(tbShopUsers)&&tbShopUsers.stream().filter(it->"1".equals(it.getIsVip().toString())).count()>0) { return Result.fail(CodeEnum.MEMBERHAVED); } +// for (TbShopUser tbShopUser : tbShopUsers) { +// if("1".equals(tbShopUser.getIsVip().toString())){ +// return Result.fail(CodeEnum.MEMBERHAVED); +// } +// } + if (ObjectUtil.isNotNull(tbShopUsers) && ObjectUtil.isNotEmpty(tbShopUsers)) { TbShopUser tbShopUser = tbShopUsers.get(0); String code = DateUtils.getSsdfTimes(); @@ -152,6 +158,9 @@ public class MemberService { return Result.fail(CodeEnum.PARAM); } + + + String memberId = String.valueOf(map.get("memberId")); String shopId = String.valueOf(map.get("shopId")); @@ -168,7 +177,24 @@ public class MemberService { String authCode = map.get("authCode").toString(); String qpay = null; - String payTypeCode = authCode.substring(0, 1);// 判断收款码 + String payTypeCode = authCode.substring(0, 2);// 判断收款码 + + + + if(Integer.valueOf(payTypeCode)>=25&&Integer.valueOf(payTypeCode)<=30){ + qpay = "scanCode"; + }else if(Integer.valueOf(payTypeCode)>=10&&Integer.valueOf(payTypeCode)<=19){ + qpay = "scanCode"; + }else if("62".equals(payTypeCode)){ + return Result.fail(CodeEnum.ERRORQR); + }else if("01".equals(payTypeCode)){ + return Result.fail(CodeEnum.ERRORQR); + }else { + return Result.fail(CodeEnum.ERRORQR); + } + + + switch (payTypeCode) { case "1": @@ -337,8 +363,6 @@ public class MemberService { } } } - - } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index e10396c..067e631 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -147,19 +147,23 @@ public class PayService { String payName = null; String qpay = null; - String payTypeCode = authCode.substring(0, 1);// 判断收款码 + String payTypeCode = authCode.substring(0, 2);// 判断收款码 - switch (payTypeCode) { - case "1": - payType = "wechatPay"; - payName = "微信支付"; - qpay = "scanCode"; - break; - case "2": - payType = "aliPay"; - payName = "支付宝支付"; - qpay = "scanCode"; - break; + + if(Integer.valueOf(payTypeCode)>=25&&Integer.valueOf(payTypeCode)<=30){ + payType = "aliPay"; + payName = "支付宝支付"; + qpay = "scanCode"; + }else if(Integer.valueOf(payTypeCode)>=10&&Integer.valueOf(payTypeCode)<=19){ + payType = "wechatPay"; + payName = "微信支付"; + qpay = "scanCode"; + }else if("62".equals(payTypeCode)){ + return Result.fail(CodeEnum.ERRORQR); + }else if("01".equals(payTypeCode)){ + return Result.fail(CodeEnum.ERRORQR); + }else { + return Result.fail(CodeEnum.ERRORQR); } int count = tbShopPayTypeMapper.countSelectByShopIdAndPayType(orderInfo.getShopId(), qpay); @@ -425,6 +429,10 @@ public class PayService { } + + + + TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId)); if (ObjectUtil.isEmpty(orderInfo)) { return Result.fail(CodeEnum.ORDERNOEXIST); @@ -450,7 +458,13 @@ public class PayService { if(ObjectUtil.isNotEmpty(memberAccount)){ + + if(!memberAccount.substring(0,2).equals("46")){ + return Result.fail(CodeEnum.ERRORQR); + } + user=tbShopUserMapper.selectByShopIdAndDdynamicCode(orderInfo.getShopId(),memberAccount); + } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/sign/CodeEnum.java b/src/main/java/com/chaozhanggui/system/cashierservice/sign/CodeEnum.java index 2069d21..0b2614b 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/sign/CodeEnum.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/sign/CodeEnum.java @@ -66,7 +66,7 @@ public enum CodeEnum { UNAUTHORIZED("100021",false,"该账号无权限登录,请联系管理员","fail"), - + ERRORQR("100026",false,"错误的码信息","fail"), diff --git a/src/main/resources/mapper/ShopUserDutyPayMapper.xml b/src/main/resources/mapper/ShopUserDutyPayMapper.xml index b095647..055131a 100644 --- a/src/main/resources/mapper/ShopUserDutyPayMapper.xml +++ b/src/main/resources/mapper/ShopUserDutyPayMapper.xml @@ -98,7 +98,7 @@ FROM tb_shop_user_duty_pay WHERE - duty_id = #{dutyId} + duty_id = #{dutyId} and type!='deposit' select * from tb_shop_user where shop_id=#{shopId} and dynamic_code=#{memberAccount} + + \ No newline at end of file