From a0bc860a06e1aa9eca7609bef0f0747776d8fb04 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Fri, 16 Apr 2021 14:33:46 +0800
Subject: [PATCH] Merge branch 'dev' of ssh://192.168.2.240:29418/kidgrow-microservices-platform into dev

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/AdvisoryDoctorInfoServiceImpl.java |   57 ++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 40 insertions(+), 17 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/AdvisoryDoctorInfoServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/AdvisoryDoctorInfoServiceImpl.java
index ee003f1..d671aae 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/AdvisoryDoctorInfoServiceImpl.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/AdvisoryDoctorInfoServiceImpl.java
@@ -18,6 +18,7 @@
 import com.kidgrow.oprationcenter.service.IAdvisoryDoctorInfoService;
 import com.kidgrow.oprationcenter.service.IAppointmentTimeService;
 import com.kidgrow.redis.util.RedisUtils;
+import com.kidgrow.user.feign.DoctorAnswerUserRelationService;
 import com.kidgrow.user.feign.UserInfoService;
 import com.kidgrow.user.model.UserInfo;
 import com.kidgrow.usercenter.feign.SysDoctorService;
@@ -59,6 +60,9 @@
     @Autowired
     private RedisUtils redisUtils;
 
+    @Autowired
+    private DoctorAnswerUserRelationService doctorAnswerUserRelationService;
+
     /**
      * 医生列表
      *
@@ -80,7 +84,12 @@
      */
     @Override
     public int removeById(Long id) {
-        return baseMapper.removeById(id);
+        ResultBody resultBody = doctorAnswerUserRelationService.deletByDoctorId(String.valueOf(id));
+        log.info("删除医生关系返回值=>" + resultBody);
+
+        appointmentTimeService.delByAdvisoryId(id);
+        baseMapper.removeById(id);
+        return 1;
     }
 
     /**
@@ -110,32 +119,28 @@
         //最大人数
         int maxPeople = MapUtils.getIntValue(map, "maxPeople");
         //预约时间
-        String appointmments = JSONArray.toJSONString(map.get("appointments"));
+        List<AppointmentTime> appointmments = JSONArray.parseArray(JSONArray.toJSONString(map.get("appointments")), AppointmentTime.class);
 
         AdvisoryDoctorInfo advisoryDoctorInfo = baseMapper.selectById(Long.parseLong(id));
         if (advisoryDoctorInfo == null) {
             return ResultBody.failed().msg("查询医生信息失败");
         }
 
-        AdvisoryDoctorInfo adi = new AdvisoryDoctorInfo();
-        adi.setId(Long.parseLong(id));
-        adi.setPrice(price);
-        adi.setMaxPeople(maxPeople);
+        advisoryDoctorInfo.setPrice(price);
+        advisoryDoctorInfo.setMaxPeople(maxPeople);
 
-        int b = baseMapper.updateById(adi);
+        int b = baseMapper.updateById(advisoryDoctorInfo);
         if (b == 0) {
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return ResultBody.failed().msg("操作失败");
         }
 
-        if (StringUtils.isNotBlank(appointmments)) {
+        if (appointmments != null && appointmments.size() > 0) {
             appointmentTimeService.delByAdvisoryId(Long.parseLong(id));
-            List<AppointmentTime> times = JSONArray.parseArray(appointmments, AppointmentTime.class);
-            for (AppointmentTime time : times) {
+            for (AppointmentTime time : appointmments) {
                 time.setAdvisoryId(Long.parseLong(id));
                 appointmentTimeService.saveOrUpdate(time);
             }
-
         }
 
         return ResultBody.ok().msg("操作成功");
@@ -186,13 +191,31 @@
                 JSONArray array = new JSONArray();
                 JSONObject obj = null;
                 for (AppointmentTime app : byAdvisoryId) {
-                    obj = new JSONObject();
-                    obj.put("name", app.getName());
-                    obj.put("afternoon", app.getAfternoon());
-                    obj.put("evening", app.getEvening());
-                    obj.put("morning", app.getMorning());
+                    boolean flag = true;
+                    for (int i = 0; i < array.size(); i++) {
+                        JSONObject jsonObject = array.getJSONObject(i);
+                        if (jsonObject.getString("name").equals(app.getName())) {
+                            if (app.getAfternoon() == 1) {
+                                jsonObject.put("afternoon", 1);
+                            } else if (app.getEvening() == 1) {
+                                jsonObject.put("evening", 1);
+                            } else if (app.getMorning() == 1) {
+                                jsonObject.put("morning", 1);
+                            }
+                            flag = false;
+                            array.add(jsonObject);
+                            break;
+                        }
+                    }
 
-                    array.add(obj);
+                    if (flag) {
+                        obj = new JSONObject();
+                        obj.put("name", app.getName());
+                        obj.put("afternoon", app.getAfternoon());
+                        obj.put("evening", app.getEvening());
+                        obj.put("morning", app.getMorning());
+                        array.add(obj);
+                    }
                 }
                 json.put("appointments", array);
             }

--
Gitblit v1.8.0