| tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/bankcard/controller/AppBankCardController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/bankcard/dto/AppBankCardUpdateRequest.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/bankcard/service/AppBankCardService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/bankcard/vo/AppBankCardVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/bankcard/controller/AppBankCardController.java
New file @@ -0,0 +1,19 @@ package com.tcm.training.admin.app.bankcard.controller; import com.tcm.training.admin.app.bankcard.dto.AppBankCardUpdateRequest; import com.tcm.training.admin.app.bankcard.service.AppBankCardService; import com.tcm.training.admin.app.bankcard.vo.AppBankCardVO; import com.tcm.training.admin.common.ApiResponse; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @Validated @RestController @RequestMapping({"/api/app/bank-card", "/api/v1/app/bank-card"}) public class AppBankCardController { private final AppBankCardService service; public AppBankCardController(AppBankCardService service) { this.service = service; } @GetMapping public ApiResponse<AppBankCardVO> detail() { return ApiResponse.ok(service.detail()); } @PutMapping public ApiResponse<AppBankCardVO> update(@Valid @RequestBody AppBankCardUpdateRequest request) { return ApiResponse.ok(service.update(request)); } } tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/bankcard/dto/AppBankCardUpdateRequest.java
New file @@ -0,0 +1,13 @@ package com.tcm.training.admin.app.bankcard.dto; import lombok.Getter; import lombok.Setter; import javax.validation.constraints.NotBlank; @Getter @Setter public class AppBankCardUpdateRequest { @NotBlank(message = "请输入银行名称") private String bankName; @NotBlank(message = "请输入账户名称") private String accountName; @NotBlank(message = "请输入账号") private String accountNumber; @NotBlank(message = "请输入支行名称") private String branchName; } tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/bankcard/service/AppBankCardService.java
New file @@ -0,0 +1,46 @@ package com.tcm.training.admin.app.bankcard.service; import com.tcm.training.admin.app.auth.service.AppAuthSessionService; import com.tcm.training.admin.app.bankcard.dto.AppBankCardUpdateRequest; import com.tcm.training.admin.app.bankcard.vo.AppBankCardVO; import com.tcm.training.admin.live.entity.Clinic; import com.tcm.training.admin.live.mapper.ClinicMapper; import com.tcm.training.admin.member.entity.AppUser; import com.tcm.training.admin.member.mapper.UserMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service public class AppBankCardService { private final AppAuthSessionService sessionService; private final UserMapper userMapper; private final ClinicMapper clinicMapper; public AppBankCardService(AppAuthSessionService sessionService, UserMapper userMapper, ClinicMapper clinicMapper) { this.sessionService = sessionService; this.userMapper = userMapper; this.clinicMapper = clinicMapper; } public AppBankCardVO detail() { return toVO(requireClinic()); } @Transactional public AppBankCardVO update(AppBankCardUpdateRequest request) { Clinic clinic = requireClinic(); clinic.setBankName(trim(request.getBankName())); clinic.setAccountHolder(trim(request.getAccountName())); clinic.setAccountNumber(trim(request.getAccountNumber())); clinic.setBranchName(trim(request.getBranchName())); clinicMapper.updateById(clinic); return toVO(clinic); } private Clinic requireClinic() { AppUser user = userMapper.selectById(sessionService.requireLoginUserId()); if (user == null || user.getDeleted() == null || user.getDeleted() != 0) throw new IllegalArgumentException("用户不存在"); if (user.getType() == null || user.getType() != 1 || user.getClinicId() == null) throw new IllegalArgumentException("当前账号未绑定诊所"); Clinic clinic = clinicMapper.selectById(user.getClinicId()); if (clinic == null || clinic.getDeleted() == null || clinic.getDeleted() != 0) throw new IllegalArgumentException("诊所不存在"); return clinic; } private AppBankCardVO toVO(Clinic c) { AppBankCardVO v=new AppBankCardVO(); v.setBankName(c.getBankName()); v.setAccountName(c.getAccountHolder()); v.setAccountNumber(c.getAccountNumber()); v.setBranchName(c.getBranchName()); return v; } private String trim(String value) { return value == null ? null : value.trim(); } } tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/bankcard/vo/AppBankCardVO.java
New file @@ -0,0 +1,12 @@ package com.tcm.training.admin.app.bankcard.vo; import lombok.Getter; import lombok.Setter; @Getter @Setter public class AppBankCardVO { private String bankName; private String accountName; private String accountNumber; private String branchName; }