2021与蓝度共同重构项目,服务端
liuhaonan
2022-03-22 db79eca1d06cc0f3cfb5aae710262aedfb95577e
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package com.sandu.ximon.admin.pay.wxpay;
 
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.param.WxpayConfigParam;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.ClientService;
import com.sandu.ximon.admin.service.PoleService;
import com.sandu.ximon.admin.utils.SpringContextUtil;
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.WxConfigEntity;
import com.sandu.ximon.dao.mapper.UsrWxPayConfigMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
/**
 * @Author liuhaonan
 * @Date 2022/3/18 14:37
 * @Version 1.0
 */
@Service
@AllArgsConstructor
public class UsrWxPayConfigService extends BaseServiceImpl<UsrWxPayConfigMapper, WxConfigEntity> {
 
    private final UsrWxPayConfigMapper wxPayConfigMapper;
    private final ClientService clientService;
    private final PoleService poleService;
 
    public WxConfigEntity getConfigByPoleId(Long poleId) {
        Pole pole = poleService.getById(poleId);
        if (pole == null) {
            throw new BusinessException("灯杆id错误或灯杆不存在");
        }
        WxConfigEntity config;
        if (pole.getClientId() == null) {
            config = getById(0);
        }
        config = getOne(Wrappers.lambdaQuery(WxConfigEntity.class).eq(WxConfigEntity::getCreateUserId, SecurityUtils.getUserId()));
        if (config == null) {
            throw new BusinessException("用户未配置支付配置,请配置后重试");
        }
        return config;
    }
 
 
    public static UsrWxPayConfigService getBean() {
        return (UsrWxPayConfigService) SpringContextUtil.getBean("UsrWxPayConfigService");
    }
 
 
    public boolean addWxPayConfig(WxpayConfigParam configParam) {
        WxConfigEntity config = new WxConfigEntity();
        BeanUtil.copyProperties(configParam, config);
        config.setAppid(configParam.getAppId());
        config.setAppappid(configParam.getAppAppId());
        if(SecurityUtils.getClientId()!=null){
            config.setCreateUserId(SecurityUtils.getUserId());
            if(clientService.findClientId()){
                config.setClientId(clientService.getClientId());
            }
        }
        return save(config);
    }
 
    public boolean updateWxPayConfig(Long id, WxpayConfigParam configParam) {
        WxConfigEntity byId = getById(id);
        if (byId == null) {
            throw new BusinessException("配置id错误或配置不存在");
        }
        WxConfigEntity config = new WxConfigEntity();
        BeanUtil.copyProperties(configParam, config);
        config.setAppid(configParam.getAppId());
        config.setAppappid(configParam.getAppAppId());
        config.setConfigId(id);
        return updateById(config);
    }
 
    public boolean deleteWxPayConfig(Long id) {
        WxConfigEntity byId = getById(id);
        if (byId == null) {
            throw new BusinessException("配置id错误或配置不存在");
        }
        return removeById(id);
    }
 
 
    public List<WxConfigEntity> configList(BaseConditionVO baseConditionVO,String keyword) {
        LambdaQueryWrapper<WxConfigEntity> wrapper = new LambdaQueryWrapper<>();
        System.out.println("----------------------------" + clientService.findClientId());
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        if (SecurityUtils.getClientId() != null) {//客户
            if (clientService.findClientId()) {//二级客户
                PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
                wrapper = Wrappers.lambdaQuery(WxConfigEntity.class).eq(WxConfigEntity::getCreateUserId, SecurityUtils.getUserId());
            } else if (!clientService.findClientId()) {//一级客户
                PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
                wrapper = Wrappers.lambdaQuery(WxConfigEntity.class).eq(WxConfigEntity::getClientId, SecurityUtils.getUserId());
            }
        } else {//管理
            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
            wrapper = Wrappers.lambdaQuery(WxConfigEntity.class);
        }
        if(!keyword.isEmpty()){
           wrapper= wrapper.like(WxConfigEntity::getConfigId,keyword).or(
                    appid->{
                        appid.like(WxConfigEntity::getAppid,keyword);
                    }
            ).or(
                    appappid->{
                        appappid.like(WxConfigEntity::getAppappid,keyword);
                    }
            ).or(
                    mchId->{
                        mchId.like(WxConfigEntity::getMchId,keyword);
                    }
            ).or(
                    privateKey->{
                        privateKey.like(WxConfigEntity::getPrivateKey,keyword);
                    }
            );
        }
        return list(wrapper);
    }
 
}