From a69aafe60ce001834b981778f12fd74d4af77e23 Mon Sep 17 00:00:00 2001 From: zqy <2522236926@qq.com> Date: 星期日, 23 六月 2024 22:04:42 +0800 Subject: [PATCH] 小医生修改&下载分享数据 --- zhang-content/src/main/java/com/ruoyi/domain/ZfDoctorDownload.java | 23 ++++ zhang-content/src/main/java/com/ruoyi/service/ZfDoctorShareService.java | 4 zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorDownloadServiceImpl.java | 123 ++++++++++++++++++++++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfDoctorShareController.java | 39 +++++++ zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorShareServiceImpl.java | 18 ++ zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java | 23 +-- zhang-content/src/main/java/com/ruoyi/mapper/ZfDoctorDownloadMapper.java | 7 + zhang-content/src/main/java/com/ruoyi/service/ZfDoctorDownloadService.java | 18 +++ 8 files changed, 237 insertions(+), 18 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfDoctorShareController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfDoctorShareController.java index 1cb8036..554f9ee 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfDoctorShareController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfDoctorShareController.java @@ -3,10 +3,17 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.domain.ShareMore; +import com.ruoyi.domain.ZfDoctor; +import com.ruoyi.domain.ZfDoctorDownload; +import com.ruoyi.service.ZInfoUserService; +import com.ruoyi.service.ZfDoctorDownloadService; +import com.ruoyi.service.ZfDoctorService; import com.ruoyi.service.ZfDoctorShareService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; @RestController @RequestMapping("/ZfDoctorShare") @@ -14,6 +21,14 @@ @Resource ZfDoctorShareService zfDoctorShareService; + @Resource + ZfDoctorService zfDoctorService; + + @Resource + ZInfoUserService zInfoUserService; + + @Resource + ZfDoctorDownloadService zfDoctorDownloadService; /** * 鍒嗕韩鏁版嵁 */ @@ -46,5 +61,29 @@ return zfDoctorShareService.deleteZa(zfDoctor); } + /** + * 涓嬭浇鍒嗕韩鐨勬暟鎹� + */ + @PostMapping("/downloadDate") + public AjaxResult ifDownLoad(@RequestBody ZfDoctorDownload zfDoctorDownload){ + return zfDoctorDownloadService.addData(zfDoctorDownload); + } + + /** + * 灞曠ず涓嬭浇鍒嗕韩鐨勬暟鎹� + */ + @GetMapping("/all") + public List<ZfDoctor> data(ZfDoctorDownload zfDoctorDownload){ + List<ZfDoctorDownload> as = zfDoctorDownloadService.selectDoctorList(zfDoctorDownload); + List<ZfDoctor> bs = new ArrayList<>(); + for (ZfDoctorDownload a: as) { + if (zfDoctorService.getById(a.getDownloadContent()) != null) { + ZfDoctor ds = zfDoctorService.getById(a.getDownloadContent()); + ds.setShareId(a.getShareId()); + bs.add(ds); + } + } + return bs; + } } diff --git a/zhang-content/src/main/java/com/ruoyi/domain/ZfDoctorDownload.java b/zhang-content/src/main/java/com/ruoyi/domain/ZfDoctorDownload.java new file mode 100644 index 0000000..3b5e3b2 --- /dev/null +++ b/zhang-content/src/main/java/com/ruoyi/domain/ZfDoctorDownload.java @@ -0,0 +1,23 @@ +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_doctor_download") +public class ZfDoctorDownload { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + private Long downloadId; + + private Long downloadContent; + + private Long shareId; +} diff --git a/zhang-content/src/main/java/com/ruoyi/mapper/ZfDoctorDownloadMapper.java b/zhang-content/src/main/java/com/ruoyi/mapper/ZfDoctorDownloadMapper.java new file mode 100644 index 0000000..4d86eb0 --- /dev/null +++ b/zhang-content/src/main/java/com/ruoyi/mapper/ZfDoctorDownloadMapper.java @@ -0,0 +1,7 @@ +package com.ruoyi.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.domain.ZfDoctorDownload; + +public interface ZfDoctorDownloadMapper extends BaseMapper<ZfDoctorDownload> { +} diff --git a/zhang-content/src/main/java/com/ruoyi/service/ZfDoctorDownloadService.java b/zhang-content/src/main/java/com/ruoyi/service/ZfDoctorDownloadService.java new file mode 100644 index 0000000..95203ea --- /dev/null +++ b/zhang-content/src/main/java/com/ruoyi/service/ZfDoctorDownloadService.java @@ -0,0 +1,18 @@ +package com.ruoyi.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.domain.ZfDoctorDownload; + +import java.util.List; + + +public interface ZfDoctorDownloadService extends IService<ZfDoctorDownload> { + AjaxResult addData(ZfDoctorDownload zfDoctorDownload); + + AjaxResult deleteData(Long[] ids); + + List<ZfDoctorDownload> selectDoctorList(ZfDoctorDownload zfDoctorDownload); + + +} diff --git a/zhang-content/src/main/java/com/ruoyi/service/ZfDoctorShareService.java b/zhang-content/src/main/java/com/ruoyi/service/ZfDoctorShareService.java index 5b125ae..9f4d1d3 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/ZfDoctorShareService.java +++ b/zhang-content/src/main/java/com/ruoyi/service/ZfDoctorShareService.java @@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.domain.ShareMore; import com.ruoyi.domain.ZfDoctor; +import com.ruoyi.domain.ZfDoctorDownload; import com.ruoyi.domain.ZfDoctorShare; import java.util.List; @@ -22,4 +23,7 @@ List<ZfDoctor> listUserId(Long shareId); + Long getShareId(ZfDoctorDownload zfDoctorDownload); + + } diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorDownloadServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorDownloadServiceImpl.java new file mode 100644 index 0000000..76e3fa6 --- /dev/null +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorDownloadServiceImpl.java @@ -0,0 +1,123 @@ +package com.ruoyi.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.StringUtils; +import com.ruoyi.domain.ZInfoUser; +import com.ruoyi.domain.ZfDoctorDownload; +import com.ruoyi.mapper.ZfDoctorDownloadMapper; +import com.ruoyi.service.*; +import org.elasticsearch.action.delete.DeleteRequest; +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.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; + +@Service +public class ZfDoctorDownloadServiceImpl extends ServiceImpl<ZfDoctorDownloadMapper, ZfDoctorDownload> implements ZfDoctorDownloadService { + + @Resource + EsService esService; + + @Resource + ZfDoctorShareService zfDoctorShareService; + + @Resource + ZfDoctorService zfDoctorService; + + @Resource + ZInfoUserService zInfoUserService; + + @Resource + private RestHighLevelClient restHighLevelClient; + + private LambdaQueryWrapper<ZfDoctorDownload> buildCondition(ZfDoctorDownload zfDoctorDownload,Long userId) { + LambdaQueryWrapper<ZfDoctorDownload> lqw = new LambdaQueryWrapper<>(); + lqw.in(ZfDoctorDownload::getDownloadId,userId); + lqw.orderByDesc(ZfDoctorDownload::getDownloadId); + lqw.like(zfDoctorDownload.getDownloadId() != null, ZfDoctorDownload::getDownloadId, zfDoctorDownload.getDownloadId()) + .like(zfDoctorDownload.getDownloadContent() != null, ZfDoctorDownload::getDownloadContent, zfDoctorDownload.getDownloadContent()); + return lqw; +} + private LambdaQueryWrapper<ZfDoctorDownload> uniqueCondition(ZfDoctorDownload zfDoctorDownload) { + LambdaQueryWrapper<ZfDoctorDownload> lqw = new LambdaQueryWrapper<>(); + lqw.eq(StringUtils.isNotEmpty(String.valueOf(zfDoctorDownload.getDownloadId())), ZfDoctorDownload::getDownloadId, zfDoctorDownload.getDownloadId()) + .eq(StringUtils.isNotEmpty(String.valueOf(zfDoctorDownload.getDownloadContent())), ZfDoctorDownload::getDownloadContent, zfDoctorDownload.getDownloadContent()); + return lqw; + } + @Override + public List<ZfDoctorDownload> selectDoctorList(ZfDoctorDownload zfDoctorDownload) { + ZInfoUser myself = zInfoUserService.getMyself(); + LambdaQueryWrapper<ZfDoctorDownload> lqw = buildCondition(zfDoctorDownload,myself.getUserId()); + List<ZfDoctorDownload> beanRecords = list(lqw); + return new ArrayList<>(beanRecords); + } + + + @Override + public AjaxResult addData(ZfDoctorDownload zfDoctorDownload) { + LambdaQueryWrapper<ZfDoctorDownload> lqw = uniqueCondition(zfDoctorDownload); + List<ZfDoctorDownload> list = list(lqw); + if (list.size() > 0) { + throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁"); + } + + zfDoctorDownload.setDownloadId(getUserId()); + zfDoctorDownload.setShareId(zfDoctorShareService.getShareId(zfDoctorDownload)); + if (save(zfDoctorDownload)) { + EsModel esModel = new EsModel(); + Integer inte = zfDoctorDownload.getId().intValue(); + String uuid = UUID.randomUUID().toString().replace("-", ""); + esModel.setId(uuid); + esModel.setCtId(Long.valueOf(inte)); + esModel.setCtTableName("瀹跺涵灏忓尰鐢�"); + + esModel.setBy1(String.valueOf(zfDoctorDownload.getDownloadId())); + esModel.setBy2(String.valueOf(zfDoctorDownload.getDownloadContent())); + esModel.setBy3(String.valueOf(zfDoctorDownload.getShareId())); + //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� + esService.insertTable(esModel); + return AjaxResult.success(); + } else { + return AjaxResult.error(); + } +} + @Override + public AjaxResult deleteData(Long[] ids) { + List<ZfDoctorDownload> zfDoctorDownloads = listByIds(Arrays.asList(ids)); + + if (zfDoctorShareService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + zfDoctorDownloads.stream().forEach(zfDoctorDownload -> { + EsModel esModel = esService.findByCtId(zfDoctorDownload.getId().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(); + } + } + + + public Long getUserId() { + ZInfoUser myself = zInfoUserService.getMyself(); + return myself.getUserId(); + } +} diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java index 9f1d5ab..9868b9b 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java @@ -86,11 +86,7 @@ //鍔犱笂鑷繁瀹跺涵鐨刬d idList.add(familyId); // String familyIds = listFamilyIds(); -// String secondFamilyAuthority = listSecondFamilyIds(); - - //鏌ョ湅鍒汉鍒嗕韩 - List<ZfDoctor> bs = zfDoctorShareService.listUserId(myself.getUserId()); - +// String secondFamilyAuthority = listSecondFamilyIds() LambdaQueryWrapper<ZfDoctor> lqw = buildCondition(zfDoctor, idList); Page<ZfDoctor> zfDoctorPage = new Page<>(pageNum, pageSize); @@ -99,7 +95,6 @@ List<ZfDoctor> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹� List<ZfDoctor> dtoResult = markOwnData(familyId, beanRecords); - dtoResult.addAll(bs); HashMap<String, Object> data = MapUtils.getResult(pageResult, dtoResult); return AjaxResult.success(data); } @@ -121,12 +116,9 @@ //鍔犱笂鑷繁瀹跺涵鐨刬d idList.add(familyId); - //鏌ョ湅鍒汉鍒嗕韩 - List<ZfDoctor> bs = zfDoctorShareService.listUserId(myself.getUserId()); LambdaQueryWrapper<ZfDoctor> lambdaQueryWrapper = buildCondition(zfDoctor, idList); List<ZfDoctor> beanRecords = list(lambdaQueryWrapper); - beanRecords.addAll(bs); log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", beanRecords); return markOwnData(familyId, beanRecords); } @@ -166,10 +158,13 @@ for (ZfDoctor zfDoctor : dataList) { - if (zfDoctor.getSymptom().length() == 0 || zfDoctor.getSymptom() == null) { - throw new RuntimeException("鐥囩姸涓虹┖锛屽鍏ユ暟鎹け璐�"); - } else { - zfDoctorService.addData(zfDoctor); + if (zfDoctor.getSuitable().length() != 0 || zfDoctor.getType().length() != 0 || zfDoctor.getEffect().length() != 0 ) { + if(zfDoctor.getSymptom().length() == 0 || zfDoctor.getSymptom() == null){ + throw new RuntimeException("鐥囩姸涓虹┖锛屽鍏ユ暟鎹け璐�"); + } + else { + zfDoctorService.addData(zfDoctor); + } } } return AjaxResult.success("瀵煎叆鏁版嵁鎴愬姛"); @@ -191,7 +186,7 @@ // List<ZfDoctorShare> authority1 = zfDoctorShareService.getAuthority(); // List<Long> idList1 = authority1.stream().filter(auth -> auth.getShareContent().toString().equals(DOCTOR_LIST)).map(ZfDoctorShare::getShareId).collect(Collectors.toList()); - zfDoctorService.addData(zfDoctor); +// zfDoctorService.addData(zfDoctor); if (zfDoctor.getFamilyId() != null && !familyIdList.contains(zfDoctor.getFamilyId())) { throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorShareServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorShareServiceImpl.java index cef2d83..b2a34d5 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorShareServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorShareServiceImpl.java @@ -6,10 +6,7 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.domain.ShareMore; -import com.ruoyi.domain.ZInfoUser; -import com.ruoyi.domain.ZfDoctor; -import com.ruoyi.domain.ZfDoctorShare; +import com.ruoyi.domain.*; import com.ruoyi.mapper.ZfDoctorShareMapper; import com.ruoyi.service.ZInfoUserService; import com.ruoyi.service.ZfDoctorService; @@ -172,5 +169,18 @@ return myself.getUserId(); } + @Override + public Long getShareId(ZfDoctorDownload zfDoctorDownload){ + LambdaQueryWrapper<ZfDoctorShare> lqw = new LambdaQueryWrapper<>(); + lqw.eq(ZfDoctorShare::getShareId,zfDoctorDownload.getDownloadId()) + .eq(ZfDoctorShare::getShareContent,zfDoctorDownload.getDownloadContent()); + List<ZfDoctorShare> beanRecords = list(lqw); + if (beanRecords.size() != 0){ + return beanRecords.get(0).getUserId(); + } + else { + return null; + } + } } -- Gitblit v1.9.1