From d1abd1ef9c4b33d4c0fe9c15a43996b2f9f67048 Mon Sep 17 00:00:00 2001
From: whywhyo <1511349576@qq.com>
Date: 星期三, 19 七月 2023 20:38:35 +0800
Subject: [PATCH] 4577

---
 zhang-content/src/main/java/com/ruoyi/service/impl/ZHealthBaseServiceImpl.java |   74 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZHealthBaseServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZHealthBaseServiceImpl.java
index aea4685..e273ee2 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZHealthBaseServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZHealthBaseServiceImpl.java
@@ -1,8 +1,18 @@
 package com.ruoyi.service.impl;
 
 
+import com.alibaba.fastjson2.JSON;
+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.SysUser;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.domain.ZHealthBase;
+import com.ruoyi.domain.dto.ZHealthBaseDto;
+import com.ruoyi.domain.health.AllergyHistory;
+import com.ruoyi.domain.health.BloodType;
+import com.ruoyi.domain.health.GeneticDisease;
 import com.ruoyi.mapper.ZHealthBaseMapper;
 import com.ruoyi.service.ZHealthBaseService;
 import org.springframework.stereotype.Service;
@@ -18,4 +28,68 @@
 @Service
 public class ZHealthBaseServiceImpl extends ServiceImpl<ZHealthBaseMapper, ZHealthBase> implements ZHealthBaseService {
 
+    @Override
+    public ZHealthBaseDto selectData() {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long userId = user.getUserId();
+
+        LambdaQueryWrapper<ZHealthBase> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(ZHealthBase::getUid,userId);
+        ZHealthBase zHealthBase = getOne(lqw);
+
+        //濡傛灉鏄涓�娆¤繘鏉ワ紝涔嬪墠娌℃湁杩欎釜鐢ㄦ埛鐨勬暟鎹紝鎶涘紓甯歌鐢ㄦ埛鍏堟彃鍏ユ暟鎹�
+        if(zHealthBase == null){
+            throw new RuntimeException("绗竴娆¤繘鏉�,璇峰厛濉啓濂芥暟鎹�");
+        }
+
+        //灏佽瑕佽繑鍥炵殑鏁版嵁
+        ZHealthBaseDto returnData = new ZHealthBaseDto();
+        BeanUtils.copyProperties(zHealthBase,returnData);
+
+//        returnData.setName(zHealthBase.getName());
+//        returnData.setSex(zHealthBase.getSex());
+//        returnData.setEducationLevel(zHealthBase.getEducationLevel());
+//        returnData.setWork(zHealthBase.getWork());
+//        returnData.setPhone(zHealthBase.getPhone());
+//        returnData.setEmail(zHealthBase.getEmail());
+//        returnData.setMedicine(zHealthBase.getMedicine());
+//        returnData.setBaseDisease(zHealthBase.getBaseDisease());
+
+        //灏唈son鏁扮粍杞崲鎴愬璞�
+        returnData.setBloodClass(JSON.parseObject(zHealthBase.getBlood(), BloodType.class));
+        returnData.setAllergyClass(JSON.parseObject(zHealthBase.getAllergy(), AllergyHistory.class));
+        returnData.setGeneticDiseaseClass(JSON.parseObject(zHealthBase.getGeneticDisease(), GeneticDisease.class));
+
+        return returnData;
+    }
+
+
+    @Override
+    public AjaxResult saveOrUpdateData(ZHealthBaseDto zHealthBaseDto) {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long userId = user.getUserId();
+
+        LambdaQueryWrapper<ZHealthBase> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(ZHealthBase::getUid,userId);
+        ZHealthBase getResult = getOne(lqw);
+
+        ZHealthBase zHealthBase = new ZHealthBase();
+
+        BeanUtils.copyProperties(zHealthBaseDto,zHealthBase);
+        zHealthBase.setUid(userId);
+        zHealthBase.setBlood(JSON.toJSONString(zHealthBaseDto.getBloodClass()));
+        zHealthBase.setAllergy(JSON.toJSONString(zHealthBaseDto.getAllergyClass()));
+        zHealthBase.setGeneticDisease(JSON.toJSONString(zHealthBaseDto.getGeneticDiseaseClass()));
+
+        if(getResult == null){
+            //濡傛灉鏄涓�娆¤繘鏉ワ紝閭d箞鏄柊澧炴暟鎹�
+            save(zHealthBase);
+        }else {
+            //濡傛灉涓嶆槸绗竴娆★紝閭e氨鏄慨鏀规暟鎹簡
+            zHealthBase.setId(getResult.getId());
+            updateById(zHealthBase);
+        }
+
+        return AjaxResult.success();
+    }
 }

--
Gitblit v1.9.1