From b02beccf4567068cb47a3f1181a00039456c872d Mon Sep 17 00:00:00 2001 From: zqy <2522236926@qq.com> Date: 星期三, 06 八月 2025 15:37:20 +0800 Subject: [PATCH] 用户修改姓名和电话同步修改uaid --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 558 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 385 insertions(+), 173 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 50fef41..2aada8a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -1,20 +1,25 @@ package com.ruoyi.web.controller.system; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.common.core.domain.entity.sysUserInfo; -import com.ruoyi.domain.ZInfoUser; -import com.ruoyi.domain.ZfFamily; -import com.ruoyi.domain.sysUserAndUserInfo; -import com.ruoyi.service.ZInfoUserService; -import com.ruoyi.service.ZfFamilyService; +import com.ruoyi.common.utils.uuid.UUID; +import com.ruoyi.domain.*; +import com.ruoyi.domain.dto.MarryInfoDto; +import com.ruoyi.service.*; +import com.ruoyi.system.domain.SysUserRole; +import com.ruoyi.system.mapper.SysRoleMapper; +import com.ruoyi.system.mapper.SysUserRoleMapper; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -46,7 +51,7 @@ /** * 鐢ㄦ埛淇℃伅 - * + * * @author ruoyi */ @RestController @@ -68,6 +73,18 @@ private ZInfoUserService zInfoUserService; @Resource private ZfFamilyService zfFamilyService; + + @Resource + private ZfAncestorService zfAncestorService; + + @Resource + private SysUserRoleMapper sysUserRoleMapper; + @Resource + + MarrySelfService marrySelfService; + @Resource + MarryUserService marryUserService; + /** * 鑾峰彇鐢ㄦ埛鍒楄〃 */ @@ -76,8 +93,28 @@ public TableDataInfo list(SysUser user) { startPage(); + System.out.println(user.getClanId()); + System.out.println("----------------++++++++++++==0------------"); List<SysUser> list = userService.selectUserList(user); return getDataTable(list); + } + @GetMapping("/listCommonUser") + public TableDataInfo listCommonUser(SysUser user) + { + startPage(); + // System.out.println(user.getClanId()); + System.out.println("----------------++++++++++++==0------------"); + List<SysUser> list = userService.selectCommonUserList(user); + return getDataTable(list); + } + @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.EXPORT) + @PreAuthorize("@ss.hasPermi('system:user:export')") + @PostMapping("/exportCommonUser") + public void exportCommonUser(HttpServletResponse response, SysUser user) + { + List<SysUser> list = userService.selectCommonUserList(user); + ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); + util.exportExcel(response, list, "鐢ㄦ埛鏁版嵁"); } @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.EXPORT) @@ -116,7 +153,7 @@ @GetMapping(value = { "/", "/{userId}" }) public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) { - userService.checkUserDataScope(userId); + // userService.checkUserDataScope(userId); AjaxResult ajax = AjaxResult.success(); List<SysRole> roles = roleService.selectRoleAll(); //濡傛灉鏄痑dmin鍒欑洿鎺ヨ繑鍥炴墍鏈夌殑瑙掕壊锛屽惁鍒欏氨杩斿洖涓嶆槸绠$悊鍛樼殑瑙掕壊淇℃伅 @@ -127,202 +164,377 @@ SysUser sysUser = userService.selectUserById(userId); ajax.put(AjaxResult.DATA_TAG, sysUser); ajax.put("postIds", postService.selectPostListByUserId(userId)); - ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); +// ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); } return ajax; } /** - * 淇敼鐢ㄦ埛 + * 鏇存柊鐢ㄦ埛淇℃伅鍙婂叧鑱旂殑瀹跺涵/濠氬Щ鏁版嵁 * + * 鏍稿績娴佺▼锛� + * 1. 鏇存柊鍩虹鐢ㄦ埛淇℃伅 + * 2. 瀹跺涵鎴愬憳涓撳睘澶勭悊锛堣鑹睮D=102锛� + * 2.1 鏋勫缓瀹跺涵鎴愬憳鎵╁睍淇℃伅 + * 2.2 澶勭悊瀹舵棌缁ф壙鍏崇郴锛堢埗姣�/閰嶅伓锛� + * 2.3 鏇存柊閰嶅伓鏁版嵁 + * 2.4 鍚屾濠氬Щ鐘舵�侊紙鍚濠氱壒娈婇�昏緫锛� + * + * @param user 鍓嶇浼犲叆鐨勭敤鎴锋暟鎹璞★紙鍚熀纭�淇℃伅+瀹跺涵鍏崇郴锛� + * @return AjaxResult 缁熶竴鍝嶅簲鏍煎紡锛堟垚鍔�/閿欒淇℃伅锛� + * @throws IllegalArgumentException 鍏抽敭鏁版嵁鏍¢獙澶辫触鏃舵姏鍑� + * @apiNote 浠呰鑹睮D=102锛堝搴垚鍛橈級鎵ц瀹屾暣鏇存柊娴佺▼ */ @PreAuthorize("@ss.hasPermi('system:user:edit')") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE) @PostMapping("/updateUserInfo") - public AjaxResult editUser(@Validated @RequestBody sysUserAndUserInfo user) - { + public AjaxResult editUser(@Validated @RequestBody sysUserAndUserInfo user) { + // ===================== 1. 鏇存柊鍩虹鐢ㄦ埛淇℃伅 ===================== SysUser us = new SysUser(); - us.setUserId(user.getSysId()); - us.setUserName(user.getUserName()); - us.setNickName(user.getNickName()); - us.setRoleId(user.getRoleId()); - us.setSex(user.getSex()); - us.setStatus(user.getStatus()); - us.setRemark(user.getRemark()); - userService.updateUser(us); + us.setUserId(user.getSysId()); // 绯荤粺鍞竴ID锛堝繀濉級 + us.setUserName(user.getUserName()); // 鐧诲綍鍚嶏紙璐﹀彿鏍囪瘑锛� + us.setNickName(user.getNickName()); // 鏄剧ず鏄电О + us.setRoleId(user.getRoleId()); // 瑙掕壊ID锛�102=瀹跺涵鎴愬憳锛� + us.setSex(user.getSex()); // 鎬у埆锛�0鐢�/1濂筹級 + us.setStatus(user.getStatus()); // 璐︽埛鐘舵�侊紙鍚敤/绂佺敤锛� + us.setRemark(user.getRemark()); // 澶囨敞淇℃伅 + userService.updateUser(us); // 鎵цSysUser琛ㄦ洿鏂� - // System.out.println(user.getFamilyId()); - // System.out.println("[[[[]]]]]]"); - ZInfoUser infoUser = new ZInfoUser(); - infoUser.setUserId(user.getUserId()); - infoUser.setOldName(user.getUserName()); - infoUser.setNickName(user.getNickName()); - infoUser.setIsMyFamily(user.getIsMyFamily()); - infoUser.setMomId(user.getMid()); - infoUser.setFatherId(user.getFid()); -// infoUser.setFamilyId(user.getFamilyId()); - infoUser.setSysId(user.getSysId()); - if(user.getSpouseId()!=null) { - infoUser.setSpouseId(user.getSpouseId()); - } -// ZfFamily zfFamily = zfFamilyService.getByFamId(user.getFamilyId()); -// if(zfFamily!=null&&zfFamily.getFid()!=null) -// infoUser.setFatherId(zfFamily.getFid()); -// if(zfFamily!=null&&zfFamily.getMid()!=null) -// infoUser.setMomId(zfFamily.getMid()); + // ===== 2. 瀹跺涵鎴愬憳涓撳睘澶勭悊锛堜粎瑙掕壊ID=102鏃舵墽琛岋級===== + if (user.getRoleId() != null && user.getRoleId().equals(102L)) { + // ----- 2.1 鏋勫缓瀹跺涵鎴愬憳鎵╁睍淇℃伅瀵硅薄 ----- + ZInfoUser infoUser = new ZInfoUser(); + infoUser.setUserId(user.getUserId()); // 鐢ㄦ埛涓氬姟ID + infoUser.setOldName(user.getUserName()); // 鍘嗗彶鍚嶇О锛堜繚鐣欒褰曪級 + infoUser.setNickName(user.getNickName()); // 褰撳墠鏄电О + infoUser.setIsMyFamily(user.getIsMyFamily()); // 瀹跺涵鎴愬憳鏍囪锛�0/1锛� + infoUser.setMomId(user.getMid()); // 姣嶄翰ID锛堝彲涓虹┖锛� + infoUser.setFatherId(user.getFid()); // 鐖朵翰ID锛堝彲涓虹┖锛� + // 濠氬Щ鐘舵�佺┖鍊间繚鎶わ紙0鏈/1宸插/2绂诲锛� + infoUser.setMaritalStatus(user.getMaritalStatus() == null ? null : user.getMaritalStatus()); + // 鎬у埆鏍煎紡杞崲锛圫tring 鈫� Integer锛� + if (user.getSex() != null) infoUser.setSex(Integer.valueOf(user.getSex())); + infoUser.setSysId(user.getSysId()); // 鍏宠仈绯荤粺ID锛堝閿級 + // 閰嶅伓ID璁剧疆锛堥潪蹇呭~锛� + if(user.getSpouseId() != null) { + infoUser.setSpouseId(user.getSpouseId()); + } - if (user.getFid() != null){ - ZInfoUser father = zInfoUserService.getById(user.getFid()); - if (father.getIsMyFamily() == 1) - System.out.println("11111111111111111111111111111111/"); - infoUser.setFamilyId(father.getFamilyId()); - } - else if(user.getMid() != null){ - ZInfoUser mother = zInfoUserService.getById(user.getMid()); - if (mother.getIsMyFamily() == 1) - System.out.println("2222222222222222222222222222222222/"); - infoUser.setFamilyId(mother.getFamilyId()); - } -// else if (user.getSpouseId()!=null) { -// ZInfoUser spouse = zInfoUserService.getById(user.getSpouseId()); -// System.out.println("33333333333333333333333333333333333333333/"); -// infoUser.setFamilyId(spouse.getFamilyId()); -// infoUser.setSpouseId(user.getSpouseId()); -// } + String originalString=user.getUserName()+"-"+user.getPhonenumber(); - zInfoUserService.saveOrUpdate(infoUser); - if(user.getSpouseId()!=null) { + String uniqueId = UUID.nameUUIDFromBytes(originalString.getBytes()).toString(); + infoUser.setUaid(uniqueId); + zInfoUserService.setUaidSame(user.getPhonenumber(),user.getUserName(),uniqueId); + + + // ----- 2.2 瀹舵棌鍏崇郴缁ф壙閫昏緫 ----- + // 浼樺厛鑾峰彇褰撳墠鏁版嵁搴撹褰� + ZInfoUser byId = zInfoUserService.getById(user); + Long myFamily = byId.getFamilyId(); + // 淇濈暀鍘熷搴璉D锛堢‘淇濇暟鎹繛缁�э級 + if (myFamily != null) infoUser.setFamilyId(myFamily); + + /* 瀹舵棌缁ф壙浼樺厛绾э細鐖朵翰 > 姣嶄翰 > 閰嶅伓 */ + // 2.2.1 缁ф壙鐖朵翰瀹舵棌 + if (user.getFid() != null) { + ZInfoUser father = zInfoUserService.getById(user.getFid()); + if (father != null) { + infoUser.setClanId(father.getClanId()); // 鐖剁郴瀹舵棌ID + } + } + // 2.2.2 缁ф壙姣嶄翰瀹舵棌锛堣鐩栫埗浜睮D锛� + if(user.getMid() != null) { + ZInfoUser mother = zInfoUserService.getById(user.getMid()); + if (mother != null) { + infoUser.setClanId(mother.getClanId()); // 姣嶇郴瀹舵棌ID + } + } + // 2.2.3 閰嶅伓瀹舵棌缁ф壙锛堟渶楂樹紭鍏堢骇锛� + if (user.getSpouseId() != null ){ + //灏嗕慨鏀圭殑瀵瑰簲鐢ㄦ埛鍘熸湰id娓呯┖ + zInfoUserService.setSpouseOnly(user.getUserId()); + // 浠呭綋鐢ㄦ埛棣栨鎴愪负瀹跺涵鎴愬憳鏃剁户鎵块厤鍋跺鏃� + if (zInfoUserService.getById(user.getUserId()) == null || + zInfoUserService.getById(user.getUserId()).getIsMyFamily() == 0) { + ZInfoUser spouse = zInfoUserService.getById(user.getSpouseId()); + infoUser.setFamilyId(spouse.getFamilyId()); // 閰嶅伓瀹跺涵ID + // 缁ф壙閰嶅伓鐖舵瘝淇℃伅锛堝缓绔嬪Щ浜插叧绯伙級 + if(spouse.getFatherId() != null || spouse.getMomId() != null) { + infoUser.setFatherId(spouse.getFatherId()); + infoUser.setMomId(spouse.getMomId()); + } + infoUser.setClanId(spouse.getClanId()); // 閰嶅伓瀹舵棌ID + } + } + + // ----- 2.3 淇濆瓨瀹跺涵淇℃伅 ----- + // 鍏抽敭鏍¢獙锛氬搴璉D涓虹┖璇存槑涓嶆弧瓒冲搴垚鍛樻潯浠� + if(infoUser.getFamilyId() != null ) { + zInfoUserService.saveOrUpdate(infoUser); // 鎸佷箙鍖栧埌ZInfoUser琛� + } else { + // 鈿狅笍 瀹跺涵ID缂哄け闃绘柇鎿嶄綔 + return AjaxResult.error("瀹跺涵鎴愬憳涓嶈兘淇敼涓烘櫘閫氱敤鎴�"); + } + + // ----- 2.4 鏇存柊閰嶅伓淇℃伅 ----- + ZInfoUser byId2 = zInfoUserService.getById(user.getUserId()); // 鍒锋柊鏁版嵁 ZInfoUser zu = new ZInfoUser(); - zu.setUserId(user.getSpouseId()); - zu.setSpouseId(infoUser.getUserId()); - zInfoUserService.updateById(zu); + // 浠呭綋鍘熻褰曞瓨鍦ㄩ厤鍋舵椂鏇存柊 + if(byId2.getSpouseId() != null) { + zu.setUserId(byId2.getSpouseId()); // 閰嶅伓ID + // 鍚屾濠氬Щ鐘舵�侊紙绌哄�间繚鎶わ級 + zu.setMaritalStatus(user.getMaritalStatus() == null ? null : user.getMaritalStatus()); + // 寤虹珛鍙屽悜鍏宠仈 + if(user.getSpouseId() != null) { + zu.setSpouseId(infoUser.getUserId()); // 缁戝畾褰撳墠鐢ㄦ埛 + zu.setFatherId(infoUser.getFatherId()); // 鍚屾鐖朵翰 + Long spouseMoM = zInfoUserService.getById(user.getSpouseId()).getMomId(); + Long spouseDad = zInfoUserService.getById(user.getSpouseId()).getFatherId(); + zu.setMomId(spouseMoM); + zu.setFatherId(spouseDad); + zu.setMomId(infoUser.getMomId()); // 鍚屾姣嶄翰 + } + zInfoUserService.updateById(zu); // 鏇存柊閰嶅伓璁板綍 + } + + // ===== 3. 濠氬Щ鐘舵�佷笓椤瑰鐞� ===== + // 3.1 鏋勫缓鏈汉濠氬Щ淇℃伅 + MarryInfoDto marrySelf = new MarryInfoDto(); + marrySelf.setUid(user.getSysId()); // 绯荤粺ID + marrySelf.setName(user.getUserName()); // 褰撳墠鐢ㄦ埛鍚� + marrySelf.setSex(us.getSex().equals("0") ? "鐢�" : "濂�"); // 鎬у埆杞崲 + + // 3.2 閰嶅伓濠氬Щ淇℃伅鍚屾 + if(byId2.getSpouseId() != null) { + // 鑷姩璁剧疆宸插鐘舵�侊紙榛樿鍊奸�昏緫锛� + infoUser.setMaritalStatus(infoUser.getMaritalStatus() == null ? 1 : infoUser.getMaritalStatus()); + + // 鑾峰彇閰嶅伓鏈�鏂版暟鎹� + ZInfoUser byId1 = zInfoUserService.getById(byId2.getSpouseId()); + // 鏇存柊鏈汉濠氬Щ妗f + marrySelf.setSpouseName(byId1.getOldName()); // 閰嶅伓鍘熷悕 + marrySelf.setMarryStatus(infoUser.getMaritalStatus()); // 濠氬Щ鐘舵�� + marrySelf.setSpouseSex(byId1.getSex().equals(0) ? "鐢�" : "濂�"); // 閰嶅伓鎬у埆 + marrySelfService.updateData(marrySelf); // 鎸佷箙鍖� + + // 3.3 鍙嶅悜鏇存柊閰嶅伓濠氬Щ妗f + MarryInfoDto spouse = new MarryInfoDto(); + spouse.setUid(byId1.getSysId()); // 閰嶅伓绯荤粺ID + spouse.setSpouseName(byId2.getOldName()); // 鏈汉鍘嗗彶鍚� + spouse.setMarryStatus(infoUser.getMaritalStatus()); // 鍚屾鐘舵�� + spouse.setSpouseSex(marrySelf.getSex()); // 鏈汉鎬у埆 + marrySelfService.updateData(spouse); // 鎸佷箙鍖� + } + + // 3.4 绂诲鐗规畩澶勭悊锛堢姸鎬佺爜=2锛� + if(user.getMaritalStatus() != null && user.getMaritalStatus() == 2) { + // 3.4.1 鑾峰彇閰嶅伓淇℃伅 + Long spouseId = zInfoUserService.getById(user.getUserId()).getSpouseId(); + String spouseName = null; + Long spouseSysId = 0L; + if (spouseId != null) { + ZInfoUser spouseInfo = zInfoUserService.getById(spouseId); + spouseName = spouseInfo.getOldName(); + spouseSysId = spouseInfo.getSysId(); + + // 3.4.2 鐢熸垚鏈汉绂诲璁板綍 + MarryUser marryUser = new MarryUser(); + marryUser.setUid(user.getSysId()); // 鏈汉ID + marryUser.setName(spouseName); // 閰嶅伓鍚嶇О + marryUser.setSex(user.getSex().equals("0") ? "鐢�" : "濂�"); // 鏈汉鎬у埆 + marryUser.setMarryStatus(2); // 绂诲鐘舵�� + marryUserService.save(marryUser); // 鍐欏叆鍘嗗彶琛� + } + + // 3.4.3 鐢熸垚閰嶅伓绂诲璁板綍 + MarryUser exSpouseRecord = new MarryUser(); + exSpouseRecord.setUid(spouseSysId); // 閰嶅伓ID + exSpouseRecord.setName(infoUser.getOldName()); // 鏈汉鍘嗗彶鍚� + exSpouseRecord.setSex(us.getSex().equals("0") ? "鐢�" : "濂�"); // 鏈汉鎬у埆 + exSpouseRecord.setMarryStatus(2); // 绂诲鐘舵�� + marryUserService.save(exSpouseRecord); // 鍐欏叆鍘嗗彶琛� + } + + return AjaxResult.success(); // 鎿嶄綔鎴愬姛 + } else { + // 鈿狅笍 闈炲搴垚鍛樼洿鎺ラ樆鏂� + return AjaxResult.error("瀹跺涵鎴愬憳涓嶈兘淇敼涓烘櫘閫氱敤鎴�"); } - // zInfoUserService.update(infoUser); - // .saveOrUpdate(infoUser); - return AjaxResult.success(); } + /** - * 鏂板鐢ㄦ埛 + * 鏂板鐢ㄦ埛鎺ュ彛 + * + * 鏍稿績鍔熻兘锛� + * 1. 鍒涘缓鍩虹鐢ㄦ埛淇℃伅 + * 2. 鏍¢獙鐢ㄦ埛鍞竴鎬э紙鐧诲綍鍚�/鎵嬫満鍙�/閭锛� + * 3. 鍒嗛厤鐢ㄦ埛瑙掕壊 + * 4. 瀹跺涵鎴愬憳鐗规畩澶勭悊锛堣鑹睮D=102锛� + * 4.1 鍒涘缓瀹跺涵鎵╁睍淇℃伅 + * 4.2 寤虹珛瀹舵棌鍏崇郴锛堢埗姣�/閰嶅伓锛� + * 4.3 鍒濆鍖栧濮讳俊鎭� + * + * @param userAll 鍓嶇浼犲叆鐨勭敤鎴锋暟鎹璞★紙鍖呭惈鍩虹淇℃伅+瀹跺涵鍏崇郴锛� + * @return AjaxResult 缁熶竴鍝嶅簲鏍煎紡锛堟垚鍔�/閿欒淇℃伅锛� + * @apiNote 闇�鍏峰'system:user:add'鏉冮檺鎵嶈兘璁块棶[1,4](@ref) */ - @PreAuthorize("@ss.hasPermi('system:user:add')") - @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.INSERT) + @PreAuthorize("@ss.hasPermi('system:user:add')") // 鏉冮檺鏍¢獙娉ㄨВ + @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.INSERT) // 鎿嶄綔鏃ュ織璁板綍 @PostMapping - public AjaxResult add(@Validated @RequestBody sysUserAndUserInfo userAll) - { + public AjaxResult add(@Validated @RequestBody sysUserAndUserInfo userAll) { + // ===================== 1. 鍒濆鍖栫敤鎴峰熀纭�淇℃伅 ===================== SysUser user = new SysUser(); - // user.setUserId(userAll.getUserId()); - user.setAvatar(userAll.getAvatar()); - user.setPassword("123456"); - user.setNickName(userAll.getNickName()); - user.setUserName(userAll.getUserName()); - user.setPhonenumber(userAll.getPhonenumber()); - user.setRoleId(userAll.getRoleId()); - user.setRoleIds(userAll.getRoleIds()); - user.setStatus(userAll.getStatus()); - user.setSex(userAll.getSex()); - user.setRemark(userAll.getRemark()); - user.setUpdateBy(userAll.getUpdateBy()); -// user.setSex(userAll.getSex()=="鐢�"?"1":"0"); - // user.setPostIds(userAll.getPostIds()); - // user.set - if (!userService.checkUserNameUnique(user)) - { - return error("鏂板鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪"); + user.setAvatar(userAll.getAvatar()); // 鐢ㄦ埛澶村儚 + user.setPassword("123456"); // 榛樿瀵嗙爜锛堥渶鍔犲瘑锛� + user.setNickName(userAll.getNickName()); // 鐢ㄦ埛鏄电О + user.setUserName(userAll.getUserName()); // 鐧诲綍鐢ㄦ埛鍚� + user.setPhonenumber(userAll.getPhonenumber()); // 鎵嬫満鍙� + user.setRoleId(userAll.getRoleId()); // 涓昏鑹睮D + user.setRoleIds(userAll.getRoleIds()); // 澶氳鑹睮D闆嗗悎 + user.setStatus(userAll.getStatus()); // 璐︽埛鐘舵�侊紙0姝e父/1鍋滅敤锛� + user.setSex(userAll.getSex()); // 鎬у埆锛�0鐢�/1濂筹級 + user.setRemark(userAll.getRemark()); // 澶囨敞淇℃伅 + user.setUpdateBy(userAll.getUpdateBy()); // 鏇存柊浜� + user.setClanId(userAll.getClanId()); // 瀹舵棌ID + user.setPaid(userAll.getPaid()); + + // ===================== 2. 鍞竴鎬ф牎楠岋紙鐧诲綍鍚�/鎵嬫満鍙�/閭锛� ===================== + // 2.1 鐧诲綍鍚嶆牎楠� + if (!userService.checkNickNameUnique(user)) { + return error("鏂板鐢ㄦ埛'" + user.getNickName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪"); } - else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) - { - return error("鏂板鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛屾墜鏈哄彿鐮佸凡瀛樺湪"); - } - else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) - { + // 2.2 鎵嬫満鍙锋牎楠岋紙闈炵┖鏃堕獙璇侊級 +// else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { +// +// return error("鏂板鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛屾墜鏈哄彿鐮佸凡瀛樺湪"); +// } + // 2.3 閭鏍¢獙锛堥潪绌烘椂楠岃瘉锛� + else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { return error("鏂板鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岄偖绠辫处鍙峰凡瀛樺湪"); } - user.setCreateBy(getUsername()); + + // ===================== 3. 淇濆瓨鏍稿績鐢ㄦ埛鏁版嵁 ===================== + user.setCreateBy(getUsername()); // 璁剧疆鍒涘缓浜� + // 瀵嗙爜鍔犲瘑澶勭悊锛堜娇鐢ㄧ郴缁熷畨鍏ㄥ伐鍏凤級[5](@ref) user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); - userService.insertUser(user); - //鍐欏叆鍒� 鏂板缓绔嬬殑淇℃伅琛ㄩ噷闈� -// -// ZfFamily zfFamily = zfFamilyService.getByFamId(userAll.getFamilyId()); - ZInfoUser infoUser = new ZInfoUser(); - infoUser.setSysId(user.getUserId()); - // infoUser.setUserId(user.getUserId()); - infoUser.setNickName(userAll.getNickName()); - infoUser.setOldName(userAll.getUserName()); - infoUser.setPhoneNumber(userAll.getPhonenumber()); - infoUser.setSex(userAll.getSex()=="鐢�"?1:0); -// infoUser.setFamilyId(userAll.getFid()); - infoUser.setSpouseId(userAll.getSpouseId()); + userService.insertUser(user); // 鍐欏叆sys_user涓昏〃 - infoUser.setFatherId(userAll.getFid()); - infoUser.setMomId(userAll.getMid()); - // infoUser.setFamilyId(userAll.getFamilyId()); + // ===================== 4. 鐢ㄦ埛瑙掕壊鍏宠仈澶勭悊 ===================== + SysUserRole sysUserRole = new SysUserRole(); + sysUserRole.setUserId(user.getUserId()); // 鏂扮敤鎴稩D + sysUserRole.setRoleId(user.getRoleId()); // 涓昏鑹睮D + List<SysUserRole> sysUserRoles = new ArrayList<>(); + sysUserRoles.add(sysUserRole); + // 鎵归噺鍐欏叆鐢ㄦ埛-瑙掕壊鍏崇郴琛� + sysUserRoleMapper.batchUserRole(sysUserRoles); -// if(zfFamily!=null&&zfFamily.getFid()!=null) { -// infoUser.setFatherId(zfFamily.getFid()); -// // infoUser.setMomId(zfFamily.getMid()); -// } -// if(zfFamily!=null&&zfFamily.getMid()!=null) { -// infoUser.setFatherId(zfFamily.getMid()); -// // infoUser.setMomId(zfFamily.getMid()); -// } -// System.out.println("-----"); -// System.out.println(userAll.getIsMyFamily()); + // ===================== 5. 瀹跺涵鎴愬憳鐗规畩澶勭悊锛堣鑹睮D=102锛� ===================== + if (userAll.getRoleId() == 102) { + // ----- 5.1 鍒濆鍖栧搴垚鍛樻墿灞曚俊鎭� ----- + ZInfoUser infoUser = new ZInfoUser(); + infoUser.setSysId(user.getUserId()); // 鍏宠仈绯荤粺鐢ㄦ埛ID + infoUser.setNickName(userAll.getNickName()); // 褰撳墠鏄电О + infoUser.setOldName(userAll.getUserName()); // 鍘嗗彶鍚嶇О锛堜繚鐣欒褰曪級 + infoUser.setPhoneNumber(userAll.getPhonenumber()); // 鑱旂郴鏂瑰紡 - infoUser.setIsMyFamily(userAll.getIsMyFamily()); -// if(userAll.getSpouseId()==0) -// infoUser.setSpouseId(null); -// else { -// infoUser.setSpouseId(userAll.getSpouseId()); -// -// } - if (userAll.getFid() != null && userAll.getMid() != null){ - ZInfoUser father = zInfoUserService.getById(userAll.getFid()); - ZInfoUser mother = zInfoUserService.getById(userAll.getMid()); - if (father.getIsMyFamily() == 1) - infoUser.setFamilyId(father.getFamilyId()); - if (mother.getIsMyFamily() == 1) - infoUser.setFamilyId(mother.getFamilyId()); - } -// else { -// ZInfoUser spouse = zInfoUserService.getById(userAll.getSpouseId()); -// infoUser.setFamilyId(spouse.getFamilyId()); -// } + String originalString=userAll.getUserName()+"-"+userAll.getPhonenumber(); - //鍓嶇淇濊瘉浜嗚鑹蹭笉涓虹┖ - // if(user.getRoleIds()[0]==102) + String uniqueId = UUID.nameUUIDFromBytes(originalString.getBytes()).toString(); + infoUser.setUaid(uniqueId); + if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { + zInfoUserService.setUaidSame(user.getPhonenumber(),user.getUserName(),uniqueId); + } + // 鎬у埆鏍煎紡杞崲锛圫tring 鈫� Integer锛� + infoUser.setSex(userAll.getSex().equals("0") ? 0 : 1); + infoUser.setSpouseId(userAll.getSpouseId()); // 閰嶅伓ID + infoUser.setFatherId(userAll.getFid()); // 鐖朵翰ID + infoUser.setMomId(userAll.getMid()); // 姣嶄翰ID + infoUser.setIsMyFamily(userAll.getIsMyFamily()); // 瀹跺涵鎴愬憳鏍囪锛�0/1锛� - // infoUser.setRoleName(user.g); + // ----- 5.2 鍒涘缓鏂板搴紙褰撶敤鎴锋爣璁颁负鏈鏃讹級 ----- + if (userAll.getIsMyFamily() == 1) { + ZfFamily zfFamily = new ZfFamily(); + zfFamily.setName(userAll.getNickName() + "鐨勫搴�"); // 瀹跺涵鍚嶇О + zfFamilyService.addFamily(zfFamily); // 鍒涘缓瀹跺涵璁板綍 + infoUser.setFamilyId(zfFamily.getId()); // 缁戝畾瀹跺涵ID + } - // if(userAll.getFamilyId()!=-1) { - if(userAll.getRoleId()==102) { - infoUser.setRoleId(3L); - zInfoUserService.save(infoUser); - if(userAll.getSpouseId()!=null) - { - ZInfoUser zu = new ZInfoUser(); - zu.setUserId(userAll.getSpouseId()); - zu.setSpouseId(infoUser.getUserId()); - zInfoUserService.updateById(zu); + // ----- 5.3 瀹舵棌鍏崇郴缁ф壙閫昏緫 ----- + /* 缁ф壙浼樺厛绾э細鐖朵翰瀹舵棌 鈫� 姣嶄翰瀹舵棌 鈫� 閰嶅伓瀹舵棌 */ + if (userAll.getFid() != null && userAll.getMid() != null) { + // 5.3.1 鑾峰彇鐖舵瘝淇℃伅 + ZInfoUser father = zInfoUserService.getById(userAll.getFid()); + ZInfoUser mother = zInfoUserService.getById(userAll.getMid()); + + // 5.3.2 浼樺厛缁ф壙鐖朵翰瀹舵棌锛堝綋鐖朵翰鏄湰瀹讹級 + if (father.getIsMyFamily() == 1) { + infoUser.setClanId(father.getClanId()); + } + // 5.3.3 鍏舵缁ф壙姣嶄翰瀹舵棌锛堝綋姣嶄翰鏄湰瀹讹級 + else if (mother.getIsMyFamily() == 1) { + infoUser.setClanId(mother.getClanId()); + } + } else { + // 5.3.4 鏃犵埗姣嶄俊鎭椂缁ф壙閰嶅伓瀹舵棌 + ZInfoUser spouse = zInfoUserService.getById(userAll.getSpouseId()); + infoUser.setFamilyId(spouse.getFamilyId()); + infoUser.setClanId(spouse.getClanId()); + } + + // ----- 5.4 濠氬Щ淇℃伅澶勭悊 ----- + // 5.4.1 鍒濆鍖栧濮绘。妗� + MarrySelf marrySelf = new MarrySelf(); + marrySelf.setUid(user.getUserId()); // 鐢ㄦ埛ID + marrySelf.setName(userAll.getUserName()); // 濮撳悕 + marrySelf.setSex(userAll.getSex().equals("0") ? "鐢�" : "濂�"); // 鎬у埆杞崲 + // 濠氬Щ鐘舵�侊紙绌哄�间繚鎶わ細0鏈锛� + marrySelf.setMarryStatus(userAll.getMaritalStatus() == null ? 0 : userAll.getMaritalStatus()); + + // 5.4.2 閰嶅伓瀛樺湪鏃剁殑鐗规畩澶勭悊 + if (userAll.getSpouseId() != null) { + // 鑷姩璁剧疆宸插鐘舵�侊紙榛樿鍊奸�昏緫锛� + infoUser.setMaritalStatus(userAll.getMaritalStatus() == null ? 1 : userAll.getMaritalStatus()); + + // 鑾峰彇閰嶅伓淇℃伅 + ZInfoUser byId = zInfoUserService.getById(userAll.getSpouseId()); + + // 鏇存柊鏈汉濠氬Щ妗f + marrySelf.setSpouseName(byId.getOldName()); // 閰嶅伓鍘熷悕 + marrySelf.setMarryStatus(userAll.getMaritalStatus() == null ? 1 : userAll.getMaritalStatus()); + marrySelf.setSpouseSex(byId.getSex().equals(0) ? "鐢�" : "濂�"); // 閰嶅伓鎬у埆 + + // 5.4.3 鏇存柊閰嶅伓濠氬Щ妗f + MarryInfoDto spouseDto = new MarryInfoDto(); + spouseDto.setUid(byId.getSysId()); // 閰嶅伓绯荤粺ID + spouseDto.setSpouseName(userAll.getUserName()); // 褰撳墠鐢ㄦ埛鍚嶇О + spouseDto.setMarryStatus(userAll.getMaritalStatus() == null ? 1 : userAll.getMaritalStatus()); + spouseDto.setSpouseSex(marrySelf.getSex()); // 褰撳墠鐢ㄦ埛鎬у埆 + marrySelfService.updateData(spouseDto); // 鎸佷箙鍖� + } + marrySelfService.save(marrySelf); // 淇濆瓨鏈汉濠氬Щ璁板綍 + + // ----- 5.5 瀹跺涵鎴愬憳淇℃伅淇濆瓨 ----- + if (userAll.getRoleId().equals(102L)) { + infoUser.setRoleId(3L); // 璁剧疆瀹跺涵瑙掕壊ID + zInfoUserService.save(infoUser); // 淇濆瓨瀹跺涵鎵╁睍淇℃伅 + + // 5.5.1 鏇存柊閰嶅伓鍏宠仈淇℃伅 + if (userAll.getSpouseId() != null) { + ZInfoUser zu = new ZInfoUser(); + zu.setUserId(userAll.getSpouseId()); // 閰嶅伓ID + zu.setSpouseId(infoUser.getUserId()); // 缁戝畾褰撳墠鐢ㄦ埛 + Long spouseMoM = zInfoUserService.getById(userAll.getSpouseId()).getMomId(); + Long spouseDad = zInfoUserService.getById(userAll.getSpouseId()).getFatherId(); + zu.setMomId(spouseMoM); + zu.setFatherId(spouseDad); + // 鍚屾濠氬Щ鐘舵�侊紙绌哄�间繚鎶わ細1宸插锛� + zu.setMaritalStatus(userAll.getMaritalStatus() == null ? 1 : userAll.getMaritalStatus()); + zInfoUserService.updateById(zu); // 鏇存柊閰嶅伓璁板綍 + } } } - // zInfoUserService.saveOrUpdate(infoUser); -// LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>(); -// lqw.eq(ZInfoUser::getSpouseId, userAll.getSpouseId()); -// List<ZInfoUser> lis = zInfoUserService.list(lqw); -// if(lis.size()>0) { -//// ZInfoUser zi = new ZInfoUser(); -//// zi.setUserId(userAll.getSpouseId()); -//// // UpdateWrapper wrapper = new UpdateWrapper(); -//// zi.setSpouseId(lis.get(0).getUserId()); -//// System.out.println(userAll.getSpouseId()); -//// System.out.println(lis.get(0).getUserId()); -// zInfoUserService.lambdaUpdate().eq(ZInfoUser::getUserId, userAll.getSpouseId()) -// .set(ZInfoUser::getSpouseId, lis.get(0).getUserId()) -// .update(); -// } - // } - return AjaxResult.success(); + return AjaxResult.success(); // 鎿嶄綔鎴愬姛鍝嶅簲 } /** @@ -335,9 +547,9 @@ { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); - if (!userService.checkUserNameUnique(user)) + if (!userService.checkNickNameUnique(user)) { - return error("淇敼鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪"); + return error("淇敼鐢ㄦ埛'" + user.getNickName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪"); } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { @@ -378,8 +590,8 @@ @PutMapping("/resetPwd") public AjaxResult resetPwd(@RequestBody SysUser user) { - userService.checkUserAllowed(user); - userService.checkUserDataScope(user.getUserId()); + // userService.checkUserAllowed(user); +// userService.checkUserDataScope(user.getUserId()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); user.setUpdateBy(getUsername()); return toAjax(userService.resetPwd(user)); -- Gitblit v1.9.1