TAdminController.java 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043
  1. package com.szwl.controller;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.collection.CollUtil;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  7. import com.baomidou.mybatisplus.core.metadata.IPage;
  8. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  9. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  10. import com.szwl.annotation.Audit;
  11. import com.szwl.constant.AuditEnum;
  12. import com.szwl.constant.ResponseCodesEnum;
  13. import com.szwl.exception.BizException;
  14. import com.szwl.feign.bean.PayFeign;
  15. import com.szwl.manager.TokenManager;
  16. import com.szwl.model.bo.R;
  17. import com.szwl.model.bo.ResponseModel;
  18. import com.szwl.model.bo.UserDetailBO;
  19. import com.szwl.model.dto.RegisterParamDTO;
  20. import com.szwl.model.entity.*;
  21. import com.szwl.model.param.AddLoginUserParam;
  22. import com.szwl.model.param.UpdateLoginUserParam;
  23. import com.szwl.model.utils.AdminUtils;
  24. import com.szwl.service.*;
  25. import com.szwl.util.IDGenerator;
  26. import io.swagger.annotations.Api;
  27. import io.swagger.annotations.ApiOperation;
  28. import lombok.extern.slf4j.Slf4j;
  29. import org.apache.commons.lang.StringUtils;
  30. import org.slf4j.Logger;
  31. import org.slf4j.LoggerFactory;
  32. import org.springframework.transaction.annotation.Transactional;
  33. import org.springframework.web.bind.annotation.*;
  34. import javax.servlet.http.HttpServletRequest;
  35. import javax.validation.Valid;
  36. import java.util.*;
  37. import java.util.regex.Pattern;
  38. import java.util.stream.Collectors;
  39. /**
  40. * <p>
  41. * 短信验证码 前端控制器
  42. * </p>
  43. *
  44. * @author wuhs
  45. * @since 2023-09-26
  46. */
  47. @Slf4j
  48. @Api(value = "/tAdmin", tags = {"账户"})
  49. @RestController
  50. @RequestMapping("/tAdmin")
  51. public class TAdminController {
  52. SysRoleService sysRoleService;
  53. SysUserRoleService sysUserRoleService;
  54. TokenManager tokenManager;
  55. TAdminService tAdminService;
  56. TAdminEquipmentService tAdminEquipmentService;
  57. TMessageCodeService tMessageCodeService;
  58. TAirwallexWalletService airwallexWalletService;
  59. PayFeign payFeign;
  60. public TAdminController(SysRoleService sysRoleService, SysUserRoleService sysUserRoleService, TokenManager tokenManager, TAdminService tAdminService, TAdminEquipmentService tAdminEquipmentService, TMessageCodeService tMessageCodeService, TAirwallexWalletService airwallexWalletService, PayFeign payFeign) {
  61. this.sysRoleService = sysRoleService;
  62. this.sysUserRoleService = sysUserRoleService;
  63. this.tokenManager = tokenManager;
  64. this.tAdminService = tAdminService;
  65. this.tAdminEquipmentService = tAdminEquipmentService;
  66. this.tMessageCodeService = tMessageCodeService;
  67. this.airwallexWalletService = airwallexWalletService;
  68. this.payFeign = payFeign;
  69. }
  70. private static final Logger logger = LoggerFactory.getLogger(TAdminController.class);
  71. @ApiOperation(value = "通过username查看用户的id和ifForeign")
  72. @GetMapping("/getIdIfForeign")
  73. public ResponseModel<TAdmin> getIdIfForeign(@RequestParam String username) {
  74. if (StringUtils.isEmpty(username)) {
  75. return R.fail("username为空");
  76. }
  77. LambdaQueryWrapper<TAdmin> lqw = Wrappers.lambdaQuery();
  78. lqw.eq(TAdmin::getUsername, username);
  79. List<TAdmin> list = tAdminService.list(lqw);
  80. if (list.isEmpty()) {
  81. return R.fail("username有误");
  82. } else if (list.size() > 1) {
  83. return R.fail("username不唯一");
  84. } else {
  85. return R.ok(list.get(0));
  86. }
  87. }
  88. @ApiOperation(value = "获取账户类型")
  89. @GetMapping("/getAdminType")
  90. public ResponseModel<Integer> getAdminType(@RequestParam Long adminId) {
  91. if (adminId != null) {
  92. LambdaQueryWrapper<TAdmin> wrapper = Wrappers.lambdaQuery();
  93. wrapper.eq(TAdmin::getId, adminId);
  94. TAdmin tAdmin = tAdminService.getOne(wrapper);
  95. Integer type = tAdmin.getType();
  96. return R.ok(type);
  97. }
  98. return R.fail("adminId无效");
  99. }
  100. @ApiOperation(value = "判断是否海外用户")
  101. @GetMapping("/getIfForeign/{adminId}")
  102. public ResponseModel<?> getIfForeign(@PathVariable Long adminId) {
  103. if (adminId != null) {
  104. LambdaQueryWrapper<TAdmin> wrapper = Wrappers.lambdaQuery();
  105. wrapper.eq(TAdmin::getId, adminId);
  106. TAdmin one = tAdminService.getOne(wrapper);
  107. String ifForeign = one.getIfForeign();
  108. return R.ok(ifForeign);
  109. }
  110. return R.fail("未登录");
  111. }
  112. @ApiOperation(value = "添加子账号")
  113. @PostMapping("/addLoginUser")
  114. @Transactional
  115. @Audit(type = AuditEnum.INSERT, content = "#loginUser.name + '添加账号'")
  116. public ResponseModel<?> addLoginUser(@RequestBody @Valid AddLoginUserParam param) {
  117. if (StringUtils.isEmpty(param.getEquipmentIds())) {
  118. return R.fail(ResponseCodesEnum.A0001, "机器不能为空");
  119. }
  120. if (param.getRoleList().size() < 1) {
  121. return R.fail(ResponseCodesEnum.A0001, "角色不能为空");
  122. }
  123. //获取当前操作人员
  124. UserDetailBO loginUser = tokenManager.getLoginUserDetails();
  125. // 保存用户实体
  126. Date now = new Date();
  127. Long parentId = param.getAdminId();
  128. if (parentId == null) {
  129. return R.fail(ResponseCodesEnum.A0001);
  130. }
  131. param.setAdminId(null);
  132. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  133. query.eq(TAdmin::getUsername, param.getUsername());
  134. // List<TAdmin> list = tAdminService.list(query);
  135. TAdmin admin = tAdminService.getOne(query);
  136. if (admin != null) {
  137. return R.fail(ResponseCodesEnum.A0001);
  138. }
  139. TAdmin entity = BeanUtil.copyProperties(param, TAdmin.class);
  140. entity.setParentId(parentId);
  141. if (parentId.toString().equals("1")) {
  142. entity.setType(1);
  143. } else {
  144. entity.setType(3);
  145. }
  146. // entity.setParentId(34l);
  147. entity.setIsAdmined(false);
  148. entity.setCreateDate(now);
  149. entity.setModifyDate(now);
  150. entity.setIsLocked(false);
  151. entity.setIsEnabled(true);
  152. entity.setLoginFailureCount(0);
  153. entity.setEmail(param.getEmail());
  154. entity.setPhone(param.getPhone());
  155. entity.setCompanyType(param.getCompanyType()); // 公司平台
  156. //获取父账号信息
  157. TAdmin parentAdmin = tAdminService.getById(parentId);
  158. entity.setIfForeign(parentAdmin.getIfForeign());
  159. tAdminService.save(entity);
  160. String ifForeign = parentAdmin.getIfForeign();
  161. if ("1".equals(ifForeign)) { // 海外子账户,新建一个 Airwallex 钱包账户
  162. TAirwallexWallet wallet = new TAirwallexWallet();
  163. wallet.setAdminId(entity.getId());
  164. payFeign.saveAirwallexWallet(wallet);
  165. }
  166. // 管理的机器 需要再建立一个关系表 type区分全部还是部分
  167. String equipmentIds = param.getEquipmentIds();
  168. if (StringUtils.isNotEmpty(equipmentIds)) {
  169. if (equipmentIds.equals("all")) {
  170. //管理全部机器
  171. TAdminEquipment tAdminEquipment = new TAdminEquipment();
  172. tAdminEquipment.setAdminId(entity.getId());
  173. //0:全部机器,1:部分机器
  174. tAdminEquipment.setType("0");
  175. tAdminEquipmentService.save(tAdminEquipment);
  176. } else {
  177. //部分机器
  178. TAdminEquipment tAdminEquipment = new TAdminEquipment();
  179. tAdminEquipment.setAdminId(entity.getId());
  180. //0:全部机器,1:部分机器
  181. tAdminEquipment.setType("1");
  182. tAdminEquipment.setEquipmentIds(param.getEquipmentIds());
  183. tAdminEquipmentService.save(tAdminEquipment);
  184. }
  185. }
  186. log.debug("添加账号 id:{},TAdmin:{}", entity.getId(), entity);
  187. // 保存用户角色关系
  188. List<SysUserRole> userRoleList = param.getRoleList()
  189. .stream()
  190. .map(e -> new SysUserRole().setRoleId(e).setUserId(String.valueOf(entity.getId())))
  191. .collect(Collectors.toList());
  192. if (CollUtil.isNotEmpty(userRoleList)) {
  193. sysUserRoleService.saveBatch(userRoleList);
  194. }
  195. return R.ok(entity);
  196. }
  197. @ApiOperation(value = "修改子账号")
  198. @PostMapping("/updateLoginUser")
  199. @Transactional
  200. @Audit(type = AuditEnum.UPDATE, content = "#loginUser.name + '修改账号'")
  201. public ResponseModel<?> updateLoginUser(@RequestBody @Valid UpdateLoginUserParam param) {
  202. // public ResponseModel<?> addLoginUser(@RequestBody AddLoginUserParam param) {
  203. //获取当前操作人员
  204. UserDetailBO loginUser = tokenManager.getLoginUserDetails();
  205. // 保存用户实体
  206. Date now = new Date();
  207. Long parentId = param.getAdminId();
  208. if (parentId == null) {
  209. return R.fail(ResponseCodesEnum.A0001);
  210. }
  211. param.setAdminId(null);
  212. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  213. query.eq(TAdmin::getParentId, parentId);
  214. query.eq(TAdmin::getId, param.getId());
  215. List<TAdmin> list = tAdminService.list(query);
  216. if (list.size() > 0) {
  217. TAdmin admin = list.get(0);
  218. // 管理的机器 需要再建立一个关系表 type区分全部还是部分
  219. String equipmentIds = param.getEquipmentIds();
  220. if (StringUtils.isNotEmpty(equipmentIds)) {
  221. LambdaQueryWrapper<TAdminEquipment> query1 = Wrappers.lambdaQuery();
  222. query1.eq(TAdminEquipment::getAdminId, admin.getId());
  223. List<TAdminEquipment> list1 = tAdminEquipmentService.list(query1);
  224. if (list1.size() > 0) {
  225. TAdminEquipment tAdminEquipment1 = list1.get(0);
  226. if (equipmentIds.equals("all")) {
  227. //管理全部机器
  228. //0:全部机器,1:部分机器
  229. tAdminEquipment1.setType("0");
  230. tAdminEquipment1.setEquipmentIds(null);
  231. } else {
  232. //部分机器
  233. //0:全部机器,1:部分机器
  234. tAdminEquipment1.setType("1");
  235. tAdminEquipment1.setEquipmentIds(param.getEquipmentIds());
  236. }
  237. tAdminEquipmentService.updateById(tAdminEquipment1);
  238. }
  239. }
  240. LambdaQueryWrapper<SysUserRole> query1 = Wrappers.lambdaQuery();
  241. query1.eq(SysUserRole::getUserId, admin.getId());
  242. List<SysUserRole> list1 = sysUserRoleService.list(query1);
  243. if (list1.size() > 0) {
  244. for (SysUserRole sysUserRole : list1) {
  245. sysUserRoleService.removeById(sysUserRole.getId());
  246. }
  247. }
  248. // 保存用户角色关系
  249. List<SysUserRole> userRoleList = param.getRoleList()
  250. .stream()
  251. .map(e -> new SysUserRole().setRoleId(e).setUserId(String.valueOf(admin.getId())))
  252. .collect(Collectors.toList());
  253. if (CollUtil.isNotEmpty(userRoleList)) {
  254. sysUserRoleService.saveBatch(userRoleList);
  255. }
  256. admin.setIsEnabled(param.getIsEnabled());
  257. admin.setPhone(param.getPhone());
  258. admin.setEmail(param.getEmail());
  259. admin.setIsEnabled(param.getIsEnabled());
  260. if (StringUtils.isNotEmpty(param.getPassword())) {
  261. admin.setPassword(param.getPassword());
  262. }
  263. tAdminService.updateById(admin);
  264. log.debug("修改账号 id:{},TAdmin:{}", admin.getId(), admin);
  265. return R.ok(admin);
  266. }
  267. return R.fail(ResponseCodesEnum.A0100);
  268. }
  269. @ApiOperation(value = "删除子账号")
  270. @PostMapping("/deleteLoginUser")
  271. @Transactional
  272. @Audit(type = AuditEnum.DELETE, content = "#loginUser.name + '删除账号'")
  273. public ResponseModel<?> deleteLoginUser(@RequestBody @Valid UpdateLoginUserParam param) {
  274. //获取当前操作人员
  275. UserDetailBO loginUser = tokenManager.getLoginUserDetails();
  276. // 保存用户实体
  277. Date now = new Date();
  278. Long parentId = param.getAdminId();
  279. if (parentId == null) {
  280. return R.fail(ResponseCodesEnum.A0001);
  281. }
  282. param.setAdminId(null);
  283. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  284. query.like(TAdmin::getParentId, parentId);
  285. query.like(TAdmin::getId, param.getId());
  286. List<TAdmin> list = tAdminService.list(query);
  287. if (list.size() > 0) {
  288. TAdmin admin = list.get(0);
  289. // 管理的机器 需要再建立一个关系表 type区分全部还是部分
  290. String equipmentIds = param.getEquipmentIds();
  291. if (StringUtils.isNotEmpty(equipmentIds)) {
  292. LambdaQueryWrapper<TAdminEquipment> query1 = Wrappers.lambdaQuery();
  293. query1.eq(TAdminEquipment::getAdminId, admin.getId());
  294. List<TAdminEquipment> list1 = tAdminEquipmentService.list(query1);
  295. if (list1.size() > 0) {
  296. TAdminEquipment tAdminEquipment1 = list1.get(0);
  297. tAdminEquipmentService.removeById(tAdminEquipment1.getAdminId());
  298. }
  299. }
  300. // 用户角色关系
  301. LambdaQueryWrapper<SysUserRole> query2 = Wrappers.lambdaQuery();
  302. query2.eq(SysUserRole::getUserId, admin.getId());
  303. List<SysUserRole> list2 = sysUserRoleService.list(query2);
  304. if (list2.size() > 0) {
  305. SysUserRole sysUserRole = list2.get(0);
  306. sysUserRoleService.removeById(sysUserRole.getId());
  307. }
  308. tAdminService.removeById(admin.getId());
  309. log.debug("删除账号 id:{},TAdmin:{}", admin.getId(), admin);
  310. return R.ok(admin);
  311. }
  312. return R.fail(ResponseCodesEnum.A0100);
  313. }
  314. @ApiOperation(value = "获取所有子账号信息")
  315. @GetMapping("/getChildDrenAdminList")
  316. public ResponseModel<?> getChildDrenAdminList(String adminId, String userName, String name, String isUse) {
  317. List<AddLoginUserParam> returnList = new ArrayList<>();
  318. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  319. query.eq(TAdmin::getParentId, adminId);
  320. if (StringUtils.isNotEmpty(userName)) {
  321. query.eq(TAdmin::getUsername, userName);
  322. }
  323. if (StringUtils.isNotEmpty(name)) {
  324. query.eq(TAdmin::getName, name);
  325. }
  326. if (StringUtils.isNotEmpty(adminId)) {
  327. if (adminId.equals("1")) {
  328. // query.in(TAdmin::getType,"1","3");
  329. query.eq(TAdmin::getType, "1");
  330. } else {
  331. query.eq(TAdmin::getType, "3");
  332. }
  333. } else {
  334. return R.fail(ResponseCodesEnum.A0100);
  335. }
  336. query.eq(TAdmin::getIsAdmined, false);
  337. List<TAdmin> list = tAdminService.list(query);
  338. if (list.size() > 0) {
  339. for (TAdmin admin : list) {
  340. AddLoginUserParam addLoginUserParam = new AddLoginUserParam();
  341. JSONObject jsonObject = new JSONObject();
  342. addLoginUserParam.setUsername(admin.getUsername());
  343. addLoginUserParam.setName(admin.getName());
  344. addLoginUserParam.setEmail(admin.getEmail());
  345. addLoginUserParam.setPhone(admin.getPhone());
  346. addLoginUserParam.setIsEnabled(admin.getIsEnabled());
  347. addLoginUserParam.setId(admin.getId());
  348. LambdaQueryWrapper<TAdminEquipment> query2 = Wrappers.lambdaQuery();
  349. query2.eq(TAdminEquipment::getAdminId, admin.getId());
  350. List<TAdminEquipment> list1 = tAdminEquipmentService.list(query2);
  351. if (list1.size() > 0) {
  352. TAdminEquipment tAdminEquipment1 = list1.get(0);
  353. if (tAdminEquipment1.getType().equals("0")) {
  354. //管理全部机器
  355. //0:全部机器,1:部分机器
  356. tAdminEquipment1.setType("0");
  357. tAdminEquipment1.setEquipmentIds(null);
  358. addLoginUserParam.setEquipmentIds("all");
  359. } else {
  360. //部分机器
  361. //0:全部机器,1:部分机器
  362. tAdminEquipment1.setType("1");
  363. addLoginUserParam.setEquipmentIds(tAdminEquipment1.getEquipmentIds());
  364. }
  365. }
  366. LambdaQueryWrapper<SysUserRole> query1 = Wrappers.lambdaQuery();
  367. query1.eq(SysUserRole::getUserId, admin.getId());
  368. List<SysUserRole> roleList = sysUserRoleService.list(query1);
  369. List<String> ids = new ArrayList<>();
  370. StringBuilder roleName = new StringBuilder();
  371. if (roleList.size() > 0) {
  372. for (int i = 0; i < roleList.size(); i++) {
  373. SysUserRole sysUserRole = roleList.get(0);
  374. ids.add(sysUserRole.getRoleId());
  375. SysRole sysRole = sysRoleService.getById(sysUserRole.getRoleId());
  376. if (i < roleList.size() - 1) {
  377. roleName.append(sysRole.getRoleName()).append(",");
  378. } else {
  379. roleName.append(sysRole.getRoleName());
  380. }
  381. // addLoginUserParam.setRoleName(roleName);
  382. // List<String> list2 = Arrays.asList(sysRole.getMenuCodesJson().split(","));
  383. // addLoginUserParam.setRoleList(list2);
  384. }
  385. }
  386. addLoginUserParam.setRoleName(roleName.toString());
  387. addLoginUserParam.setRoleList(ids);
  388. returnList.add(addLoginUserParam);
  389. }
  390. }
  391. return R.ok(returnList);
  392. }
  393. @ApiOperation(value = "注册账号/用户注册")
  394. @PostMapping("/save")
  395. @Transactional
  396. @Audit(type = AuditEnum.INSERT, content = "#loginUser.name + '注册账号'")
  397. public ResponseModel<?> save(@RequestBody RegisterParamDTO registerParam) {
  398. if (StringUtils.isEmpty(registerParam.getUsername()) || StringUtils.isEmpty(registerParam.getName()) || StringUtils.isEmpty(registerParam.getPassword())) {
  399. return R.fail(ResponseCodesEnum.A0100, "数据有空!");
  400. }
  401. String phoneOrEmail = registerParam.getPhoneOrEmail();
  402. // 定义国内手机号和邮箱的正则表达式
  403. String phoneReg = "^1[3-9]\\d{9}$";
  404. String emailReg = "^[a-zA-Z0-9_-]+([a-zA-Z0-9_.-]*[a-zA-Z0-9])*@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
  405. if (registerParam.getIfForeign().isEmpty()) {
  406. return R.fail(ResponseCodesEnum.A0001, "是否国内外为空!");
  407. }
  408. // 国内用户注册
  409. if (registerParam.getIfForeign().equals("0")) {
  410. // 判断 phoneOrEmail 是手机号还是邮箱
  411. if (Pattern.matches(phoneReg, phoneOrEmail)) {
  412. System.out.println("这是一个手机号");
  413. if (StringUtils.isEmpty(registerParam.getPhoneOrEmail())) {
  414. return R.fail(ResponseCodesEnum.A0100, "手机号为空!");
  415. }
  416. } else if (Pattern.matches(emailReg, phoneOrEmail)) {
  417. System.out.println("这是一个邮箱地址");
  418. if (StringUtils.isEmpty(registerParam.getPhoneOrEmail())) {
  419. return R.fail(ResponseCodesEnum.A0100, "邮箱为空!");
  420. }
  421. } else {
  422. System.out.println("不是有效的手机号或邮箱地址");
  423. return R.fail(ResponseCodesEnum.A0100, "不是有效的手机号或邮箱地址");
  424. }
  425. } else {
  426. //海外用户注册
  427. if (StringUtils.isEmpty(registerParam.getPhoneOrEmail())) {
  428. return R.fail(ResponseCodesEnum.A0100, "邮箱为空!");
  429. }
  430. }
  431. if (StringUtils.isEmpty(registerParam.getCode())) {
  432. return R.fail(ResponseCodesEnum.A0100, "验证码为空!");
  433. }
  434. //校验是否有重复的
  435. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  436. query.eq(TAdmin::getUsername, registerParam.getUsername());
  437. List<TAdmin> list = tAdminService.list(query);
  438. if (list.size() > 0) {
  439. return R.fail(ResponseCodesEnum.A0201, "用户登录名已存在");
  440. }
  441. LambdaQueryWrapper<TAdmin> query1 = Wrappers.lambdaQuery();
  442. if (registerParam.getIfForeign().equals("0")) {
  443. // 国内分两种
  444. if (Pattern.matches(phoneReg, phoneOrEmail)) {
  445. query1.eq(TAdmin::getPhone, registerParam.getPhoneOrEmail());
  446. } else {
  447. query1.eq(TAdmin::getEmail, registerParam.getPhoneOrEmail());
  448. }
  449. } else {
  450. query1.eq(TAdmin::getEmail, registerParam.getPhoneOrEmail());
  451. }
  452. List<TAdmin> list1 = tAdminService.list(query1);
  453. if (list1.size() > 0) {
  454. return R.fail(ResponseCodesEnum.A0203, "用户手机/邮箱已存在");
  455. }
  456. //校验验证码是否正确
  457. LambdaQueryWrapper<TMessageCode> query2 = Wrappers.lambdaQuery();
  458. if (registerParam.getIfForeign().equals("0")) {
  459. // 国内分两种
  460. if (Pattern.matches(phoneReg, phoneOrEmail)) {
  461. query2.eq(TMessageCode::getPhone, registerParam.getPhoneOrEmail());
  462. } else {
  463. query2.eq(TMessageCode::getPhone, registerParam.getPhoneOrEmail());
  464. }
  465. } else {
  466. query2.eq(TMessageCode::getPhone, registerParam.getPhoneOrEmail());
  467. }
  468. // 0,代表注册验证码
  469. query2.eq(TMessageCode::getType, "0");
  470. query2.eq(TMessageCode::getStatus, "0");
  471. List<TMessageCode> messageCodeList = tMessageCodeService.list(query2);
  472. TAdmin admin = new TAdmin();
  473. if (messageCodeList.size() > 0) {
  474. TMessageCode tMessageCode = messageCodeList.get(messageCodeList.size() - 1);
  475. if (!tMessageCode.getCode().equals(registerParam.getCode())) {
  476. return R.fail(ResponseCodesEnum.A0002, "验证码错误");
  477. }
  478. tMessageCode.setStatus("1");
  479. // admin.setId(IDGenerator.commonID()); // admin 表改回原来的自增ID
  480. admin.setCreateDate(new Date());
  481. admin.setModifyDate(new Date());
  482. admin.setIsAdmined(true);
  483. admin.setIsEnabled(true);
  484. admin.setLoginFailureCount(0);
  485. admin.setIsLocked(false);
  486. //默认是商家
  487. admin.setType(2);
  488. admin.setPassword(registerParam.getPassword());
  489. admin.setUsername(registerParam.getUsername());
  490. admin.setName(registerParam.getName());
  491. admin.setIfForeign(registerParam.getIfForeign());
  492. if (registerParam.getIfForeign().equals("1")) {
  493. admin.setPromoCodeOpen("0");
  494. }
  495. admin.setCompanyType(registerParam.getCompanyType());
  496. if (Pattern.matches(phoneReg, phoneOrEmail)) {
  497. admin.setPhone(registerParam.getPhoneOrEmail());
  498. } else if (Pattern.matches(emailReg, phoneOrEmail)) {
  499. admin.setEmail(registerParam.getPhoneOrEmail());
  500. } else {
  501. return R.fail(ResponseCodesEnum.A0100, "不是有效的手机号或邮箱地址");
  502. }
  503. if (registerParam.getCompanyType().equals("1")) { // 如果是七云平台
  504. admin.setTradeMerchantNo("777138500523174"); //七云商户报备号
  505. admin.setPayPlatform("1");
  506. } else {
  507. admin.setPayPlatform("0");
  508. }
  509. boolean b = tAdminService.save(admin);
  510. tMessageCodeService.saveOrUpdate(tMessageCode);
  511. if (b) {
  512. // 绑定商家角色
  513. LambdaQueryWrapper<SysRole> query4 = Wrappers.lambdaQuery();
  514. query4.eq(SysRole::getAdminId, "1");
  515. query4.eq(SysRole::getRoleName, "商家");
  516. List<SysRole> list2 = sysRoleService.list(query4);
  517. if (list2.size() > 0) {
  518. SysRole sysRole = list2.get(0);
  519. SysRole newSysRole = new SysRole();
  520. newSysRole.setAdminId(admin.getId());
  521. newSysRole.setMenuCodesJson(sysRole.getMenuCodesJson());
  522. newSysRole.setRoleName("商家");
  523. sysRoleService.save(newSysRole);
  524. SysUserRole sysUserRole = new SysUserRole();
  525. sysUserRole.setRoleId(newSysRole.getRoleId());
  526. sysUserRole.setUserId(String.valueOf(admin.getId()));
  527. boolean save = sysUserRoleService.save(sysUserRole);
  528. }
  529. tMessageCode.setModifyDate(new Date());
  530. if (admin.getId() != null) {
  531. String managerId = AdminUtils.encrypt(false, admin.getId());
  532. admin.setManagerId(managerId);
  533. tAdminService.getById(admin);
  534. // 新建海外账户的时候创建一个 Airwallex 钱包账户
  535. try {
  536. if ("1".equals(registerParam.getIfForeign())) {
  537. TAirwallexWallet wallet = new TAirwallexWallet();
  538. wallet.setAdminId(admin.getId());
  539. // wallet.setAccountCurrency("USD");
  540. // wallet.setAccountAmount(new BigDecimal("0.00"));
  541. // airwallexWalletService.save(wallet);
  542. // System.out.println("wallet >>> " + wallet);
  543. payFeign.saveAirwallexWallet(wallet);
  544. }
  545. } catch (Exception e) {
  546. logger.error("发生异常》》》:" + e.getMessage(), e);
  547. }
  548. }
  549. }
  550. return R.ok(b);
  551. } else {
  552. return R.fail(ResponseCodesEnum.A0002, "没有找到验证码");
  553. }
  554. }
  555. @ApiOperation(value = "登录")
  556. @PostMapping("/login")
  557. @Audit(type = AuditEnum.LOGIN, content = "#username + '请求登录'")
  558. public ResponseModel<UserDetailBO> login(String username, String password, String hostName, HttpServletRequest request) {
  559. if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
  560. return R.fail(ResponseCodesEnum.A0001, "参数有空");
  561. }
  562. //验证用户名登录
  563. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  564. query.eq(TAdmin::getPassword, password);
  565. query.and(
  566. wrapper -> {
  567. wrapper.eq(TAdmin::getUsername, username)
  568. .or().eq(TAdmin::getPhone, username);
  569. }
  570. );
  571. TAdmin tAdmin = Optional.ofNullable(tAdminService.getOnly(query))
  572. .orElseThrow(() -> new BizException(ResponseCodesEnum.L0002));
  573. // 判断是为申泽用户还是七云用户
  574. String companyType = tAdmin.getCompanyType();
  575. String SZ = "Sunzee";
  576. String SC = "Sevencloud";
  577. // 如果不为管理员
  578. if (tAdmin.getType() >= 1) {
  579. if (SZ.equals(hostName)) {
  580. // 如果companyType不为空,且不等于“0”
  581. if (StringUtils.isNotEmpty(companyType) && !companyType.equals("0")) {
  582. return R.fail(ResponseCodesEnum.L0002);
  583. }
  584. }
  585. if (SC.equals(hostName)) {
  586. // 如果companyType为空,或者不等于“1”
  587. if (StringUtils.isEmpty(companyType) || !(companyType.equals("1"))) {
  588. return R.fail(ResponseCodesEnum.L0002);
  589. }
  590. }
  591. }
  592. // 添加系统id
  593. if (StringUtils.isEmpty(tAdmin.getManagerId())) {
  594. String managerId = AdminUtils.encrypt(false, tAdmin.getId());
  595. tAdmin.setManagerId(managerId);
  596. }
  597. // 设置登录时间
  598. tAdmin.setLoginDate(new Date());
  599. // 登录IP
  600. String ipAddress = null;
  601. // 获取通过代理服务器传递的真实IP地址
  602. String xForwardedForHeader = request.getHeader("X-Forwarded-For");
  603. if (xForwardedForHeader == null) {
  604. ipAddress = request.getRemoteAddr();
  605. } else {
  606. // 多次反向代理后会有多个IP值,第一个IP才是真实IP
  607. String[] ips = xForwardedForHeader.split(",");
  608. ipAddress = ips[0].trim();
  609. }
  610. tAdmin.setLoginIp(ipAddress);
  611. tAdminService.updateById(tAdmin);
  612. UserDetailBO userDetailBO = tAdminService.getUserDetailBO(tAdmin);
  613. return R.ok(userDetailBO);
  614. }
  615. @ApiOperation(value = "切换自动登录")
  616. @GetMapping("/autoLogin")
  617. @Audit(type = AuditEnum.LOGIN, content = "切换登录'")
  618. public ResponseModel<UserDetailBO> autoLogin(@RequestParam String id) {
  619. if (StringUtils.isEmpty(id)) {
  620. return R.fail(ResponseCodesEnum.A0001, "参数有空");
  621. }
  622. //验证用户名登录
  623. Long adminId = Long.valueOf(id);
  624. TAdmin admin = tAdminService.getById(adminId);
  625. TAdmin tAdmin = Optional.ofNullable(admin)
  626. .orElseThrow(() -> new BizException(ResponseCodesEnum.L0002));
  627. // 添加系统id
  628. if (StringUtils.isEmpty(tAdmin.getManagerId())) {
  629. String managerId = AdminUtils.encrypt(false, tAdmin.getId());
  630. tAdmin.setManagerId(managerId);
  631. tAdminService.getById(tAdmin);
  632. }
  633. UserDetailBO userDetailBO = tAdminService.getUserDetailBO(tAdmin);
  634. return R.ok(userDetailBO);
  635. }
  636. @ApiOperation(value = "修改密码")
  637. @PostMapping("/updatePassword")
  638. public ResponseModel<?> updatePassword(String username, String password) {
  639. if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
  640. return R.fail(ResponseCodesEnum.A0001, "参数有空");
  641. }
  642. //查找用户名
  643. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  644. query.eq(TAdmin::getUsername, username);
  645. List<TAdmin> list = tAdminService.list(query);
  646. if (list.size() > 0) {
  647. TAdmin admin = list.get(0);
  648. admin.setPassword(password);
  649. boolean b = tAdminService.saveOrUpdate(admin);
  650. return R.ok(b);
  651. }
  652. return R.fail(ResponseCodesEnum.A0001, "修改失败");
  653. }
  654. @ApiOperation(value = "获取账号信息")
  655. @GetMapping("/getAdmin")
  656. public ResponseModel<TAdmin> getAdmin(@RequestParam String id) {
  657. // TAdmin tAdmin = tAdminService.getById(id);
  658. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  659. // query.eq(TAdmin::getUsername,username);
  660. query.eq(TAdmin::getId, id);
  661. TAdmin tAdmin = Optional.ofNullable(tAdminService.getOnly(query))
  662. .orElseThrow(() -> new BizException(ResponseCodesEnum.L0002));
  663. if (StringUtils.isEmpty(tAdmin.getManagerId())) {
  664. String managerId = AdminUtils.encrypt(false, tAdmin.getId());
  665. tAdmin.setManagerId(managerId);
  666. tAdminService.getById(tAdmin);
  667. }
  668. UserDetailBO userDetailBO = BeanUtil.copyProperties(tAdmin, UserDetailBO.class);
  669. // String token = IdUtil.simpleUUID();
  670. // userDetailBO.setCurrentToken(token);
  671. // // 获取拥有的权限菜单
  672. // Set<String> menuList = sysRoleService.listAuthMenuByUserId(userDetailBO.getId());
  673. // userDetailBO.setMenuCodeList(CollUtil.newArrayList(menuList));
  674. // 抹除密码
  675. // userDetailBO.setPassword(null);
  676. // 保存到redis
  677. // tokenManager.saveAuthentication(token,userDetailBO);
  678. return R.ok(userDetailBO);
  679. }
  680. @ApiOperation(value = "获取账号列表 分页")
  681. @GetMapping("/pageAdmin")
  682. public ResponseModel<IPage<?>> pageAdmin(String id, String name, String userName, String ifForeign,
  683. long current, long size) {
  684. if (StringUtils.isEmpty(id)) {
  685. return R.fail(ResponseCodesEnum.A0001, "null参数");
  686. }
  687. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  688. if (StringUtils.isNotEmpty(name)) {
  689. query.like(TAdmin::getName, name);
  690. }
  691. if (StringUtils.isNotEmpty(userName)) {
  692. query.like(TAdmin::getUsername, userName);
  693. }
  694. if (StringUtils.isNotEmpty(ifForeign)) {
  695. query.eq(TAdmin::getIfForeign, ifForeign);
  696. }
  697. if (StringUtils.isNotEmpty(id)) {
  698. TAdmin admin = tAdminService.getById(id);
  699. if (admin == null || admin.getId() == null) {
  700. return R.fail(ResponseCodesEnum.A0001, "没有找到商家");
  701. }
  702. // 申泽平台管理员
  703. if (admin.getId() == 2738) {
  704. query.isNull(TAdmin::getCompanyType).or()
  705. .eq(TAdmin::getCompanyType, "0");
  706. }
  707. // 七云平台管理员
  708. if (admin.getId() == 2739) {
  709. query.eq(TAdmin::getCompanyType, "1");
  710. }
  711. if (admin.getType() > 1) {
  712. query.eq(TAdmin::getRelationAdminId, id);
  713. }
  714. }
  715. query.eq(TAdmin::getType, "2");
  716. query.orderByDesc(TAdmin::getCreateDate);
  717. Page<TAdmin> page = new Page<>(current, size, true);
  718. IPage<TAdmin> iPage = tAdminService.page(page, query);
  719. return R.ok(iPage);
  720. }
  721. @ApiOperation(value = "获取账号列表 分页")
  722. @GetMapping("/pageAdmin2")
  723. public ResponseModel<IPage<TAdmin>> pageAdmin2(@RequestParam(value = "current") long current,
  724. @RequestParam(value = "size") long size) {
  725. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  726. Page<TAdmin> page = new Page<>(current, size, true);
  727. IPage<TAdmin> iPage = tAdminService.page(page, query);
  728. return R.ok(iPage);
  729. }
  730. @ApiOperation(value = "获取账号列表")
  731. @GetMapping("/listAdmin")
  732. public ResponseModel<?> listAdmin(String adminId) {
  733. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  734. if (StringUtils.isNotEmpty(adminId)) {
  735. query.like(TAdmin::getRelationAdminId, adminId);
  736. }
  737. List<TAdmin> list = tAdminService.list(query);
  738. return R.ok(list);
  739. }
  740. @ApiOperation(value = "修改账号")
  741. @PostMapping("/update")
  742. @Transactional
  743. public ResponseModel<?> update(@RequestBody TAdmin admin) {
  744. if (StringUtils.isEmpty(admin.getUsername()) && admin.getId() == null) {
  745. return R.fail(ResponseCodesEnum.A0001, "参数空");
  746. }
  747. //校验是否有重复的
  748. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  749. if (StringUtils.isNotEmpty(admin.getUsername())) {
  750. query.eq(TAdmin::getUsername, admin.getUsername());
  751. }
  752. if (admin.getId() != null) {
  753. query.eq(TAdmin::getId, admin.getId());
  754. }
  755. List<TAdmin> list = tAdminService.list(query);
  756. TAdmin oldAdmin = list.get(0);
  757. if (StringUtils.isNotEmpty(admin.getPassword())) {
  758. oldAdmin.setPassword(admin.getPassword());
  759. }
  760. if (StringUtils.isNotEmpty(admin.getName())) {
  761. oldAdmin.setName(admin.getName());
  762. }
  763. if (admin.getAreaId() != null) {
  764. oldAdmin.setAreaId(admin.getAreaId());
  765. }
  766. if (StringUtils.isNotEmpty(admin.getIfForeign())) {
  767. oldAdmin.setIfForeign(admin.getIfForeign());
  768. }
  769. if (StringUtils.isNotEmpty(admin.getTradeMerchantNo())) {
  770. oldAdmin.setTradeMerchantNo(admin.getTradeMerchantNo());
  771. }
  772. if (StringUtils.isNotEmpty(admin.getPayPlatform())) {
  773. oldAdmin.setPayPlatform(admin.getPayPlatform());
  774. }
  775. if (StringUtils.isNotEmpty(admin.getPromoCodeOpen())) {
  776. oldAdmin.setPromoCodeOpen(admin.getPromoCodeOpen());
  777. }
  778. if (StringUtils.isNotEmpty(admin.getPhone())) {
  779. oldAdmin.setPhone(admin.getPhone());
  780. }
  781. if (StringUtils.isNotEmpty(admin.getEmail())) {
  782. oldAdmin.setEmail(admin.getEmail());
  783. }
  784. if (StringUtils.isNotEmpty(admin.getCurrencySymbol())) {
  785. oldAdmin.setCurrencySymbol(admin.getCurrencySymbol());
  786. } else {
  787. oldAdmin.setCurrencySymbol("¥");
  788. }
  789. if (admin.getApplyStartTime() != null) {
  790. oldAdmin.setApplyStartTime(admin.getApplyStartTime());
  791. }
  792. if (admin.getApplyEndTime() != null) {
  793. oldAdmin.setApplyEndTime(admin.getApplyEndTime());
  794. }
  795. oldAdmin.setModifyDate(new Date());
  796. tAdminService.updateById(oldAdmin);
  797. return R.ok(null, "修改成功");
  798. }
  799. @ApiOperation(value = "绑定上级账户")
  800. @GetMapping("/setRelationAdmin")
  801. @Transactional
  802. public ResponseModel<?> setRelationAdmin(Long adminId, String username) {
  803. TAdmin admin = tAdminService.getById(adminId);
  804. if (StringUtils.isNotEmpty(username)) {
  805. if (StringUtils.isNotEmpty(admin.getRelationAdminId())) {
  806. return R.fail("已有绑定关系");
  807. }
  808. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  809. query.eq(TAdmin::getUsername, username);
  810. List<TAdmin> list = tAdminService.list(query);
  811. if (list.size() > 0) {
  812. TAdmin parentAdmin = list.get(0);
  813. if (StringUtils.isNotEmpty(parentAdmin.getRelationAdminId()) && parentAdmin.getRelationAdminId().equals(admin.getId().toString())) {
  814. return R.fail("不能互为绑定关系");
  815. } else {
  816. admin.setRelationAdminId(String.valueOf(parentAdmin.getId()));
  817. tAdminService.updateById(admin);
  818. }
  819. } else {
  820. return R.fail("找不到账户");
  821. }
  822. } else {
  823. return R.fail(ResponseCodesEnum.A0001);
  824. }
  825. return R.ok(null, "绑定成功");
  826. }
  827. @ApiOperation(value = "获取所有关联(下级)账号信息")
  828. @GetMapping("/getAdminIdList")
  829. public ResponseModel<List<Long>> getAdminIdList(@RequestParam String adminId) {
  830. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  831. query.eq(TAdmin::getRelationAdminId, adminId);
  832. List<TAdmin> list = tAdminService.list(query);
  833. List<Long> idList = new ArrayList<>();
  834. for (TAdmin admin : list) {
  835. idList.add(admin.getId());
  836. }
  837. return R.ok(idList);
  838. }
  839. @ApiOperation(value = "获取所有关联(下级)账号信息")
  840. @GetMapping("/getAdminList")
  841. public ResponseModel<?> getAdminList(String adminId) {
  842. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  843. query.eq(TAdmin::getRelationAdminId, adminId);
  844. List<TAdmin> list = tAdminService.list(query);
  845. return R.ok(list);
  846. }
  847. @ApiOperation(value = "获取admin信息")
  848. @GetMapping("/getAdminOne/{adminId}")
  849. public ResponseModel<?> getAdminOne(@PathVariable Long adminId) {
  850. LambdaQueryWrapper<TAdmin> wrapper = Wrappers.lambdaQuery();
  851. wrapper.eq(TAdmin::getId, adminId);
  852. TAdmin admin = tAdminService.getOne(wrapper);
  853. if (Objects.isNull(admin)) {
  854. return R.fail("当前用户不存在");
  855. }
  856. return R.ok(admin);
  857. }
  858. @ApiOperation(value = "获取账号信息byname")
  859. @GetMapping("/getAdminByUsername")
  860. public ResponseModel<TAdmin> getAdminByUsername(@RequestParam String username) {
  861. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  862. query.eq(TAdmin::getUsername, username);
  863. List<TAdmin> list = tAdminService.list(query);
  864. if (list.size() > 0) {
  865. TAdmin tAdmin = list.get(0);
  866. return R.ok(tAdmin);
  867. }
  868. return R.ok();
  869. }
  870. @ApiOperation(value = "获取上级账号名")
  871. @GetMapping("/getRelationAdminUsername")
  872. public String getRelationAdminUsername(String relationAdminId) {
  873. TAdmin admin = tAdminService.getById(relationAdminId);
  874. return admin.getUsername();
  875. }
  876. @ApiOperation(value = "批量设置账户的角色")
  877. @GetMapping("/setRole")
  878. public ResponseModel<?> setRole() {
  879. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  880. query.eq(TAdmin::getType, "2");
  881. List<TAdmin> list = tAdminService.list(query);
  882. if (list.size() > 0) {
  883. for (TAdmin admin : list) {
  884. // 绑定商家角色
  885. LambdaQueryWrapper<SysRole> query4 = Wrappers.lambdaQuery();
  886. query4.eq(SysRole::getAdminId, "1");
  887. query4.eq(SysRole::getRoleName, "商家");
  888. List<SysRole> list2 = sysRoleService.list(query4);
  889. if (list2.size() > 0) {
  890. SysRole sysRole = list2.get(0);
  891. SysRole newSysRole = new SysRole();
  892. newSysRole.setAdminId(admin.getId());
  893. newSysRole.setMenuCodesJson(sysRole.getMenuCodesJson());
  894. newSysRole.setRoleName("商家");
  895. sysRoleService.save(newSysRole);
  896. SysUserRole sysUserRole = new SysUserRole();
  897. sysUserRole.setRoleId(newSysRole.getRoleId());
  898. sysUserRole.setUserId(String.valueOf(admin.getId()));
  899. boolean save = sysUserRoleService.save(sysUserRole);
  900. }
  901. }
  902. }
  903. return R.ok();
  904. }
  905. @ApiOperation(value = "批量设置账户的关联上级")
  906. @GetMapping("/setRelation")
  907. public ResponseModel<?> setRelation() {
  908. List<TAdmin> list = tAdminService.list();
  909. if (list.size() > 0) {
  910. for (TAdmin admin : list) {
  911. if (admin.getParentId() != null) {
  912. admin.setRelationAdminId(admin.getParentId().toString());
  913. tAdminService.updateById(admin);
  914. }
  915. }
  916. }
  917. return R.ok();
  918. }
  919. @ApiOperation(value = "批量修改支付平台")
  920. @GetMapping("/updatePayPlatform")
  921. public ResponseModel<?> updatePayPlatform(@RequestParam String id, @RequestParam String payPlatform) {
  922. Integer adminId = Integer.valueOf(id);
  923. UpdateWrapper<TAdmin> updateWrapper = new UpdateWrapper<>();
  924. // 申泽管理员
  925. if (adminId == 2738) {
  926. updateWrapper.isNull("company_type").or().eq("company_type", 0);
  927. }
  928. // 七云管理员
  929. if (adminId == 2739) {
  930. updateWrapper.eq("company_type", 1);
  931. }
  932. updateWrapper.set("pay_platform", payPlatform);
  933. tAdminService.update(null, updateWrapper);
  934. return R.ok();
  935. }
  936. @ApiOperation(value = "一键迁移")
  937. @GetMapping("/oneKeyMigration")
  938. public ResponseModel<?> oneKeyMigration(Long adminId) {
  939. LambdaQueryWrapper<SysRole> query4 = Wrappers.lambdaQuery();
  940. query4.eq(SysRole::getAdminId, "1");
  941. query4.eq(SysRole::getRoleName, "商家");
  942. List<SysRole> list2 = sysRoleService.list(query4);
  943. if (list2.size() > 0) {
  944. SysRole sysRole = list2.get(0);
  945. SysRole newSysRole = new SysRole();
  946. newSysRole.setAdminId(adminId);
  947. newSysRole.setMenuCodesJson(sysRole.getMenuCodesJson());
  948. newSysRole.setRoleName("商家");
  949. sysRoleService.save(newSysRole);
  950. SysUserRole sysUserRole = new SysUserRole();
  951. sysUserRole.setRoleId(newSysRole.getRoleId());
  952. sysUserRole.setUserId(String.valueOf(adminId));
  953. boolean save = sysUserRoleService.save(sysUserRole);
  954. return R.ok("success");
  955. }
  956. return R.fail(ResponseCodesEnum.A0001, "fail");
  957. }
  958. @ApiOperation(value = "检验用户名是否存在")
  959. @GetMapping("/checkUserName")
  960. public ResponseModel<?> checkUserName(String username) {
  961. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  962. query.eq(TAdmin::getUsername, username);
  963. TAdmin admin = tAdminService.getOne(query);
  964. if (admin != null) {
  965. return R.fail(ResponseCodesEnum.A0001);
  966. }
  967. return R.ok();
  968. }
  969. }