From 9b7b5fdf5bc7b912eed4befb1e2ff574096e12f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=B8=85?= Date: Wed, 28 May 2025 17:26:58 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98=E6=8E=A5?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/api/ApiLoginController.java | 24 +++++--- .../api/ApiWxFamilyMemberController.java | 17 ++++++ .../api/ApiWxPayRecordController.java | 25 +++++++- .../main/resources/cert/apiclient_cert.p12 | Bin 0 -> 2774 bytes .../main/resources/cert/apiclient_cert.pem | 25 ++++++++ .../src/main/resources/cert/apiclient_key.pem | 28 +++++++++ ...7\347\224\250\350\257\264\346\230\216.txt" | 18 ++++++ .../service/IWxFamilyMemberService.java | 5 ++ .../business/service/IWxPayRecordService.java | 2 +- .../impl/WxFamilyMemberServiceImpl.java | 19 ++++++ .../service/impl/WxPayRecordServiceImpl.java | 56 ++++++++++++++++-- .../pay/domain/bo/CmsPayAppBo.java | 7 --- .../pay/support/pay/PayReqModel.java | 4 -- .../views/business/proprietorLedger/index.vue | 16 ++--- 14 files changed, 209 insertions(+), 37 deletions(-) create mode 100644 propertyManagement-admin/src/main/resources/cert/apiclient_cert.p12 create mode 100644 propertyManagement-admin/src/main/resources/cert/apiclient_cert.pem create mode 100644 propertyManagement-admin/src/main/resources/cert/apiclient_key.pem create mode 100644 "propertyManagement-admin/src/main/resources/cert/\350\257\201\344\271\246\344\275\277\347\224\250\350\257\264\346\230\216.txt" diff --git a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiLoginController.java b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiLoginController.java index 7360186..267356c 100644 --- a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiLoginController.java +++ b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiLoginController.java @@ -1,11 +1,14 @@ package com.propertyManagement.web.controller.business.api; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.propertyManagement.business.domain.WxAccount; +import com.propertyManagement.business.domain.WxUser; import com.propertyManagement.business.domain.bo.CodeLoginBo; import com.propertyManagement.business.domain.vo.LoginWxUser; import com.propertyManagement.business.mapper.WxAccountMapper; +import com.propertyManagement.business.mapper.WxUserMapper; import com.propertyManagement.business.service.WxUserLoginService; import com.propertyManagement.business.service.WxUserTokenService; import com.propertyManagement.business.support.util.AuthUtil; @@ -20,6 +23,7 @@ import com.tencentcloudapi.sms.v20210111.models.SendStatus; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -48,6 +52,8 @@ public class ApiLoginController { private final WxUserTokenService wxUserTokenService; + private final WxUserMapper userMapper; + private final SendSms sendSms; /** @@ -56,14 +62,14 @@ public class ApiLoginController { * @param bo 登录信息 * @return 结果 */ -// @Operation(summary = "小程序静默授权登录") -// @Anonymous -// @PostMapping("/code") -// public R> codeLogin(@RequestBody CodeLoginBo bo) { -// // 生成令牌 -// LoginResult loginResult = wxUserLoginService.codeLogin(bo); -// return R.ok(loginResult); -// } + @Operation(summary = "小程序静默授权登录") + @Anonymous + @PostMapping("/code") + public R> codeLogin(@RequestBody CodeLoginBo bo) { + // 生成令牌 + LoginResult loginResult = wxUserLoginService.codeLogin(bo); + return R.ok(loginResult); + } /** * 小程序手机号授权登录 @@ -134,6 +140,8 @@ public class ApiLoginController { @GetMapping("/userInfo") public R userInfo() { LoginWxUser wxUser = AuthUtil.getWxUser(); + WxUser user = userMapper.selectById(AuthUtil.getWxUser().getId()); + BeanUtil.copyProperties(user, wxUser); wxUserTokenService.refreshToken(wxUser); LoginWxUser loginWxUser = RedisUtils.getCacheObject(CacheConstants.LOGIN_MERCHANT_TOKEN_KEY + wxUser.getToken()); return R.ok(loginWxUser); diff --git a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxFamilyMemberController.java b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxFamilyMemberController.java index 4e93d55..13cd72f 100644 --- a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxFamilyMemberController.java +++ b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxFamilyMemberController.java @@ -1,6 +1,7 @@ package com.propertyManagement.web.controller.business.api; import cn.dev33.satoken.annotation.SaCheckPermission; +import com.dtflys.forest.annotation.NotNull; import com.propertyManagement.business.domain.bo.WxFamilyMemberBo; import com.propertyManagement.business.domain.vo.LoginWxUser; import com.propertyManagement.business.domain.vo.WxFamilyMemberVo; @@ -52,4 +53,20 @@ public class ApiWxFamilyMemberController extends BaseController { return toAjax(iWxFamilyMemberService.insertByBo(bo)); } + /** + * 修改家庭成员 + */ + @PostMapping("/update") + public R update(@Validated(AddGroup.class) @RequestBody WxFamilyMemberBo bo) { + return toAjax(iWxFamilyMemberService.updateByBo(bo)); + } + + /** + * 删除家庭成员 + */ + @PostMapping("/delete/{id}") + public R delete(@Validated(AddGroup.class) @PathVariable("id") Long id) { + return toAjax(iWxFamilyMemberService.deleteWithValidById(id)); + } + } diff --git a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxPayRecordController.java b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxPayRecordController.java index 1bc5e6c..6568849 100644 --- a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxPayRecordController.java +++ b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxPayRecordController.java @@ -13,6 +13,7 @@ import com.propertyManagement.common.enums.PayState; import com.propertyManagement.pay.support.pay.PayReqModel; import com.siashan.unipay4j.core.Result; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -27,6 +28,7 @@ import java.util.List; * @author liushuai * @date 2025-05-14 */ +@Slf4j @Validated @RequiredArgsConstructor @RestController @@ -57,18 +59,35 @@ public class ApiWxPayRecordController extends BaseController { } /** - * 支付回调 + * 维修单支付回调 * * @return 结果 */ @Anonymous - @PostMapping("/notify/{orderId}/{payChannelCode}/{payMchCode}/{payAppCode}") + @PostMapping("/maintain-notify/{orderId}/{payChannelCode}/{payMchCode}/{payAppCode}") + public void maintainCallback(HttpServletRequest request, HttpServletResponse response, + @PathVariable String orderId, + @PathVariable String payChannelCode, + @PathVariable String payMchCode, + @PathVariable String payAppCode) { + log.info("===================>维修单支付回调成功"); + iWxPayRecordService.payCallback(orderId, payChannelCode, payMchCode, payAppCode ,"MAINTAIN"); + } + + /** + * 预存支付回调 + * + * @return 结果 + */ + @Anonymous + @PostMapping("/prestore-notify/{orderId}/{payChannelCode}/{payMchCode}/{payAppCode}") public void callback(HttpServletRequest request, HttpServletResponse response, @PathVariable String orderId, @PathVariable String payChannelCode, @PathVariable String payMchCode, @PathVariable String payAppCode) { - iWxPayRecordService.payCallback(orderId, payChannelCode, payMchCode, payAppCode); + log.info("===================>预存支付回调成功"); + iWxPayRecordService.payCallback(orderId, payChannelCode, payMchCode, payAppCode, "PRESTORE"); } } diff --git a/propertyManagement-admin/src/main/resources/cert/apiclient_cert.p12 b/propertyManagement-admin/src/main/resources/cert/apiclient_cert.p12 new file mode 100644 index 0000000000000000000000000000000000000000..5839572a179d203e7bfc4ee5dd2db38165a63d96 GIT binary patch literal 2774 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 0; } + /** + * 校验并删除家庭成员信息 + * + * @param id + */ + @Override + public Boolean deleteWithValidById(Long id) { + WxFamilyMember familyMember = baseMapper.selectById(id); + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(WxUserCommunityLedger::getUserId, familyMember.getUserId()) + .eq(WxUserCommunityLedger::getCommunityId, familyMember.getCommunityId()) + .eq(WxUserCommunityLedger::getProprietorId, familyMember.getProprietorId()); + userCommunityLedgerMapper.delete(lambdaQueryWrapper); + return baseMapper.deleteById(id) > 0; + } + /** * 保存前的数据校验 */ diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxPayRecordServiceImpl.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxPayRecordServiceImpl.java index 00efb2d..a8b73a1 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxPayRecordServiceImpl.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxPayRecordServiceImpl.java @@ -1,11 +1,16 @@ package com.propertyManagement.business.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.RandomUtil; import com.propertyManagement.business.domain.WxLiveBill; +import com.propertyManagement.business.domain.WxProprietorLedger; import com.propertyManagement.business.domain.WxRepairs; import com.propertyManagement.business.domain.vo.LoginWxUser; import com.propertyManagement.business.enums.PayBizEnum; import com.propertyManagement.business.mapper.WxLiveBillMapper; +import com.propertyManagement.business.mapper.WxProprietorLedgerMapper; import com.propertyManagement.business.mapper.WxRepairsMapper; import com.propertyManagement.business.support.util.AuthUtil; import com.propertyManagement.common.enums.LiveBillState; @@ -54,6 +59,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { private final WxPayRecordMapper baseMapper; private final WxLiveBillMapper liveBillMapper; private final WxRepairsMapper repairsMapper; + private final WxProprietorLedgerMapper proprietorLedgerMapper; /** * 查询缴费记录 @@ -83,7 +89,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { } /** - * 新增缴费记录 + * 支付 * * @param reqModel */ @@ -93,7 +99,6 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { Long orderId = null; BigDecimal payAmount = BigDecimal.ZERO; Integer orderType = null; - String outTradeNo = null; switch (payBiz) { case PRESTORE: WxLiveBill wxLiveBill = liveBillMapper.selectById(reqModel.getOrderId()); @@ -115,7 +120,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { if (null == wxRepairs) { throw new RuntimeException("订单信息不存在,请刷新后重试"); } - if (RepairsState.TWO.getCode().equals(wxRepairs.getState())) { + if (!RepairsState.TWO.getCode().equals(wxRepairs.getState())) { throw new RuntimeException("订单状态错误,请刷新后重试!"); } if (reqModel.getAmount().doubleValue() != wxRepairs.getMoney().doubleValue()) { @@ -129,7 +134,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { throw new RuntimeException("支付失败,类型错误"); } WxPayRecord record = createPayRecord(orderId, payAmount, orderType); - IPayment payment = CmsUnipayProvider.getPayment(orderId, reqModel.getPayChannelCode(), reqModel.getPayMchCode(), reqModel.getPayAppCode(), reqModel.getPayBizCode()); + IPayment payment = CmsUnipayProvider.getPayment(orderId, "WX", "1717814777", "LILONG", reqModel.getPayBizCode()); PayModel payModel = getPayModel(record); return payment.pay(payModel); } @@ -139,9 +144,10 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { * @param payChannelCode * @param payMchCode * @param payAppCode + * @param type 1报修支付 2预存支付 */ @Override - public void payCallback(String orderId, String payChannelCode, String payMchCode, String payAppCode) { + public void payCallback(String orderId, String payChannelCode, String payMchCode, String payAppCode, String type) { /** * 更新支付记录状态 */ @@ -153,7 +159,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { /** * 更新订单状态 */ - if (record.getOrderType().equals(LiveBillType.maintain.getCode())) { + if (type.equals(PayBizEnum.MAINTAIN.getCode())) { WxRepairs wxRepairs = repairsMapper.selectById(orderId); wxRepairs.setState(RepairsState.THREE.getCode()); wxRepairs.setCompleteTime(new Date()); @@ -162,6 +168,34 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { WxLiveBill wxLiveBill = liveBillMapper.selectById(orderId); wxLiveBill.setState(LiveBillState.YES.getCode()); liveBillMapper.updateById(wxLiveBill); + + WxProprietorLedger proprietorLedger = proprietorLedgerMapper.selectById(wxLiveBill.getProprietorId()); + switch (record.getOrderType()){ + case 1: + proprietorLedger.setWaterPrepaidMoney(proprietorLedger.getWaterPrepaidMoney().add(record.getPayAmount())); + break; + case 2: + proprietorLedger.setElectricityPrepaidMoney(proprietorLedger.getElectricityPrepaidMoney().add(record.getPayAmount())); + break; + case 3: + proprietorLedger.setPropertyPrepaidMoney(proprietorLedger.getPropertyPrepaidMoney().add(record.getPayAmount())); + break; + case 4: + proprietorLedger.setCarportManagePrestoreMoney(proprietorLedger.getCarportManagePrestoreMoney().add(record.getPayAmount())); + break; + case 5: + proprietorLedger.setCarportLeasePrestoreMoney(proprietorLedger.getCarportLeasePrestoreMoney().add(record.getPayAmount())); + break; + case 6: + proprietorLedger.setStoreroomLeasePrestoreMoney(proprietorLedger.getStoreroomLeasePrestoreMoney().add(record.getPayAmount())); + break; + case 7: + proprietorLedger.setOtherPrestoreMoney(proprietorLedger.getOtherPrestoreMoney().add(record.getPayAmount())); + break; + default: + throw new RuntimeException("支付回调异常===========================================>"); + } + proprietorLedgerMapper.updateById(proprietorLedger); } } @@ -179,6 +213,16 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { record.setCommunityId(wxUser.getCommunityId()); record.setCommunityName(wxUser.getCommunityName()); record.setOrderType(orderType); + /** + * 生成外部订单号 + */ + String memStr = String.valueOf(wxUser.getId()); + if (memStr.length() < 4) { + memStr = String.format("%04d", wxUser.getId()); + } else { + memStr = memStr.substring(memStr.length() - 4); + } + record.setOutTradeNo("OR" + DateUtil.format(new Date(), DatePattern.PURE_DATETIME_PATTERN) + memStr + RandomUtil.randomString("123456789", 4)); baseMapper.insert(record); return record; } diff --git a/propertyManagement-pay/src/main/java/com/propertyManagement/pay/domain/bo/CmsPayAppBo.java b/propertyManagement-pay/src/main/java/com/propertyManagement/pay/domain/bo/CmsPayAppBo.java index 5a8444c..8c474a8 100644 --- a/propertyManagement-pay/src/main/java/com/propertyManagement/pay/domain/bo/CmsPayAppBo.java +++ b/propertyManagement-pay/src/main/java/com/propertyManagement/pay/domain/bo/CmsPayAppBo.java @@ -24,7 +24,6 @@ public class CmsPayAppBo extends BaseEntity { /** * 编号 */ - @NotNull(message = "编号不能为空", groups = { EditGroup.class }) private Long id; /** @@ -48,7 +47,6 @@ public class CmsPayAppBo extends BaseEntity { /** * 交易支付类型 */ - @NotBlank(message = "交易支付类型不能为空", groups = { AddGroup.class, EditGroup.class }) private String tradeType; /** @@ -60,31 +58,26 @@ public class CmsPayAppBo extends BaseEntity { /** * 服务商编码 */ - @NotBlank(message = "服务商编码不能为空", groups = { AddGroup.class, EditGroup.class }) private String providerCode; /** * 应用配置(json) */ - @NotBlank(message = "应用配置(json)不能为空", groups = { AddGroup.class, EditGroup.class }) private String appConfig; /** * 状态 0 禁用 1 启用 */ - @NotNull(message = "状态 0 禁用 1 启用不能为空", groups = { AddGroup.class, EditGroup.class }) private Integer isEnable; /** * 是否锁定 0 否 1 是 */ - @NotNull(message = "是否锁定 0 否 1 是不能为空", groups = { AddGroup.class, EditGroup.class }) private Integer isLock; /** * 备注 */ - @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) private String remark; diff --git a/propertyManagement-pay/src/main/java/com/propertyManagement/pay/support/pay/PayReqModel.java b/propertyManagement-pay/src/main/java/com/propertyManagement/pay/support/pay/PayReqModel.java index 6f5f429..0842ede 100644 --- a/propertyManagement-pay/src/main/java/com/propertyManagement/pay/support/pay/PayReqModel.java +++ b/propertyManagement-pay/src/main/java/com/propertyManagement/pay/support/pay/PayReqModel.java @@ -28,22 +28,18 @@ public class PayReqModel { /** * 支付渠道 WX 微信支付 ALI 支付宝 */ - @NotNull(message = "支付渠道不能为空") private String payChannelCode; /** * 支付商户 */ - @NotNull(message = "支付商户不能为空") private String payMchCode; /** * 支付类型 */ - @NotNull(message = "支付类型不能为空") private String payTradeType; /** * 应用code */ - @NotNull(message = "应用code不能为空") private String payAppCode; /** * 支付业务code diff --git a/propertyManagement-ui/src/views/business/proprietorLedger/index.vue b/propertyManagement-ui/src/views/business/proprietorLedger/index.vue index 2104b50..e8be4e4 100644 --- a/propertyManagement-ui/src/views/business/proprietorLedger/index.vue +++ b/propertyManagement-ui/src/views/business/proprietorLedger/index.vue @@ -140,7 +140,7 @@ - +