goupan
2024-04-14 ca931b87c7d7de8d3c75d6a4a5f0693d77420c8c
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
package cn.stylefeng.roses.kernel.customer.modular.service;
 
import cn.stylefeng.roses.kernel.auth.api.pojo.auth.LoginRequest;
import cn.stylefeng.roses.kernel.auth.api.pojo.auth.LoginResponse;
import cn.stylefeng.roses.kernel.customer.api.CustomerApi;
import cn.stylefeng.roses.kernel.customer.api.pojo.CustomerInfoChangeAvatarPasswordRequest;
import cn.stylefeng.roses.kernel.customer.api.pojo.UserManagePageResponseDTO;
import cn.stylefeng.roses.kernel.customer.modular.entity.Customer;
import cn.stylefeng.roses.kernel.customer.modular.request.CustomerRequest;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.enums.PostIdEnum;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
 
import java.util.List;
 
/**
 * C端用户表 服务类
 *
 * @author fengshuonan
 * @date 2021/06/07 11:40
 */
public interface CustomerService extends IService<Customer>, CustomerApi {
 
    /**
     * 注册用户
     *
     * @author fengshuonan
     * @date 2021/06/07 11:40
     */
    void reg(CustomerRequest customerRequest);
 
    /**
     * 激活用户
     *
     * @author fengshuonan
     * @date 2021/06/07 11:40
     */
    void active(CustomerRequest customerRequest);
 
    /**
     * C端用户登录
     *
     * @author fengshuonan
     * @date 2021/6/7 16:20
     */
    LoginResponse login(LoginRequest loginRequest);
 
    /**
     * C端用户登录封装
     *
     * @param customer
     * @param loginRequest
     * @return
     */
    LoginResponse wrapperLoginResponse(Customer customer, LoginRequest loginRequest);
 
    /**
     * 发送找回密码的邮件
     *
     * @author fengshuonan
     * @date 2021/6/7 22:11
     */
    void sendResetPwdEmail(CustomerRequest customerRequest);
 
    /**
     * 重置密码
     *
     * @author fengshuonan
     * @date 2021/6/7 22:13
     */
    void resetPassword(CustomerRequest customerRequest);
 
    /**
     * 新增
     *
     * @author fengshuonan
     * @date 2021/06/07 11:40
     */
    void add(CustomerRequest customerRequest);
 
    /**
     * 删除
     *
     * @author fengshuonan
     * @date 2021/06/07 11:40
     */
    void del(CustomerRequest customerRequest);
 
    /**
     * 编辑
     *
     * @author fengshuonan
     * @date 2021/06/07 11:40
     */
    void edit(CustomerRequest customerRequest);
 
    /**
     * 查询详情
     *
     * @author fengshuonan
     * @date 2021/06/07 11:40
     */
    Customer detail(CustomerRequest customerRequest);
 
    /**
     * 获取列表
     *
     * @author fengshuonan
     * @date 2021/06/07 11:40
     */
    List<Customer> findList(CustomerRequest customerRequest);
 
    /**
     * 获取列表(带分页)
     *
     * @author fengshuonan
     * @date 2021/06/07 11:40
     */
    PageResult<Customer> findPage(CustomerRequest customerRequest);
 
    /**
     * 更新密码
     *
     * @author fengshuonan
     * @date 2021/6/18 17:16
     */
    void updatePassword(CustomerInfoChangeAvatarPasswordRequest req);
 
    /**
     * 更新头像
     *
     * @author fengshuonan
     * @date 2021/6/18 17:16
     */
    void updateAvatar(CustomerInfoChangeAvatarPasswordRequest customerInfoRequest);
 
    /**
     * 重置个人秘钥
     *
     * @return 用户秘钥
     * @author fengshuonan
     * @date 2021/7/20 10:44
     */
    String updateSecret();
 
    /**
     * 获取指定岗位工作人员信息
     * @param lineStatus
     * @param postType
     * @return
     */
    List<Customer> getWorkerListByLineStatusAndPost(String lineStatus, Integer postType, Integer postId, Integer workStatus);
 
    /**
     * 随机获取指定岗位工作人员信息
     * @param lineStatus
     * @param postType
     * @return
     */
    Customer randomWorkerByLineStatusAndPost(String lineStatus, Integer postType, Integer postId, Integer workStatus);
 
    /**
     * 随机获取指定岗位人员id
     * @param lineStatus
     * @param postType
     * @param postId
     * @return
     */
    Long randomWorkerIdByLineStatusAndPost(String lineStatus, Integer postType, Integer postId, Integer workStatus);
    Long randomWorkerIdByLineStatusAndPostNeWorkerId(String lineStatus, Integer postType, Integer postId, Integer workStatus, Integer mentalAnalysisStatus, List<Long> eqWorkerIdList, List<Long> neWorkerIdList);
 
    /**
     * 更新用户信息,删除缓存
     * @return
     */
    boolean updateCustomerRemoveCache(Customer customer);
 
    /**
     * 更换用户手机号
     * @param userId
     * @param phone
     * @return
     */
    boolean changeCustomerPhone(Long userId, String phone);
 
    Page<UserManagePageResponseDTO> getCustomerPage(Page<Object> page, Integer userType, Long id, String name, String telephone, Integer statusFlag);
 
    /**
     * 获取性格分析师岗位变化状态
     */
    Integer getCustomerMentalAnalysisStatus(Long customerId, String oldPostIds, String newPostIds);
 
    /**
     * 获取绑定顾问岗位ID
     */
    String[] getBindWorkerPostIds(String workerNo, PostIdEnum post11Enum, PostIdEnum post21Enum);
 
}