Browse Source

bug 修改

wsl 2 years ago
parent
commit
a687cc09cb

+ 10 - 3
server/svr-authentication/src/main/java/com/yihu/jw/security/core/userdetails/jdbc/WlyyUserDetailsService.java

@ -1,6 +1,5 @@
package com.yihu.jw.security.core.userdetails.jdbc;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.base.login.BaseLoginLogDO;
@ -10,6 +9,7 @@ import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.entity.care.common.GetuiClientDO;
import com.yihu.jw.entity.hospital.family.WlyyPatientFamilyMemberDO;
import com.yihu.jw.security.core.userdetails.SaltUser;
import com.yihu.jw.security.dao.doctor.BaseDoctorDao;
import com.yihu.jw.security.dao.patient.BaseGetuiClientDao;
import com.yihu.jw.security.dao.patient.BasePatientDao;
import com.yihu.jw.security.dao.patient.BasePatientWechatDao;
@ -19,7 +19,6 @@ import com.yihu.jw.security.model.WlyyUserSimple;
import com.yihu.jw.security.service.HcyyService;
import com.yihu.jw.security.utils.IdCardUtil;
import com.yihu.jw.security.utils.ImUtil;
import com.yihu.jw.util.common.StringUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.utils.security.MD5;
@ -106,6 +105,8 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
    private HttpClientUtil httpClientUtil;
    @Autowired
    private BasePatientDao patientDao;
    @Autowired
    private BaseDoctorDao baseDoctorDao;
    @Autowired
    private WlyyPatientFamilyMemberDao familyMemberDao;
@ -150,6 +151,12 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
        return new SaltUser(username, users.get(0).getPassword(), users.get(0).getSalt(), isEnabled, isLocked, getGrantedAuthorities(username));
    }
    //医生注销注销
    public void logOff(String id){
        baseDoctorDao.logOff(id);
    }
    public void unlocked(String username) {
        String loginType = getLogintype();
@ -1108,7 +1115,7 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
    public static void main(String arg[]){
        String ps = MD5.md5Hex("327127" + "{" + "Ar8f2" + "}");
        String ps = MD5.md5Hex("123456" + "{" + "wyIlL" + "}");
        System.out.println(ps);
    }
}

+ 5 - 0
server/svr-authentication/src/main/java/com/yihu/jw/security/dao/doctor/BaseDoctorDao.java

@ -2,6 +2,7 @@ package com.yihu.jw.security.dao.doctor;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
@ -22,6 +23,10 @@ import java.util.List;
public interface BaseDoctorDao extends PagingAndSortingRepository<BaseDoctorDO, String>, JpaSpecificationExecutor<BaseDoctorDO>  {
    @Modifying
    @Query("UPDATE BaseDoctorDO SET idcard = CONCAT(idcard,'-'),password = CONCAT(password,'-'), mobile = CONCAT(mobile,'-')   WHERE id = ?1")
    void logOff(String id);
    BaseDoctorDO findById(String id);
    @Query("from BaseDoctorDO d where d.idcard=?1 and d.del ='1'")
    BaseDoctorDO findByIdcard(String idcard);

+ 27 - 4
server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyLoginEndpoint.java

@ -1,6 +1,5 @@
package com.yihu.jw.security.oauth2.provider.endpoint;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.code.kaptcha.impl.DefaultKaptcha;
@ -28,12 +27,17 @@ import com.yihu.jw.security.oauth2.core.redis.WlyyRedisVerifyCodeService;
import com.yihu.jw.security.oauth2.provider.WlyyTokenGranter;
import com.yihu.jw.security.oauth2.provider.error.WlyyOAuth2ExceptionTranslator;
import com.yihu.jw.security.service.*;
import com.yihu.jw.security.utils.*;
import com.yihu.jw.security.utils.AES;
import com.yihu.jw.security.utils.DateUtil;
import com.yihu.jw.security.utils.IdCardUtil;
import com.yihu.jw.security.utils.SerializeUtil;
import com.yihu.jw.sms.dao.BaseSmsDao;
import com.yihu.jw.sms.service.*;
import com.yihu.jw.sms.service.TXYSmsService;
import com.yihu.jw.sms.service.YkyyINSMSService;
import com.yihu.jw.sms.service.ZBSmsService;
import com.yihu.jw.sms.service.ZhongShanSMSService;
import com.yihu.jw.sms.util.ykyy.vo.ResultMsg;
import com.yihu.jw.util.common.NetworkUtil;
import com.yihu.jw.util.common.StringUtil;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.utils.network.HttpResponse;
import com.yihu.utils.network.HttpUtils;
@ -250,6 +254,25 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
        return statusObject;
    }
    @PostMapping(value = "/doctor/logOff")
    public JSONObject doctorLogOff(HttpServletRequest request){
        JSONObject jsonObject = new JSONObject();
        try {
            String userAgent = request.getHeader("userAgent");
            org.json.JSONObject json = new org.json.JSONObject(userAgent);
            userDetailsService.logOff(json.getString("uid"));
            jsonObject.put("msg","注销成功");
            jsonObject.put("status",200);
            return jsonObject;
        } catch (Exception e) {
            e.printStackTrace();
            jsonObject.put("msg","注销失败!");
            jsonObject.put("status",500);
            return jsonObject;
        }
    }
    /**
     * 登陆
     *

+ 2 - 0
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/service/device/PatientDeviceService.java

@ -349,6 +349,7 @@ public class PatientDeviceService {
            List<Map<String, Object>> patientList = jdbcTemplate.queryForList(deviceWatchSql);
            for (Map<String, Object> map : patientList) {
                JSONObject response = getAqgDeviceInfo2(map.get("device_sn").toString());
                logger.info(map.get("device_sn").toString()+" 设备电量:"+response.getInteger("remaining_power"));
                if (response.containsKey("remaining_power") && response.get("remaining_power") != null&&response.getInteger("remaining_power")<=20){
                    JSONObject patients = new JSONObject();
                    patients.put("patient",map.get("id"));
@ -361,6 +362,7 @@ public class PatientDeviceService {
                }
                Thread.sleep(1000);
            }
            System.out.println("离线居民人数:"+rslist.size());
            if (rslist.size()>0) {
                deviceLostMessageUtil.watchRemainingPower(rslist);
            }

+ 3 - 2
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/service/message/PushTimeIntegerPointService.java

@ -35,12 +35,13 @@ public class PushTimeIntegerPointService {
        List<SystemMessageDO> systemMessageDOList = new ArrayList<>();
        List<Map<String, Object>> signOldPatientList = systemPushMessageUtil.signOldPatient();
        String url = deviceLostMessageUtil.audioUrl(content);
        int num = 0;
        for (Map<String, Object> map : signOldPatientList) {
            String patient = map.get("id").toString();
            if (!systemPushMessageUtil.findPatientPushOnOff(patient,1)){
                continue;
            }
            num+=1;
            SystemMessageDO messageDO = systemPushMessageUtil.systemMessageDOSave("整点报时", content,"996","0","system","整点报时通知助手",patient,map.get("name").toString(),"1",map.get("photo").toString(),url);
            /*socket 推送*/
            deviceLostMessageUtil.patientMessageSocket(messageDO,null);
@ -48,7 +49,7 @@ public class PushTimeIntegerPointService {
        }
        systemMessageDao.save(systemMessageDOList);
        systemPushMessageUtil.basePushRecordLogEntitySave(content,"2",new Date(),signOldPatientList.size(),1,"签约老人",1,8);
        systemPushMessageUtil.basePushRecordLogEntitySave(content,"2",new Date(),num,1,"签约老人",1,8);
    }

+ 1 - 0
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/DeviceLostMessageUtil.java

@ -309,6 +309,7 @@ public class DeviceLostMessageUtil {
    //只有设备需要穿deviceSn码,其他socket推送 deviceSN为null就行
    public void patientMessageSocket(SystemMessageDO messageDOWatch,String deviceSn){
        JSONObject message = new JSONObject();
        message.put("title",messageDOWatch.getTitle());

+ 1 - 2
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/SystemPushMessageUtil.java

@ -4,7 +4,6 @@ import com.yihu.jw.care.dao.pushLog.BasePushRecordLogDao;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.log.BasePushRecordLogEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@ -36,7 +35,7 @@ public class SystemPushMessageUtil {
    public Boolean findPatientPushOnOff(String patient, Integer type) {
        String sql = "select on_off from base_patient_pad_pushonoff where patient = '" + patient + "' and type ='" + type + "'";
        Integer integer = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(Integer.class));
        Integer integer = jdbcTemplate.queryForObject(sql,Integer.class);
        return integer == 0 ? false : true;
    }