456
whywhyo
2023-05-30 7358b281de62e37822c2c2eab0ff619aeaacf0ab
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java
@@ -11,6 +11,11 @@
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.domain.ZInfoUser;
import com.ruoyi.domain.ZfRelation;
import com.ruoyi.domain.dto.EmpowerDto;
import com.ruoyi.domain.dto.Genealogy;
import com.ruoyi.domain.dto.GenealogyExportDto;
import com.ruoyi.domain.dto.RelationDto;
import com.ruoyi.service.ZInfoUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
@@ -18,8 +23,10 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.websocket.server.PathParam;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;
import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM;
import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE;
@@ -98,22 +105,25 @@
        SysUser user = SecurityUtils.getLoginUser().getUser();
        Long userId = user.getUserId();
        return AjaxResult.success(zInfoUserService.getById(userId));
    }
//
    /**
     * 新增、修改个人详细信息记录
     * 修改个人详细信息记录
     */
//    @PreAuthorize("@ss.hasPermi('system:property:add')")
    @Log(title = "个人详细信息记录", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ZInfoUser zInfoUser) {
    @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));
    }
//    /**
//     * 修改个人详细信息记录
@@ -143,14 +153,89 @@
    /**
     * 查询家庭主要成员及关系
     */
    @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);
    }
    /**
     * 家根网
     */
    @GetMapping("/root")
    public AjaxResult listAllPeopleWithTree(@PathParam("depth") Integer depth){
        return zInfoUserService.listWithTree(depth);
    }
    /**
     * 找到所有的成员
     */
    @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);
        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,"家谱记录数据");
    }
}