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/zhang/ZInfoUserController.java |  332 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 314 insertions(+), 18 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java
index 7b630a1..2941d4c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java
@@ -1,6 +1,9 @@
 package com.ruoyi.web.controller.zhang;
 
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.mysql.cj.x.protobuf.MysqlxDatatypes;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
@@ -10,16 +13,26 @@
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.ServletUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.domain.ZInfoUser;
+import com.ruoyi.common.utils.uuid.UUID;
+import com.ruoyi.domain.*;
+
+import com.ruoyi.domain.dto.Genealogy;
+import com.ruoyi.domain.dto.GenealogyExportDto;
+import com.ruoyi.domain.dto.RelationDto;
 import com.ruoyi.service.ZInfoUserService;
+import com.ruoyi.service.ZfFamilyService;
+import com.ruoyi.service.ZfRoleService;
+import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.system.service.ISysUserService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
-import java.util.List;
+import javax.websocket.server.PathParam;
+import java.util.*;
 import java.util.regex.Pattern;
 
 import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM;
@@ -37,9 +50,20 @@
 @RestController
 @RequestMapping("/self/user")
 public class ZInfoUserController extends BaseController {
-
+    @Autowired
+    private ISysUserService userService;
     @Resource
     private ZInfoUserService zInfoUserService;
+
+
+    @Resource
+    private ZfFamilyService zfFamilyService;
+
+    @Resource
+    private ZfRoleService zfRoleService;
+
+    @Resource
+    private SysUserMapper sysUserMapper;
 
 //    @GetMapping("/all")
 //    public AjaxResult  listAll(ZInfoUser zInfoUser){
@@ -98,24 +122,96 @@
     public AjaxResult getInfo() {
         SysUser user = SecurityUtils.getLoginUser().getUser();
         Long userId = user.getUserId();
-        return AjaxResult.success(zInfoUserService.getById(userId));
+
+
+
+        ZInfoUser zInfoUser = zInfoUserService.getInfoById(userId);
+        if(zInfoUser!=null)
+        {
+            return AjaxResult.success(zInfoUser);
+        }
+        else
+            return AjaxResult.success(user);
+    }
+    @GetMapping("/{id}")
+    public AjaxResult getInfoById(@PathVariable("id") Long id) {
+        //  SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long userId = id;
+
+
+        //鏌ヨsys_user琛�
+        //  SysUser sysUser = sysUserService.selectUserById(userId);
+        return AjaxResult.success(zInfoUserService.getInfoById(userId));
     }
 //
 
     /**
-     * 鏂板銆佷慨鏀逛釜浜鸿缁嗕俊鎭褰�
+     * 淇敼涓汉璇︾粏淇℃伅璁板綍
      */
 //    @PreAuthorize("@ss.hasPermi('system:property:add')")
     @Log(title = "涓汉璇︾粏淇℃伅璁板綍", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@RequestBody ZInfoUser zInfoUser) {
-        if (!Pattern.matches("^[\\d]+(?:,[\\d]+)*$",zInfoUser.getFamilyId())) {
-            throw new RuntimeException("璇疯緭鍏ュ彧鏈夋暟瀛楀拰鑻辨枃閫楀彿鐨勫瓧绗︿覆锛屼笖鏁板瓧鍜岄�楀彿蹇呴』浜ゆ浛鍑虹幇");
-        }
+    @PutMapping
+    public AjaxResult update(@RequestBody ZInfoUser zInfoUser) {
+//        if (!Pattern.matches("^[\\d]+(?:,[\\d]+)*$",zInfoUser.getFamilyId())) {
+//            throw new RuntimeException("璇疯緭鍏ュ彧鏈夋暟瀛楀拰鑻辨枃閫楀彿鐨勫瓧绗︿覆锛屼笖鏁板瓧鍜岄�楀彿蹇呴』浜ゆ浛鍑虹幇");
+//        }
         SysUser user = SecurityUtils.getLoginUser().getUser();
         Long userId = user.getUserId();
-        zInfoUser.setUserId(userId);
-        return toAjax(zInfoUserService.saveOrUpdate(zInfoUser));
+        zInfoUser.setSysId(userId);
+
+        LambdaUpdateWrapper<ZInfoUser> uw = new LambdaUpdateWrapper<>();
+        uw.eq(ZInfoUser::getSysId,userId).set(ZInfoUser::getSelfIntroduction,zInfoUser.getSelfIntroduction());
+
+        return toAjax(zInfoUserService.update(uw));
+        //    saveOrUpdate(zInfoUser));
+    }
+
+    @Log(title = "涓汉璇︾粏淇℃伅璁板綍", businessType = BusinessType.INSERT)
+    @PutMapping("/updateInfo")
+    public AjaxResult updateInfo(@RequestBody ZInfoUser zInfoUser) {
+//        if (!Pattern.matches("^[\\d]+(?:,[\\d]+)*$",zInfoUser.getFamilyId())) {
+//            throw new RuntimeException("璇疯緭鍏ュ彧鏈夋暟瀛楀拰鑻辨枃閫楀彿鐨勫瓧绗︿覆锛屼笖鏁板瓧鍜岄�楀彿蹇呴』浜ゆ浛鍑虹幇");
+//        }
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long userId = user.getUserId();
+        zInfoUser.setSysId(userId);
+
+//        ZInfoUser infoBysysId = zInfoUserService.getInfoBysysId(userId);
+//
+//
+//        zInfoUser.setUserId(infoBysysId.getUserId());
+        user.setSex(zInfoUser.getSex()+"");
+        user.setUserName(zInfoUser.getOldName());
+        user.setPhonenumber(zInfoUser.getPhoneNumber());
+        String oriUaid = zInfoUser.getUaid();
+
+        String originalString = zInfoUser.getOldName()+"-"+zInfoUser.getPhoneNumber();
+        String uniqueId = UUID.nameUUIDFromBytes(originalString.getBytes()).toString();
+        zInfoUser.setUaid(uniqueId);
+
+//
+//        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(user);
+        //LambdaUpdateWrapper<ZInfoUser> uw = new LambdaUpdateWrapper<>();
+
+
+        //淇敼uaid鐩稿悓鐨勭敤鎴疯褰�
+        if(oriUaid!=null) {
+            List<ZInfoUser> list = zInfoUserService.findByUaidToFaid(oriUaid);
+            for(ZInfoUser zInfoUser1: list)
+                zInfoUser1.setUaid(oriUaid);
+            return toAjax(zInfoUserService.saveBatch(list));
+        }
+        else
+        // uw.eq(ZInfoUser::getSysId,userId).set(ZInfoUser::getSelfIntroduction,zInfoUser.getSelfIntroduction());
+            return toAjax(zInfoUserService.saveOrUpdate(zInfoUser));
+        //    saveOrUpdate(zInfoUser));
     }
 
 //    /**
@@ -146,14 +242,214 @@
     /**
      * 鏌ヨ瀹跺涵涓昏鎴愬憳鍙婂叧绯�
      */
-
     @GetMapping("/relation")
     public AjaxResult listMyRelation() {
-        SysUser user = SecurityUtils.getLoginUser().getUser();
-        Long userId = user.getUserId();
-        return zInfoUserService.searchMyRelation(userId);
+        return zInfoUserService.searchMyRelation();
+    }
+
+    @PostMapping("/relation")
+    public AjaxResult addRelation(@RequestBody ZfRelation zfRelation){
+        return zInfoUserService.addRelation(zfRelation);
+    }
+
+    @PutMapping("/relation")
+    public AjaxResult updateRelation(@RequestBody ZfRelation zfRelation){
+        return zInfoUserService.updateRelation(zfRelation);
+    }
+
+    @DeleteMapping("/relation/{ids}")
+    public AjaxResult deleteRelation(@PathVariable Long[] ids){
+        return zInfoUserService.deleteRelation(ids);
     }
 
 
-}
+//    /**
+//     * 鎺堟潈
+//     */
+//    @PostMapping("/empower")
+//    public AjaxResult empower(@RequestBody EmpowerDto empowerDto){
+//
+//        return zInfoUserService.empower(empowerDto);
+//    }
+    /**
+     * 鏍规嵁鐢ㄦ埛id鍒ゆ柇鏄惁鏄瓙瀛� tpfid:鑷繁id 鏍规嵁鐢ㄦ埛id鍒ゆ柇鏄惁鏄紓鎬�  涓嶆槸鏈鐨勪汉閫�
+     */
+    @GetMapping("/uidAndUJd/{tpfid}/{sex}/{clanId}")
+    public AjaxResult findByUidAndUid(@PathVariable("tpfid")  Long tpfid, @PathVariable("sex")  Integer sex, @PathVariable("clanId")  Integer clanId)
+    {
+//            Integer sex = zInfoUserService.getInfoById(tpfid).getSex();
+        //sex == 0 -> 鐢�
+        if (sex == 1){
+            sex = 0;
+        }
+        else if (sex == 0){
+            sex = 1;
+        }
+        List<ZInfoUser> zInfoUsers = zInfoUserService.getDataBySex(sex, clanId);
+        List<HashMap<Long,String>> satisfyIds = new ArrayList<>();
+        HashMap<Long,String> bs = new HashMap<>();
+        for (ZInfoUser zInfoUser:zInfoUsers) {
+            if (!zInfoUserService.findByuid(zInfoUser.getUserId(), tpfid) && (zInfoUser.getMaritalStatus() == null || zInfoUser.getMaritalStatus() != 1)){
+                bs.put(zInfoUser.getUserId(),zInfoUser.getNickName());
 
+            }
+
+        }
+        satisfyIds.add(bs);
+        return AjaxResult.success(satisfyIds);
+    }
+
+    /**
+     * 鏍规嵁鐢ㄦ埛id鍒ゆ柇鏄惁鏄瓙瀛� uid:闀胯緢id,tpfid:鎴戣嚜宸辩殑zinfoid
+     */
+    @GetMapping("/uidUJd/{uid}/{tpfid}")
+    public AjaxResult findByUidAndUid2(@PathVariable("uid") Long uid ,@PathVariable("tpfid")  Long tpfid){
+        return AjaxResult.success( zInfoUserService.findByuid(uid,tpfid));
+    }
+
+    @GetMapping("/sex/{sex}/{clanId}")
+    public AjaxResult findBySex(@PathVariable("sex")  Integer sex, @PathVariable("clanId")  Integer clanId)
+    {
+//            Integer sex = zInfoUserService.getInfoById(tpfid).getSex();
+        //sex == 0 -> 鐢�
+        if (sex == 1){
+            sex = 0;
+        }
+        else if (sex == 0){
+            sex = 1;
+        }
+        List<ZInfoUser> zInfoUsers = zInfoUserService.getDataBySex(sex, clanId);
+        List<HashMap<Long,String>> satisfyIds = new ArrayList<>();
+        HashMap<Long,String> bs = new HashMap<>();
+        for (ZInfoUser zInfoUser:zInfoUsers) {
+                bs.put(zInfoUser.getUserId(),zInfoUser.getNickName());
+        }
+        satisfyIds.add(bs);
+        return AjaxResult.success(satisfyIds);
+    }
+    /**
+     * 鏍规嵁鐢ㄦ埛id鍒ゆ柇鏄惁鏄紓鎬�
+     */
+
+//    /**
+//     * 鏍规嵁鐢ㄦ埛id鍒ゆ柇鏄惁鏄瓙瀛�(uid:?,tpfid:鑷繁id) 鏍规嵁鐢ㄦ埛id鍒ゆ柇鏄惁鏄紓鎬�     涓嶆槸鏈鐨勪汉閫�
+//     */
+//    @GetMapping("/uidAndUJd/{uid}/{tpfid}/{sex}")
+//        public AjaxResult findByUidAndUid(@PathVariable("uid")  Long uid,@PathVariable("tpfid")  Long tpfid, @PathVariable("sex")  Integer sex)
+//        {
+////            Integer sex = zInfoUserService.getInfoById(tpfid).getSex();
+//            //sex == 0 -> 鐢�
+//            if (sex == 1){
+//                sex = 0;
+//            }
+//            else if (sex == 0){
+//                sex = 1;
+//            }
+//            List<ZInfoUser> zInfoUsers = zInfoUserService.getDataBySex(sex);
+//            List<String> nickName = new ArrayList<>();
+//            for (ZInfoUser zInfoUser:zInfoUsers) {
+//                if (!zInfoUserService.findByuid(uid, tpfid)){
+//                    if (zInfoUser.getIsMyFamily() == 1)
+//                        nickName.add(zInfoUser.getNickName());
+//                }
+//            }
+//            return AjaxResult.success(nickName);
+//        }
+    /**
+     * 瀹舵牴缃�
+     */
+    @GetMapping("/root")
+    public AjaxResult listAllPeopleWithTree(@PathParam("depth") Integer depth,@PathParam("clanId") Integer clanId){
+        return zInfoUserService.listWithTree(depth, clanId);
+    }
+    /**
+     * 鏍规嵁瀹跺涵鎴愬憳鎵惧埌鎵�鏈変汉
+     */
+    @GetMapping("/allFamInfo")
+    public AjaxResult listAllFamilyPeople(@PathParam("clanId") Integer clanId)
+    {
+        return zInfoUserService.listAllFamilyPeople(clanId);
+    }
+
+    /**
+     * 鎵惧埌鎵�鏈夌殑鎴愬憳
+     */
+    @GetMapping("/all")
+    public AjaxResult listAllPeople(){
+        return zInfoUserService.listAllExceptAdmin();
+    }
+
+    /**
+     * 鏂板銆佷慨鏀圭埗瀛愬叧绯�
+     */
+
+    @PutMapping("/setParent")
+    public AjaxResult addParent(@PathParam("fatherId")Long fatherId,@PathParam("motherId")Long motherId){
+        return zInfoUserService.addParent(fatherId,motherId);
+    }
+
+    /**
+     * 鏍规嵁鏈汉id鏌ヨ鏈汉淇℃伅浠ュ強閰嶅伓淇℃伅
+     */
+    @GetMapping("/listMyself/{id}")
+    public AjaxResult listMySelfAndSpouse(@PathVariable("id") Long id){
+        return zInfoUserService.listMySelfAndSpouse(id);
+    }
+
+    /**
+     * 瀹惰氨
+     */
+    @GetMapping("/list/genealogy")
+    public AjaxResult listGenealogy(Genealogy genealogy){
+        Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
+        Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        Integer clanId = user.getClanId();
+        if(clanId != null) genealogy.setClanId(clanId);
+        System.out.println("11111111//"+clanId);
+        return zInfoUserService.listGenealogy(genealogy,pageNum,pageSize);
+    }
+
+    /**
+     * 瀵煎嚭瀹惰氨
+     */
+    @PostMapping("/export/genealogy")
+    public void exportGenealogy(@RequestBody List<GenealogyExportDto> params, HttpServletResponse response){
+        List<Genealogy> list= zInfoUserService.selectDatas(params);
+        ExcelUtil<Genealogy> util = new ExcelUtil<>(Genealogy.class);
+        util.exportExcel(response,list,"瀹惰氨璁板綍鏁版嵁");
+    }
+
+    /**
+     * 瀹惰氨2.0
+     */
+    @GetMapping("/list/genealogy2")
+    public AjaxResult listGenealogy2(Genealogy genealogy){
+        Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
+        Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
+        return zInfoUserService.listGenealogy2(genealogy,pageNum,pageSize);
+    }
+
+    @GetMapping("/list/getInfoByfid/{fid}")
+    public AjaxResult getInfoByfid(@PathVariable("fid") Long fid)
+    {
+        return zInfoUserService.getInfoByfid(fid);
+    }
+
+    /**
+     * 鍒嗕韩缁欏叾浠栧鏃忔暟鎹紝閫氳繃杈撳叆鍚嶅瓧鏌ユ壘鎵�鏈夌殑鍚屽悕鐢ㄦ埛鍜屽鏃忓彿
+     */
+    @PostMapping("/byName")
+    public AjaxResult listByUserNameDate(@RequestBody SysUser sysUser)
+    {
+
+        List<SysUser> strings = sysUserMapper.getUserByUserName(sysUser.getUserName());
+        List<String> strings1= new ArrayList<>();
+        for (SysUser s:strings){
+            strings1.add(s.getNickName());
+        }
+
+        return zInfoUserService.findUserNameAClan(strings1);
+    }
+
+}
\ No newline at end of file

--
Gitblit v1.9.1