hejianhao
2026-08-19 365ce457ce9cde401c54a58994582c96a7b812b2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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(); }
}