From ec4733f0c90a88f2266731d16c94e6e2fada7528 Mon Sep 17 00:00:00 2001 From: zqy <2522236926@qq.com> Date: 星期日, 22 六月 2025 22:46:45 +0800 Subject: [PATCH] 修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 596 +++++++++++++++++++++++++++++------------------------------ 1 files changed, 295 insertions(+), 301 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 3deb9dd..d6b2651 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 @@ -13,7 +13,6 @@ 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.common.utils.uuid.UUID; import com.ruoyi.domain.*; import com.ruoyi.domain.dto.MarryInfoDto; import com.ruoyi.service.*; @@ -51,7 +50,7 @@ /** * 鐢ㄦ埛淇℃伅 - * + * * @author ruoyi */ @RestController @@ -170,358 +169,353 @@ } /** - * 淇敼鐢ㄦ埛 + * 鏇存柊鐢ㄦ埛淇℃伅鍙婂叧鑱旂殑瀹跺涵/濠氬Щ鏁版嵁 * + * 鏍稿績娴佺▼锛� + * 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("[[[[]]]]]]"); - Long userId = user.getSysId(); - // SysUserRole sysUserRole=sysUserRoleMapper.selectUserById(userId); - //System.out.println(sysUserRole.getRoleId()); - System.out.println("浣犲ソ鍛�"); - System.out.println(user.getRoleId()); - if (user.getRoleId() != null && user.getRoleId().equals(102L)){ - 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()); - if (user.getSex() != null)infoUser.setSex(Integer.valueOf(user.getSex())); -// infoUser.setFamilyId(user.getFamilyId()); - infoUser.setSysId(user.getSysId()); + // ===== 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.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.2 瀹舵棌鍏崇郴缁ф壙閫昏緫 ----- + // 浼樺厛鑾峰彇褰撳墠鏁版嵁搴撹褰� ZInfoUser byId = zInfoUserService.getById(user); Long myFamily = byId.getFamilyId(); - if (myFamily != null) infoUser.setFamilyId(myFamily); - if (user.getFid() != null){ - //璺熼殢鐖朵翰鐨勫鏃忓拰瀹跺涵淇℃伅 - // if (!zInfoUserService.getById(user.getUserId()).getFatherId().equals(user.getFid())){ - ZInfoUser father = zInfoUserService.getById(user.getFid()); - System.out.println("11111111111111111111111111111111/"); - // infoUser.setFamilyId(father.getFamilyId()); - infoUser.setClanId(father.getClanId()); + // 淇濈暀鍘熷搴璉D锛堢‘淇濇暟鎹繛缁�э級 + if (myFamily != null) infoUser.setFamilyId(myFamily); - // } - } - - if(user.getMid()!=null) - { - //璺熼殢姣嶄翰鐨勫鏃忓拰瀹跺涵淇℃伅 - // if (!zInfoUserService.getById(user.getUserId()).getFatherId().equals(user.getFid())){ - ZInfoUser mother = zInfoUserService.getById(user.getMid()); - System.out.println("11111111111111111111111111111111/"); - // infoUser.setFamilyId(mother.getFamilyId()); - infoUser.setClanId(mother.getClanId()); + /* 瀹舵棌缁ф壙浼樺厛绾э細鐖朵翰 > 姣嶄翰 > 閰嶅伓 */ + // 2.2.1 缁ф壙鐖朵翰瀹舵棌 + if (user.getFid() != null) { + ZInfoUser father = zInfoUserService.getById(user.getFid()); + if (father != null) { + infoUser.setClanId(father.getClanId()); // 鐖剁郴瀹舵棌ID + } } -// else if(user.getMid() != null){ -// ZInfoUser mother = zInfoUserService.getById(user.getMid()); -// if (mother.getIsMyFamily() == 1) -// System.out.println("2222222222222222222222222222222222/"); -// infoUser.setFamilyId(mother.getFamilyId()); -// } - System.out.println("{{{{{{{{{{{{{{{"+user); - - if (user.getSpouseId() != null ){ - - //璺熼殢閰嶅伓鐨勫鏃忓拰瀹跺涵淇℃伅 -// if ( !zInfoUserService.getById(user.getUserId()).getSpouseId().equals(user.getSpouseId())){ - - //鏄湰瀹�,涓�绉嶆槸鏅�氱敤鎴锋洿鏂颁负瀹跺涵鐢ㄦ埛锛� - - if (zInfoUserService.getById(user.getUserId())==null||zInfoUserService.getById(user.getUserId()).getIsMyFamily() == 0) { + // 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 ){ + // 浠呭綋鐢ㄦ埛棣栨鎴愪负瀹跺涵鎴愬憳鏃剁户鎵块厤鍋跺鏃� + if (zInfoUserService.getById(user.getUserId()) == null || + zInfoUserService.getById(user.getUserId()).getIsMyFamily() == 0) { ZInfoUser spouse = zInfoUserService.getById(user.getSpouseId()); - System.out.println("33333333333333333333333333333333333333333/"); - infoUser.setFamilyId(spouse.getFamilyId()); - if(spouse.getFatherId() !=null || spouse.getMomId() !=null) { + infoUser.setFamilyId(spouse.getFamilyId()); // 閰嶅伓瀹跺涵ID + // 缁ф壙閰嶅伓鐖舵瘝淇℃伅锛堝缓绔嬪Щ浜插叧绯伙級 + if(spouse.getFatherId() != null || spouse.getMomId() != null) { infoUser.setFatherId(spouse.getFatherId()); infoUser.setMomId(spouse.getMomId()); } - infoUser.setClanId(spouse.getClanId()); - -// } + infoUser.setClanId(spouse.getClanId()); // 閰嶅伓瀹舵棌ID + } } + // ----- 2.3 淇濆瓨瀹跺涵淇℃伅 ----- + // 鍏抽敭鏍¢獙锛氬搴璉D涓虹┖璇存槑涓嶆弧瓒冲搴垚鍛樻潯浠� + if(infoUser.getFamilyId() != null ) { + zInfoUserService.saveOrUpdate(infoUser); // 鎸佷箙鍖栧埌ZInfoUser琛� + } else { + // 鈿狅笍 瀹跺涵ID缂哄け闃绘柇鎿嶄綔 + return AjaxResult.error("瀹跺涵鎴愬憳涓嶈兘淇敼涓烘櫘閫氱敤鎴�"); + } - } - if(infoUser.getFamilyId() != null ) - zInfoUserService.saveOrUpdate(infoUser); - else { - System.out.println("瀹跺涵鎴愬憳涓嶈兘淇敼涓烘櫘閫氱敤鎴�"); - return AjaxResult.error("瀹跺涵鎴愬憳涓嶈兘淇敼涓烘櫘閫氱敤鎴�"); - } - //鏇存柊閰嶅伓淇℃伅 - if(user.getSpouseId() != null) { + // ----- 2.4 鏇存柊閰嶅伓淇℃伅 ----- + ZInfoUser byId2 = zInfoUserService.getById(user.getUserId()); // 鍒锋柊鏁版嵁 ZInfoUser zu = new ZInfoUser(); - zu.setUserId(user.getSpouseId()); - zu.setSpouseId(infoUser.getUserId()); - zu.setFatherId(infoUser.getFatherId()); - zu.setMomId(infoUser.getMomId()); -// Long spouseMoM = zInfoUserService.getById(user.getSpouseId()).getMomId(); -// Long spouseDad = zInfoUserService.getById(user.getSpouseId()).getFatherId(); -// zu.setMomId(spouseMoM); -// zu.setFatherId(spouseDad); -// - 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); // 鏇存柊閰嶅伓璁板綍 + } - //鏇存柊MarrySelf鍜孧arryUser - ZInfoUser zfi = zInfoUserService.getById(user.getUserId()); - MarryInfoDto marrySelf = new MarryInfoDto(); - marrySelf.setUid(user.getSpouseId()); - marrySelf.setName(zfi.getOldName()); - marrySelf.setSpouseSex(zfi.getSex()==1?"鐢�":"濂�"); - //杩欎釜鍙兘杩樿淇敼 涓�涓� - marrySelf.setMarryStatus(0); - marrySelf.setSpouseName(infoUser.getOldName()); - marrySelf.setSpouseSex(infoUser.getSex()==1?"鐢�":"濂�"); - marrySelf.setSpouseMarryStatus(0); - marrySelfService.updateData(marrySelf); - //澧炲姞MarryUser - //澧炲姞marryUser - MarryUser marryUser = new MarryUser(); - marryUser.setUid(user.getSpouseId()); - marryUser.setName(infoUser.getOldName()); - marryUser.setSex(infoUser.getSex()==1?"鐢�":"濂�"); - marryUser.setMarryStatus(0); - marryUserService.addData(marryUser); + // ===== 3. 濠氬Щ鐘舵�佷笓椤瑰鐞� ===== + if(infoUser.getMaritalStatus() != null) { + // 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()); - return AjaxResult.success(); - } - else { - System.out.println("daniuni"); + // 鑾峰彇閰嶅伓鏈�鏂版暟鎹� + 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); - } - /** - * 鏂板鐢ㄦ埛 - */ - @PreAuthorize("@ss.hasPermi('system:user:add')") - @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody sysUserAndUserInfo userAll) - { - 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.setClanId(userAll.getClanId()); -// user.setSex(userAll.getSex()=="鐢�"?"1":"0"); - // user.setPostIds(userAll.getPostIds()); - // user.set - if (!userService.checkNickNameUnique(user)) - { + /** + * 鏂板鐢ㄦ埛鎺ュ彛 + * + * 鏍稿績鍔熻兘锛� + * 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) // 鎿嶄綔鏃ュ織璁板綍 + @PostMapping + public AjaxResult add(@Validated @RequestBody sysUserAndUserInfo userAll) { + // ===================== 1. 鍒濆鍖栫敤鎴峰熀纭�淇℃伅 ===================== + SysUser user = new SysUser(); + 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 + + // ===================== 2. 鍞竴鎬ф牎楠岋紙鐧诲綍鍚�/鎵嬫満鍙�/閭锛� ===================== + // 2.1 鐧诲綍鍚嶆牎楠� + if (!userService.checkNickNameUnique(user)) { return error("鏂板鐢ㄦ埛'" + user.getNickName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪"); } - else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) - { + // 2.2 鎵嬫満鍙锋牎楠岋紙闈炵┖鏃堕獙璇侊級 + else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { return error("鏂板鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛屾墜鏈哄彿鐮佸凡瀛樺湪"); } - else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) - { + // 2.3 閭鏍¢獙锛堥潪绌烘椂楠岃瘉锛� + else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { return error("鏂板鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岄偖绠辫处鍙峰凡瀛樺湪"); } - user.setCreateBy(getUsername()); - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); - userService.insertUser(user); - //鍐欏埌鐢ㄦ埛涓庤鑹插搴旂殑琛� + // ===================== 3. 淇濆瓨鏍稿績鐢ㄦ埛鏁版嵁 ===================== + user.setCreateBy(getUsername()); // 璁剧疆鍒涘缓浜� + // 瀵嗙爜鍔犲瘑澶勭悊锛堜娇鐢ㄧ郴缁熷畨鍏ㄥ伐鍏凤級[5](@ref) + user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + userService.insertUser(user); // 鍐欏叆sys_user涓昏〃 + + // ===================== 4. 鐢ㄦ埛瑙掕壊鍏宠仈澶勭悊 ===================== SysUserRole sysUserRole = new SysUserRole(); - sysUserRole.setUserId(user.getUserId()); - sysUserRole.setRoleId(user.getRoleId()); + sysUserRole.setUserId(user.getUserId()); // 鏂扮敤鎴稩D + sysUserRole.setRoleId(user.getRoleId()); // 涓昏鑹睮D List<SysUserRole> sysUserRoles = new ArrayList<>(); sysUserRoles.add(sysUserRole); + // 鎵归噺鍐欏叆鐢ㄦ埛-瑙掕壊鍏崇郴琛� sysUserRoleMapper.batchUserRole(sysUserRoles); - //鍐欏叆鍒� 鏂板缓绔嬬殑淇℃伅琛ㄩ噷闈� -// ZfFamily zfFamily = zfFamilyService.getByFamId(userAll.getFamilyId()); - if (userAll.getRoleId() == 102){ - ZInfoUser infoUser = new ZInfoUser(); - infoUser.setSysId(user.getUserId()); - // infoUser.setUserId(user.getUserId()); - infoUser.setNickName(userAll.getNickName()); - infoUser.setOldName(userAll.getUserName()); - infoUser.setPhoneNumber(userAll.getPhonenumber()); + // ===================== 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()); // 鑱旂郴鏂瑰紡 + // 鎬у埆鏍煎紡杞崲锛圫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锛� - - //璁剧疆鏂扮殑usid -// UUID uuid= UUID.fromString(userAll.getUserName()+userAll.getPhonenumber()); -// String usid = uuid.toString(); - - - String originalString=userAll.getUserName()+"-"+userAll.getPhonenumber(); - - String uniqueId = UUID.nameUUIDFromBytes(originalString.getBytes()).toString(); - infoUser.setUaid(uniqueId); - - - System.out.println(userAll.getSex()); - System.out.println("鎬у埆鐨勫師鍥�"); - - infoUser.setSex(userAll.getSex().equals("0")?0:1); - System.out.println(infoUser.getSex()); -// infoUser.setFamilyId(userAll.getFid()); - infoUser.setSpouseId(userAll.getSpouseId()); - - infoUser.setFatherId(userAll.getFid()); - infoUser.setMomId(userAll.getMid()); - // infoUser.setFamilyId(userAll.getFamilyId()); - -// 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()); - - infoUser.setIsMyFamily(userAll.getIsMyFamily()); - if(userAll.getIsMyFamily()==1) - { - ZfFamily zfFamily = new ZfFamily(); - zfFamily.setName(userAll.getNickName()+"鐨勫搴�"); - zfFamilyService.addFamily(zfFamily); - infoUser.setFamilyId(zfFamily.getId()); - } -// 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()); - infoUser.setClanId(father.getClanId()); + // ----- 5.2 鍒涘缓鏂板搴紙褰撶敤鎴锋爣璁颁负鏈鏃讹級 ----- + if (userAll.getIsMyFamily() == 1) { + ZfFamily zfFamily = new ZfFamily(); + zfFamily.setName(userAll.getNickName() + "鐨勫搴�"); // 瀹跺涵鍚嶇О + zfFamilyService.addFamily(zfFamily); // 鍒涘缓瀹跺涵璁板綍 + infoUser.setFamilyId(zfFamily.getId()); // 缁戝畾瀹跺涵ID } - else if (mother.getIsMyFamily() == 1){ - // infoUser.setFamilyId(mother.getFamilyId()); - infoUser.setClanId(mother.getClanId()); + // ----- 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()); - marrySelf.setName(infoUser.getOldName()); - marrySelf.setSex(infoUser.getSex()==1?"鐢�":"濂�"); - marrySelf.setMarryStatus(0); - marrySelfService.save(marrySelf); - } - else { - ZInfoUser spouse = zInfoUserService.getById(userAll.getSpouseId()); - infoUser.setFamilyId(spouse.getFamilyId()); - infoUser.setClanId(spouse.getClanId()); - //閫氳繃閰嶅伓鐨勪俊鎭紝鏇存柊marrySelf鍜屽鍔爉arryUser琛� - MarrySelf marrySelf = new MarrySelf(); - // marrySelf.setUid(userAll.getSpouseId()); - marrySelf.setSpouseName(infoUser.getOldName()); - marrySelf.setSpouseSex(infoUser.getSex()==1?"鐢�":"濂�"); - marrySelf.setMarryStatus(1); - //淇敼鏉′欢 - QueryWrapper<MarrySelf> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("uid", userAll.getSpouseId()); + 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()); - marrySelfService.update(marrySelf, queryWrapper); - //澧炲姞marryUser - MarryUser marryUser = new MarryUser(); - marryUser.setUid(userAll.getSpouseId()); - marryUser.setName(infoUser.getOldName()); - marryUser.setSex(infoUser.getSex()==1?"鐢�":"濂�"); - marryUser.setMarryStatus(0); - marryUserService.addData(marryUser); + // 鑾峰彇閰嶅伓淇℃伅 + 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) ? "鐢�" : "濂�"); // 閰嶅伓鎬у埆 - //鍓嶇淇濊瘉浜嗚鑹蹭笉涓虹┖ - // if(user.getRoleIds()[0]==102) + // 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); // 淇濆瓨鏈汉濠氬Щ璁板綍 - // infoUser.setRoleName(user.g); + // ----- 5.5 瀹跺涵鎴愬憳淇℃伅淇濆瓨 ----- + if (userAll.getRoleId().equals(102L)) { + infoUser.setRoleId(3L); // 璁剧疆瀹跺涵瑙掕壊ID + zInfoUserService.save(infoUser); // 淇濆瓨瀹跺涵鎵╁睍淇℃伅 - // if(userAll.getFamilyId()!=-1) { - - if(userAll.getRoleId().equals(102L)) { - infoUser.setRoleId(3L); - zInfoUserService.save(infoUser); - if(userAll.getSpouseId()!=null) - { - //鏇存柊閰嶅伓淇℃伅 - ZInfoUser zu = new ZInfoUser(); - zu.setUserId(userAll.getSpouseId()); - zu.setSpouseId(infoUser.getUserId()); - Long spouseMoM = zInfoUserService.getById(userAll.getSpouseId()).getMomId(); - Long spouseDad = zInfoUserService.getById(userAll.getSpouseId()).getFatherId(); - zu.setMomId(spouseMoM); - zu.setFatherId(spouseDad); - zInfoUserService.updateById(zu); + // 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(); // 鎿嶄綔鎴愬姛鍝嶅簲 } /** -- Gitblit v1.9.1