zqy
2024-07-21 392cbd30e4d512ddb42aed63e23bad1537e8fe81
分享bug
3个文件已修改
8个文件已添加
339 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfDoctorShareController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/domain/ZfClan.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/domain/ZfClanManage.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/mapper/ZfClanManageMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/mapper/ZfClanMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/ZfClanManageService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/ZfClanService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/ZfDoctorShareService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/ZfClanManageServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/ZfClanServiceImpl.java 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorShareServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfDoctorShareController.java
@@ -59,10 +59,10 @@
     * 用户自己查看别人分享的数据和分享人
     */
    @GetMapping("/getInfoByShareId")
    public AjaxResult empowerGetInfo2(@RequestBody ShareMore zfDoctor){
    public AjaxResult empowerGetInfo2(){
        Integer pageNo = Convert.toInt(ServletUtils.getParameter(PAGE_NO), 1);
        Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
        return zfDoctorShareService.listUserId(zfDoctor,pageNo ,pageSize);
        return zfDoctorShareService.listUserId(pageNo ,pageSize);
    }
    /**
     * 根据userId和shareId收回已经授权给那些人
zhang-content/src/main/java/com/ruoyi/domain/ZfClan.java
New file
@@ -0,0 +1,33 @@
package com.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("zf_clan")
public class ZfClan {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer clanId;
    /**
     * 家族名称
     */
    private String clanName;
    /**
     * 父亲id
     */
    private Integer dadId;
    /**
     * 母亲id
     */
    private Integer momId;
    /**
     * 管理员id
     */
    private Integer adminId;
}
zhang-content/src/main/java/com/ruoyi/domain/ZfClanManage.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("zf_clan_manage")
public class ZfClanManage {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer clanId;
    /**
     * 成员sysUser_id
     */
    private Integer memberId;
}
zhang-content/src/main/java/com/ruoyi/mapper/ZfClanManageMapper.java
New file
@@ -0,0 +1,9 @@
package com.ruoyi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.ZfClanManage;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ZfClanManageMapper extends BaseMapper<ZfClanManage> {
}
zhang-content/src/main/java/com/ruoyi/mapper/ZfClanMapper.java
New file
@@ -0,0 +1,11 @@
package com.ruoyi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.ZfClan;
import org.apache.ibatis.annotations.Mapper;
import javax.annotation.ManagedBean;
@Mapper
public interface ZfClanMapper extends BaseMapper<ZfClan> {
}
zhang-content/src/main/java/com/ruoyi/service/ZfClanManageService.java
New file
@@ -0,0 +1,14 @@
package com.ruoyi.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.domain.ZfClan;
import com.ruoyi.domain.ZfClanManage;
public interface ZfClanManageService extends IService<ZfClanManage> {
    AjaxResult selectDataList(ZfClanManage zfClanManage, Integer pageNum, Integer pageSize);
    AjaxResult addData(ZfClanManage zfClanManage);
    AjaxResult deleteData(Long[] ids);
}
zhang-content/src/main/java/com/ruoyi/service/ZfClanService.java
New file
@@ -0,0 +1,17 @@
package com.ruoyi.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.domain.Meeting;
import com.ruoyi.domain.ZfClan;
public interface ZfClanService extends IService<ZfClan> {
    AjaxResult selectDataList(ZfClan zfClan, Integer pageNum, Integer pageSize);
    AjaxResult addData(ZfClan zfClan);
    AjaxResult updateData(ZfClan zfClan);
    AjaxResult deleteData(Long[] ids);
}
zhang-content/src/main/java/com/ruoyi/service/ZfDoctorShareService.java
@@ -21,7 +21,7 @@
    AjaxResult listByUserId();
    AjaxResult listUserId(ShareMore zfDoctorInteger,Integer pageNo ,Integer pageSize);
    AjaxResult listUserId(Integer pageNo ,Integer pageSize);
    Long getShareId(ZfDoctorDownload zfDoctorDownload);
zhang-content/src/main/java/com/ruoyi/service/impl/ZfClanManageServiceImpl.java
New file
@@ -0,0 +1,26 @@
package com.ruoyi.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.domain.ZfClanManage;
import com.ruoyi.mapper.ZfClanManageMapper;
import com.ruoyi.service.ZfClanManageService;
import org.springframework.stereotype.Service;
@Service
public class ZfClanManageServiceImpl extends ServiceImpl<ZfClanManageMapper, ZfClanManage> implements ZfClanManageService {
    @Override
    public AjaxResult selectDataList(ZfClanManage zfClanManage, Integer pageNum, Integer pageSize) {
        return null;
    }
    @Override
    public AjaxResult addData(ZfClanManage zfClanManage) {
        return null;
    }
    @Override
    public AjaxResult deleteData(Long[] ids) {
        return null;
    }
}
zhang-content/src/main/java/com/ruoyi/service/impl/ZfClanServiceImpl.java
New file
@@ -0,0 +1,203 @@
package com.ruoyi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.EsModel;
import com.ruoyi.common.utils.MapUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.domain.ZInfoUser;
import com.ruoyi.domain.ZfClan;
import com.ruoyi.domain.ZfLog;
import com.ruoyi.mapper.ZfClanMapper;
import com.ruoyi.service.EsService;
import com.ruoyi.service.ZInfoUserService;
import com.ruoyi.service.ZfClanService;
import com.ruoyi.service.ZfLogService;
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.action.update.UpdateRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
@Service
public class ZfClanServiceImpl extends ServiceImpl<ZfClanMapper,ZfClan> implements ZfClanService {
    @Resource
    private EsService esSer;
    @Resource
    ZfLogService zfLogService;
    @Resource
    ZInfoUserService zInfoUserService;
    @Resource
    private RestHighLevelClient restHighLevelClient;
    @Resource
    private ZfClanService zfClanService;
    private LambdaQueryWrapper<ZfClan> buildCondition(ZfClan zfClan) {
        LambdaQueryWrapper<ZfClan> lqw = new LambdaQueryWrapper<>();
        lqw.orderByDesc(ZfClan::getClanId);
        lqw.like(StringUtils.isNotEmpty(zfClan.getClanName()), ZfClan::getClanName, zfClan.getClanName())
            .like(zfClan.getAdminId() !=0, ZfClan::getAdminId, zfClan.getAdminId())
            .like(zfClan.getDadId() !=0 , ZfClan::getDadId, zfClan.getDadId())
            .like(zfClan.getMomId() !=0, ZfClan::getMomId, zfClan.getMomId());
        return lqw;
    }
    private LambdaQueryWrapper<ZfClan> uniqueCondition(ZfClan zfClan){
        LambdaQueryWrapper<ZfClan> lqw = new LambdaQueryWrapper<>();
        lqw.eq(!StringUtils.isEmpty(zfClan.getClanName()), ZfClan::getClanName, zfClan.getClanName());
        lqw.eq(zfClan.getAdminId() !=0, ZfClan::getAdminId, zfClan.getAdminId());
        lqw.eq(zfClan.getDadId() !=0 , ZfClan::getDadId, zfClan.getDadId());
        lqw.eq(zfClan.getMomId() !=0, ZfClan::getMomId, zfClan.getMomId());
        return lqw;
    }
    /**
     *
     * 获取当前用户的sysUserId
     * @return
     */
    public Long getUserId(){
        ZInfoUser myself = zInfoUserService.getMyself();
        return myself.getUserId();
    }
    @Override
    public AjaxResult selectDataList(ZfClan zfClan, Integer pageNum, Integer pageSize) {
        LambdaQueryWrapper<ZfClan> lqw = buildCondition(zfClan);
        Page<ZfClan> zfClanPage = new Page<>(pageNum, pageSize);
        Page<ZfClan> pageResult = page(zfClanPage, lqw);
        List<ZfClan> beanRecords = pageResult.getRecords();//得到查询出来的数据
//        System.out.println(beanRecords);
        HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords);
        return AjaxResult.success(data);
}
    @Override
    public AjaxResult addData(ZfClan zfClan) {
        LambdaQueryWrapper<ZfClan> lqw = uniqueCondition(zfClan);
        List<ZfClan> list = list(lqw);
        if(list.size()>0){
            throw new RuntimeException("请勿新增重复家族");
        }
        if (save(zfClan)) {
            EsModel esModel = new EsModel();
            Integer inte =zfClan.getClanId();
            String uuid = UUID.randomUUID().toString().replace("-","");
            esModel.setId(uuid);
            esModel.setCtId(Long.valueOf(inte));
            esModel.setCtTableName("家族");
            esModel.setBy1(zfClan.getClanName());
            esModel.setBy5("/zfClan");
//            esModel.setFid(familyId);
            esSer.insertTable(esModel);
//            System.out.println(esModel);
            return AjaxResult.success();
        } else {
            return AjaxResult.error();
        }
    }
    @Override
    public AjaxResult updateData(ZfClan zfClan) {
        List<ZfClan> lqw = list(buildCondition(zfClan));
        ZfLog zfLog = new ZfLog();
        zfLog.setUpdateTime(LocalDateTime.now());
        zfLog.setModule("家族");
        zfLog.setUpdater(zInfoUserService.getMyself().getNickName());
        zfLogService.save(zfLog);
//        System.out.println("===================================="+meeting);
        if(updateById(zfClan)){
            //到数据库中查询对应的数据
            ZfClan dataById = getById(zfClan.getClanId());
            //先到es中查询到对应那条数据在es的id
            EsModel esResult = esSer.findByCtId(dataById.getClanId(), "家族");
//            System.out.println("===================================="+meeting);
            if (esResult == null){
                return AjaxResult.success();
            }
            //操作es修改数据
            EsModel newModel = new EsModel();
            if(zfClan.getClanName()!=null){
                newModel.setBy1(zfClan.getClanName());
            }else {
                newModel.setBy1(dataById.getClanName());
            }
//
            UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId());
            updateRequest.doc(
                    "by1",newModel.getBy1()
            );
            try {
                restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
            return AjaxResult.success();
        }else {
            return AjaxResult.error();
        }
    }
    @Override
    public AjaxResult deleteData(Long[] ids) {
        List<ZfClan> zfClans = listByIds(Arrays.asList(ids));
        for (ZfClan zfClan : zfClans) {
            if (!zfClan.getAdminId().equals(getUserId())) {
                throw new RuntimeException("您不是管理员,没有权力删除该家族");
            }
        }
        if (zfClanService.removeByIds(Arrays.asList(ids))) {
            //删除es中的数据
            zfClans.stream().forEach(zfClan -> {
                EsModel esModel = esSer.findByCtId((zfClan.getClanId().intValue()), "会议");
                if (esModel != null) {
                    DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId());
                    try {
                        restHighLevelClient.delete(deleteRequest, RequestOptions.DEFAULT);
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                }
            });
            return AjaxResult.success();
        } else {
            return AjaxResult.error();
        }
    }}
zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorShareServiceImpl.java
@@ -162,7 +162,7 @@
     * 用户自己查看别人分享的数据==用户自己查看别人分享的数据和分享人
     */
    @Override
    public AjaxResult listUserId(ShareMore zfDoctorInteger,Integer pageNo ,Integer pageSize) {
    public AjaxResult listUserId(Integer pageNo ,Integer pageSize) {
        //找到对应的赋予数据的用户以及数据内容
        List<ZfDoctor>  bs = new ArrayList<>();
        LambdaQueryWrapper<ZfDoctorShare> lqw = new LambdaQueryWrapper<>();