From ec4733f0c90a88f2266731d16c94e6e2fada7528 Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期日, 22 六月 2025 22:46:45 +0800
Subject: [PATCH] 修改
---
zhang-content/src/main/java/com/ruoyi/service/MarrySelfService.java | 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/MarrySelfController.java | 2
zhang-content/src/main/java/com/ruoyi/domain/sysUserAndUserInfo.java | 3
zhang-content/src/main/java/com/ruoyi/service/impl/MarryUserServiceImpl.java | 17 +
zhang-content/src/main/java/com/ruoyi/service/impl/MarrySelfServiceImpl.java | 14
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 596 ++++++++++++++++++++++++++---------------------------
6 files changed, 321 insertions(+), 313 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(); // 鎿嶄綔鎴愬姛鍝嶅簲
}
/**
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/MarrySelfController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/MarrySelfController.java
index d7d408c..4173dac 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/MarrySelfController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/MarrySelfController.java
@@ -81,7 +81,7 @@
System.out.println("鎶ラ敊"+e.getMessage());
return AjaxResult.error("鏇存柊澶辫触");
}
- return marrySelfService.updateData(marryInfoDto);
+ return AjaxResult.success( marrySelfService.updateData(marryInfoDto));
}
//瀵煎嚭
diff --git a/zhang-content/src/main/java/com/ruoyi/domain/sysUserAndUserInfo.java b/zhang-content/src/main/java/com/ruoyi/domain/sysUserAndUserInfo.java
index 2fab50c..7579279 100644
--- a/zhang-content/src/main/java/com/ruoyi/domain/sysUserAndUserInfo.java
+++ b/zhang-content/src/main/java/com/ruoyi/domain/sysUserAndUserInfo.java
@@ -75,4 +75,7 @@
private Integer clanId;
+
+ /** 濠氬Щ鐘跺喌(0:鏈,1:宸插,2:绂诲) */
+ private Integer maritalStatus;
}
diff --git a/zhang-content/src/main/java/com/ruoyi/service/MarrySelfService.java b/zhang-content/src/main/java/com/ruoyi/service/MarrySelfService.java
index 7884e0a..f0225d9 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/MarrySelfService.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/MarrySelfService.java
@@ -14,5 +14,5 @@
public interface MarrySelfService extends IService<MarrySelf> {
AjaxResult getInfo();
- AjaxResult updateData(MarryInfoDto marryInfoDto);
+ Boolean updateData(MarryInfoDto marryInfoDto);
}
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/MarrySelfServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/MarrySelfServiceImpl.java
index 5a255a0..ad7dc4d 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/MarrySelfServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/MarrySelfServiceImpl.java
@@ -76,25 +76,27 @@
}
@Override
- public AjaxResult updateData(MarryInfoDto marryInfoDto) {
+ public Boolean updateData(MarryInfoDto marryInfoDto) {
- SysUser user = SecurityUtils.getLoginUser().getUser();
- Long userId = user.getUserId();
+// SysUser user = SecurityUtils.getLoginUser().getUser();
+// Long userId = user.getUserId();
MarrySelf marrySelf = new MarrySelf();
BeanUtils.copyProperties(marryInfoDto,marrySelf);
- marrySelf.setUid(userId);
+ marrySelf.setUid(marryInfoDto.getUid());
//鍏堟煡璇㈡暟鎹簱涓湁娌℃湁鏈敤鎴风殑鏁版嵁
LambdaQueryWrapper<MarrySelf> lqw = new LambdaQueryWrapper<>();
- lqw.eq(MarrySelf::getUid,userId);
+ lqw.eq(MarrySelf::getUid,marryInfoDto.getUid());
List<MarrySelf> list = list(lqw);
+
if(list.isEmpty()){
//濡傛灉鏄┖鐨勶紝閭e氨鏄柊澧�
save(marrySelf);
}else {
+
//鍚﹀垯灏辨槸淇敼
marrySelf.setId(list.get(0).getId());
updateById(marrySelf);
@@ -103,6 +105,6 @@
- return AjaxResult.success();
+ return true;
}
}
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/MarryUserServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/MarryUserServiceImpl.java
index a20342c..5ba488f 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/MarryUserServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/MarryUserServiceImpl.java
@@ -5,6 +5,7 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.domain.MarrySelf;
import com.ruoyi.domain.MarryUser;
import com.ruoyi.mapper.MarryUserMapper;
import com.ruoyi.service.MarryUserService;
@@ -44,11 +45,19 @@
@Override
public AjaxResult updateData(MarryUser marryUser) {
- SysUser user = SecurityUtils.getLoginUser().getUser();
- Long userId = user.getUserId();
+// SysUser user = SecurityUtils.getLoginUser().getUser();
+// Long userId = user.getUserId();
+//
+// marryUser.setUid(userId);
- marryUser.setUid(userId);
- updateById(marryUser);
+ LambdaQueryWrapper<MarryUser> lqw = new LambdaQueryWrapper<>();
+ lqw.eq(MarryUser::getUid,marryUser.getUid());
+ List<MarryUser> list = list(lqw);
+ if(list.size()>0) {
+ marryUser.setId(list.get(0).getId());
+ updateById(marryUser);
+ }else save(marryUser);
+
return AjaxResult.success();
--
Gitblit v1.9.1