瀏覽代碼

Merge branch 'dev' of yeshijie/wlyy2.0 into dev

叶仕杰 3 年之前
父節點
當前提交
26ab2321b5

+ 20 - 0
business/im-service/src/main/java/com/yihu/jw/im/util/ImUtil.java

@ -851,4 +851,24 @@ public class ImUtil {
			throw new RuntimeException("获取会话成员!sessionId =" + sessionId);
			throw new RuntimeException("获取会话成员!sessionId =" + sessionId);
		}
		}
	}
	}
	/**
	 * 获取在线人数
	 * helper 助老员,teacher 教师,child 幼儿,olderWx 老人公众号,olderPad 老人平板
	 */
	public String getOnlineCountByType(String type) {
		String url = im_host + "api/v2/sessions/getOnlineCountByType?type="+type;
		String ret = HttpClientUtil.get(url, "UTF-8");
		return ret;
	}
	/**
	 * 获取在线人数列表
	 * helper 助老员,teacher 教师,child 幼儿,olderWx 老人公众号,olderPad 老人平板
	 */
	public String getOnlineListByType(String type) {
		String url = im_host + "api/v2/sessions/getOnlineListByType?type="+type;
		String ret = HttpClientUtil.get(url, "UTF-8");
		return ret;
	}
}
}

+ 22 - 1
common/common-entity/sql记录

@ -1094,4 +1094,25 @@ ALTER table base.dm_device add column need_register tinyint(2) DEFAULT '0' COMME
ALTER TABLE wlyy_patient_rehabilitation_plan add COLUMN  `admin_team_code` int(11) DEFAULT NULL COMMENT '家签行政团队Id';
ALTER TABLE wlyy_patient_rehabilitation_plan add COLUMN  `admin_team_code` int(11) DEFAULT NULL COMMENT '家签行政团队Id';
-- 2021-07-12 lb
-- 2021-07-12 lb
ALTER table base.dm_device modify column need_register varchar(255) DEFAULT NULL COMMENT '注册至iot接口,为空表示不注册'
ALTER table base.dm_device modify column need_register varchar(255) DEFAULT NULL COMMENT '注册至iot接口,为空表示不注册';
-- 2021-07-19 ysj
ALTER table base.base_patient add column pad_imei varchar(50) DEFAULT NULL COMMENT '平板imei';
ALTER table base.base_patient add column residential_area varchar(50) DEFAULT NULL COMMENT '居住小区';
CREATE TABLE `base_getui_client` (
  `id` varchar(50) NOT NULL,
  `user` varchar(50) DEFAULT NULL COMMENT '居民或医生code',
  `type` tinyint(1) DEFAULT NULL COMMENT '1居民 2医生',
  `client_id` varchar(50) DEFAULT NULL COMMENT '个推clientId',
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_1` (`user`,`type`,`client_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='个推clientid表';

+ 20 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/BasePatientDO.java

@ -280,6 +280,8 @@ public class BasePatientDO extends UuidIdentityEntityWithOperator {
    private String marriageName;
    private String marriageName;
    private String latLon;//定位经纬度
    private String latLon;//定位经纬度
    private String padImei;//绑定平板标志
    private String residentialArea;//居住小区
    public String getCardType() {
    public String getCardType() {
        return cardType;
        return cardType;
@ -849,4 +851,22 @@ public class BasePatientDO extends UuidIdentityEntityWithOperator {
    public void setLatLon(String latLon) {
    public void setLatLon(String latLon) {
        this.latLon = latLon;
        this.latLon = latLon;
    }
    }
    @Column(name = "pad_imei")
    public String getPadImei() {
        return padImei;
    }
    public void setPadImei(String padImei) {
        this.padImei = padImei;
    }
    @Column(name = "residential_area")
    public String getResidentialArea() {
        return residentialArea;
    }
    public void setResidentialArea(String residentialArea) {
        this.residentialArea = residentialArea;
    }
}
}

+ 59 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/common/GetuiClientDO.java

@ -0,0 +1,59 @@
package com.yihu.jw.entity.care.common;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/7/19
 * @Description:
 */
@Entity
@Table(name="base_getui_client")
public class GetuiClientDO extends UuidIdentityEntityWithCreateTime {
    /**
     * 居民或医生code
     */
    private String user;
    /**
     * 1居民 2医生
     */
    private Integer type;
    /**
     * 个推clientId
     */
    private String clientId;
    @Column(name = "user")
    public String getUser() {
        return user;
    }
    public void setUser(String user) {
        this.user = user;
    }
    @Column(name = "type")
    public Integer getType() {
        return type;
    }
    public void setType(Integer type) {
        this.type = type;
    }
    @Column(name = "client_id")
    public String getClientId() {
        return clientId;
    }
    public void setClientId(String clientId) {
        this.clientId = clientId;
    }
}

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

@ -4,8 +4,10 @@ import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.BasePatientFamilyMemberDO;
import com.yihu.jw.entity.base.patient.BasePatientFamilyMemberDO;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
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.entity.hospital.family.WlyyPatientFamilyMemberDO;
import com.yihu.jw.security.core.userdetails.SaltUser;
import com.yihu.jw.security.core.userdetails.SaltUser;
import com.yihu.jw.security.dao.patient.BaseGetuiClientDao;
import com.yihu.jw.security.dao.patient.BasePatientDao;
import com.yihu.jw.security.dao.patient.BasePatientDao;
import com.yihu.jw.security.dao.patient.BasePatientWechatDao;
import com.yihu.jw.security.dao.patient.BasePatientWechatDao;
import com.yihu.jw.security.dao.patient.WlyyPatientFamilyMemberDao;
import com.yihu.jw.security.dao.patient.WlyyPatientFamilyMemberDao;
@ -97,6 +99,8 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
    @Autowired
    @Autowired
    private WlyyPatientFamilyMemberDao familyMemberDao;
    private WlyyPatientFamilyMemberDao familyMemberDao;
    @Autowired
    private BaseGetuiClientDao baseGetuiClientDao;
    public WlyyUserDetailsService(DataSource dataSource) {
    public WlyyUserDetailsService(DataSource dataSource) {
        this.setDataSource(dataSource);
        this.setDataSource(dataSource);
@ -630,6 +634,64 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
        } //...
        } //...
    }
    }
    /**
     * 更新个推clientId 和老人平板登录信息
     * @param clientId
     * @param padImei
     * @param loginType
     * @param username
     */
    public void updateInfo(String clientId,String padImei,String loginType,String username){
        int isPateint = isPatient(loginType);
        if(StringUtils.isNotBlank(padImei)){
            try {
                if(isPateint == 1){
                    this.getJdbcTemplate().update("update base_patient p set p.pad_imei = ? where p.mobile = ? or p.idcard = ?", padImei, username, username);
                }
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        if(StringUtils.isNotBlank(clientId)&&isPateint<3){
            try {
                List<WlyyUserDetails> users;
                if(isPateint==1){
                    users = this.getJdbcTemplate().query(DEFAULT_PATIENT_DETAILS_STATEMENT, new BeanPropertyRowMapper(WlyyUserDetails.class), username, username);
                }else{
                    users = this.getJdbcTemplate().query(DEFAULT_DOCTOR_DETAILS_STATEMENT, new BeanPropertyRowMapper(WlyyUserDetails.class), username, username);
                }
                String user = users.get(0).getId();
                List<GetuiClientDO> list = baseGetuiClientDao.findByUser(user,isPateint,clientId);
                if(list.size() == 0){
                    GetuiClientDO getuiClientDO = new GetuiClientDO();
                    getuiClientDO.setClientId(clientId);
                    getuiClientDO.setType(isPateint);
                    getuiClientDO.setUser(user);
                    getuiClientDO.setCreateTime(new Date());
                    baseGetuiClientDao.save(getuiClientDO);
                }
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }
    /**
     * 根据登录类型判断登录是医生2 ,居民1 还是后台管理员 3
     * @param loginType
     * @return
     */
    public int isPatient(String loginType){
        if(StringUtils.isBlank(loginType) || "1".equals(loginType)){
            return 3;
        }
        if("2".equals(loginType)){
            return 2;
        }
        return 1;
    }
    private Collection<? extends GrantedAuthority> getGrantedAuthorities(String username) {
    private Collection<? extends GrantedAuthority> getGrantedAuthorities(String username) {
        Collection<GrantedAuthority> authorities = new ArrayList<>(1);
        Collection<GrantedAuthority> authorities = new ArrayList<>(1);
        authorities.add(new SimpleGrantedAuthority("ROLE_USER"));
        authorities.add(new SimpleGrantedAuthority("ROLE_USER"));

+ 22 - 0
server/svr-authentication/src/main/java/com/yihu/jw/security/dao/patient/BaseGetuiClientDao.java

@ -0,0 +1,22 @@
package com.yihu.jw.security.dao.patient;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.common.GetuiClientDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/7/19
 * @Description:
 */
public interface BaseGetuiClientDao extends PagingAndSortingRepository<GetuiClientDO, String>, JpaSpecificationExecutor<GetuiClientDO> {
    @Query("from GetuiClientDO p where p.user = ?1 and p.type=?2 and p.clientId=?3")
    List<GetuiClientDO> findByUser(String user, Integer type,String clientId);
}

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

@ -378,6 +378,12 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
            //使用密码登录成功后, 更新失败次数为 0
            //使用密码登录成功后, 更新失败次数为 0
            userDetailsService.addFailureCount(username, 0);
            userDetailsService.addFailureCount(username, 0);
        }
        }
        //个推 clientId
        String clientId = parameters.get("getuiClientId");
        String padImei = parameters.get("padImei");
        userDetailsService.updateInfo(clientId,padImei,loginType,username);
        userDetailsService.setRolePhth(loginType, token, wlyyUserSimple.getId(), redisTemplate);
        userDetailsService.setRolePhth(loginType, token, wlyyUserSimple.getId(), redisTemplate);
        baseLoginLogDO.setUserId(wlyyUserSimple.getId());
        baseLoginLogDO.setUserId(wlyyUserSimple.getId());

+ 3 - 3
svr/svr-base/src/main/resources/application.yml

@ -172,7 +172,7 @@ wlyy:
  url: http://ehr.yihu.com/wlyy/
  url: http://ehr.yihu.com/wlyy/
wechat:
wechat:
  id: hz_yyyzh_wx
  id: hz_yyyzh_wx
  url: https://zhyzh.hzxc.gov.cn/
  url: https://zhyzh.gongshu.gov.cn/
  flag: false
  flag: false
pay:
pay:
  flag: false
  flag: false
@ -632,7 +632,7 @@ wlyy:
  url: 1
  url: 1
wechat:
wechat:
  id: hz_yyyzh_wx
  id: hz_yyyzh_wx
  url: https://zhyzh.hzxc.gov.cn/
  url: https://zhyzh.gongshu.gov.cn/
  flag: false
  flag: false
pay:
pay:
  flag: false
  flag: false
@ -680,7 +680,7 @@ wlyy:
  url: http://ehr.yihu.com/wlyy/
  url: http://ehr.yihu.com/wlyy/
wechat:
wechat:
  id: hz_yyyzh_wx
  id: hz_yyyzh_wx
  url: https://zhyzh.hzxc.gov.cn/
  url: https://zhyzh.gongshu.gov.cn/
  flag: false
  flag: false
#文件服务器上传配置 0本地,1.I健康,2.内网调用
#文件服务器上传配置 0本地,1.I健康,2.内网调用
testPattern:
testPattern:

+ 12 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/OpenStatisticsEndpoint.java

@ -61,4 +61,16 @@ public class OpenStatisticsEndpoint extends EnvelopRestEndpoint {
            return failedObjEnvelopException2(e);
            return failedObjEnvelopException2(e);
        }
        }
    }
    }
    @GetMapping(value = "platformPeople")
    @ApiOperation(value = "平台人员实时统计")
    public ObjEnvelop platformPeople() {
        try {
            JSONObject result = statisticsService.platformPeople();
            return success(result);
        } catch (Exception e) {
            return failedObjEnvelopException2(e);
        }
    }
}
}

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/CarePatientService.java

@ -13,7 +13,6 @@ import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageSignRecordDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageSignRecordDO;
import com.yihu.jw.entity.care.label.WlyyPatientLabelDO;
import com.yihu.jw.entity.care.label.WlyyPatientLabelDO;
import com.yihu.jw.entity.care.sign.CapacityAssessmentRecordDO;
import com.yihu.jw.entity.care.sign.CapacityAssessmentRecordDO;
import com.yihu.jw.entity.patient.Patient;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.service.BasePatientMedicardCardService;
import com.yihu.jw.patient.service.BasePatientMedicardCardService;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.restmodel.ResponseContant;
@ -194,6 +193,7 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
        patientBrief.setArchiveType(patientDetail.getArchiveType());
        patientBrief.setArchiveType(patientDetail.getArchiveType());
        patientBrief.setSsc(patientDetail.getSsc());
        patientBrief.setSsc(patientDetail.getSsc());
        patientBrief.setMedicareNumber(patientDetail.getMedicareNumber());
        patientBrief.setMedicareNumber(patientDetail.getMedicareNumber());
        patientBrief.setResidentialArea(patientDetail.getResidentialArea());
        if (StringUtils.isNotBlank(patientDetail.getMobile())){
        if (StringUtils.isNotBlank(patientDetail.getMobile())){
            patientBrief.setMobile(patientDetail.getMobile());
            patientBrief.setMobile(patientDetail.getMobile());
        }
        }

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/pay/PayService.java

@ -602,7 +602,7 @@ public class PayService {
        reqMap.put("mch_id", mchId);
        reqMap.put("mch_id", mchId);
        reqMap.put("nonce_str", noceStr);
        reqMap.put("nonce_str", noceStr);
        // 此路径是微信服务器调用支付结果通知路径
        // 此路径是微信服务器调用支付结果通知路径
        reqMap.put("notify_url", "https://zhyzh.hzxc.gov.cn/cloudCare/pay/open/wxPayNotify");
        reqMap.put("notify_url", "https://zhyzh.gongshu.gov.cn/cloudCare/pay/open/wxPayNotify");
        reqMap.put("out_trade_no", businessOrderDO.getOrderNo());
        reqMap.put("out_trade_no", businessOrderDO.getOrderNo());
        reqMap.put("spbill_create_ip", IpUtil.getOneIpAddress(request));
        reqMap.put("spbill_create_ip", IpUtil.getOneIpAddress(request));
        reqMap.put("product_id", businessOrderDO.getOrderNo());
        reqMap.put("product_id", businessOrderDO.getOrderNo());
@ -682,7 +682,7 @@ public class PayService {
        reqMap.put("mch_id", mchId);
        reqMap.put("mch_id", mchId);
        reqMap.put("nonce_str", noceStr);
        reqMap.put("nonce_str", noceStr);
        // 此路径是微信服务器调用支付结果通知路径
        // 此路径是微信服务器调用支付结果通知路径
        reqMap.put("notify_url", "https://zhyzh.hzxc.gov.cn/cloudCare/pay/open/wxPayNotify");
        reqMap.put("notify_url", "https://zhyzh.gongshu.gov.cn/cloudCare/pay/open/wxPayNotify");
        reqMap.put("out_trade_no", businessOrderDO.getOrderNo());
        reqMap.put("out_trade_no", businessOrderDO.getOrderNo());
        reqMap.put("spbill_create_ip", IpUtil.getOneIpAddress(request));
        reqMap.put("spbill_create_ip", IpUtil.getOneIpAddress(request));
        reqMap.put("product_id", businessOrderDO.getOrderNo());
        reqMap.put("product_id", businessOrderDO.getOrderNo());

+ 98 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java

@ -1,5 +1,6 @@
package com.yihu.jw.care.service.statistics;
package com.yihu.jw.care.service.statistics;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.util.ConstantUtil;
import com.yihu.jw.care.util.ConstantUtil;
@ -9,6 +10,7 @@ import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.es.util.ElasticsearchUtil;
import com.yihu.jw.es.util.ElasticsearchUtil;
import com.yihu.jw.es.util.SaveModel;
import com.yihu.jw.es.util.SaveModel;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.date.DateUtil;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.collections.map.HashedMap;
@ -45,6 +47,8 @@ public class StatisticsService {
    private BaseOrgDao orgDao;
    private BaseOrgDao orgDao;
    @Autowired
    @Autowired
    private StatisticsUtilService statisticsUtilService;
    private StatisticsUtilService statisticsUtilService;
    @Autowired
    private ImUtil imUtil;
    private static final String defalutArea = "330100";
    private static final String defalutArea = "330100";
@ -156,6 +160,100 @@ public class StatisticsService {
        return json;
        return json;
    }
    }
    /**
     * 平台人员实时统计
     */
    public JSONObject platformPeople(){
        JSONObject result = new JSONObject();
        Integer olderTotal = 0;
        Integer childTotal = 0;
        Integer helperTotal = 0;
        Integer teacherTotal = 0;
        //老人 儿童注册人数
        String sql1 = "SELECT COUNT(*) c,archive_type from base_patient WHERE archive_type is  not null and del='1' GROUP BY archive_type";
        List<Map<String,Object>> list1 = jdbcTemplate.queryForList(sql1);
        for(Map<String,Object> map:list1){
            String archive_type = map.get("archive_type").toString();
            Integer num = Integer.valueOf(map.get("c").toString());
            if("1".equals(archive_type)){
                olderTotal = num;
                continue;
            }
            if("2".equals(archive_type)){
                childTotal = num;
            }
        }
        //助老员和教师注册人数
        String sql2 = "SELECT COUNT(a.id) c,a.doctor_level from base_doctor a,base_doctor_hospital h where a.id=h.doctor_code and a.del = '1' and h.del = '1' " +
                "and a.doctor_level is not null and h.org_code not in ( " +
                "SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org'  " +
                ") GROUP BY a.doctor_level";
        List<Map<String,Object>> list2 = jdbcTemplate.queryForList(sql2);
        for(Map<String,Object> map:list2){
            String archive_type = map.get("doctor_level").toString();
            Integer num = Integer.valueOf(map.get("c").toString());
            if("2".equals(archive_type)){
                helperTotal = num;
                continue;
            }
            if("3".equals(archive_type)){
                teacherTotal = num;
            }
        }
        //helper 助老员,teacher 教师,child 幼儿,olderWx 老人公众号,olderPad 老人平板
        String onlineCount = imUtil.getOnlineCountByType("");
        JSONObject jsonObject = JSON.parseObject(onlineCount).getJSONObject("data");
        //olderPad":0,"olderWx":0,"child":0,"teacher":0,"helper":0
        Integer helperOn = jsonObject.getInteger("helper");
        Integer teacherOn = jsonObject.getInteger("teacher");
        Integer childOn = jsonObject.getInteger("child");
        Integer olderWxOn = jsonObject.getInteger("olderWx");
        Integer olderPadOn = jsonObject.getInteger("olderPad");
        int repeatNum = 0;
        if(olderWxOn>0&&olderPadOn>0){
            //2个都大于0 要计算重复的人数
            String onlineOlderWx = imUtil.getOnlineListByType("olderWx");
            JSONObject olderWx = JSON.parseObject(onlineOlderWx);
            List<String> list = new ArrayList(olderWx.size());
            olderWx.entrySet().stream().forEach(one->{
                list.add(one.getKey());
            });
            String onlineOlderPad = imUtil.getOnlineListByType("olderPad");
            JSONObject olderPad = JSON.parseObject(onlineOlderPad);
            for (Map.Entry<String,Object> s:olderPad.entrySet()){
                if(list.contains(s.getKey())){
                    repeatNum++;
                }
            }
        }
        Integer olderOff = olderTotal - olderWxOn - olderPadOn + repeatNum;
        olderOff = olderOff>0?olderOff:0;
        Integer childOff = childTotal - childOn;
        Integer helperOff = helperTotal - helperOn;
        Integer teacherOff = teacherTotal - teacherOn;
        result.put("olderTotal",olderTotal);
        result.put("childTotal",childTotal);
        result.put("helperTotal",helperTotal);
        result.put("teacherTotal",teacherTotal);
        result.put("helperOn",helperOn);
        result.put("teacherOn",teacherOn);
        result.put("childOn",childOn);
        result.put("olderWxOn",olderWxOn);
        result.put("olderPadOn",olderPadOn);
        result.put("childOff",childOff);
        result.put("helperOff",helperOff);
        result.put("teacherOff",teacherOff);
        result.put("olderOff",olderOff);
        return result;
    }
    /**
    /**
     * 统计总数
     * 统计总数
     * @param endDate
     * @param endDate

+ 6 - 6
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/wechat/WeiXinEventProcess.java

@ -144,36 +144,36 @@ public class WeiXinEventProcess {
    public void setUrlItems(List<Map<String, String>> articles) {
    public void setUrlItems(List<Map<String, String>> articles) {
        Map<String, String> articleBooking = new HashMap<>();
        Map<String, String> articleBooking = new HashMap<>();
        // 图文URL
        // 图文URL
        String urlBooking = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}&amp;redirect_uri=https%3A%2F%2Fzhyzh.hzxc.gov.cn%2Fmedical-care-patient%2Fhome%2Findex&amp;response_type=code&amp;scope=snsapi_base&amp;state=STATE#wechat_redirect";
        String urlBooking = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}&amp;redirect_uri=https%3A%2F%2Fzhyzh.gongshu.gov.cn%2Fmedical-care-patient%2Fhome%2Findex&amp;response_type=code&amp;scope=snsapi_base&amp;state=STATE#wechat_redirect";
        urlBooking = urlBooking.replace("{appId}", appId);
        urlBooking = urlBooking.replace("{appId}", appId);
        articleBooking.put("Url", urlBooking);
        articleBooking.put("Url", urlBooking);
        articleBooking.put("Title", "你好啊,欢迎来到朝晖云照护!");
        articleBooking.put("Title", "你好啊,欢迎来到朝晖云照护!");
        articleBooking.put("Description", "这里是智慧养老和健康管理服务社区+幼儿成长教育服务平台\n" +
        articleBooking.put("Description", "这里是智慧养老和健康管理服务社区+幼儿成长教育服务平台\n" +
                "我们陪你一起,关爱老人,呵护孩子!\n" +
                "我们陪你一起,关爱老人,呵护孩子!\n" +
                "感谢关注,点击下方菜单直接进入朝晖云照护平台");
                "感谢关注,点击下方菜单直接进入朝晖云照护平台");
        articleBooking.put("PicUrl", "https://zhyzh.hzxc.gov.cn/image/index.png");
        articleBooking.put("PicUrl", "https://zhyzh.gongshu.gov.cn/image/index.png");
        articles.add(articleBooking);
        articles.add(articleBooking);
        Map<String, String> articleDevice = new HashMap<>();
        Map<String, String> articleDevice = new HashMap<>();
        // 图文URL
        // 图文URL
        String urlDevice = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}&amp;redirect_uri=https%3A%2F%2Fzhyzh.hzxc.gov.cn%2Fmedical-care-patient%2FonlineRegistration%2Findex&amp;response_type=code&amp;scope=snsapi_base&amp;state=STATE#wechat_redirect";
        String urlDevice = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}&amp;redirect_uri=https%3A%2F%2Fzhyzh.gongshu.gov.cn%2Fmedical-care-patient%2FonlineRegistration%2Findex&amp;response_type=code&amp;scope=snsapi_base&amp;state=STATE#wechat_redirect";
        urlDevice = urlDevice.replace("{appId}", appId);
        urlDevice = urlDevice.replace("{appId}", appId);
        articleDevice.put("Url", urlDevice);
        articleDevice.put("Url", urlDevice);
        articleDevice.put("Title", "在线入园");
        articleDevice.put("Title", "在线入园");
        articleDevice.put("Description", "申请专业托育机构入园资格");
        articleDevice.put("Description", "申请专业托育机构入园资格");
        articleDevice.put("PicUrl", "https://zhyzh.hzxc.gov.cn/image/doorCoach.png");
        articleDevice.put("PicUrl", "https://zhyzh.gongshu.gov.cn/image/doorCoach.png");
        articles.add(articleDevice);
        articles.add(articleDevice);
        Map<String, String> articleFamily = new HashMap<>();
        Map<String, String> articleFamily = new HashMap<>();
        // 图文URL
        // 图文URL
        String urlFamily = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}&amp;redirect_uri=https%3A%2F%2Fzhyzh.hzxc.gov.cn%2Fmedical-care-patient%2FlifeCare%2Findex&amp;response_type=code&amp;scope=snsapi_base&amp;state=STATE#wechat_redirect";
        String urlFamily = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}&amp;redirect_uri=https%3A%2F%2Fzhyzh.gongshu.gov.cn%2Fmedical-care-patient%2FlifeCare%2Findex&amp;response_type=code&amp;scope=snsapi_base&amp;state=STATE#wechat_redirect";
        urlFamily = urlFamily.replace("{appId}", appId);
        urlFamily = urlFamily.replace("{appId}", appId);
        articleFamily.put("Url", urlFamily);
        articleFamily.put("Url", urlFamily);
        articleFamily.put("Title", "上门预约");
        articleFamily.put("Title", "上门预约");
        articleFamily.put("Description", "预约幼儿教育专家上门育儿指导");
        articleFamily.put("Description", "预约幼儿教育专家上门育儿指导");
        articleFamily.put("PicUrl", "https://zhyzh.hzxc.gov.cn/image/online.png");
        articleFamily.put("PicUrl", "https://zhyzh.gongshu.gov.cn/image/online.png");
        articles.add(articleFamily);
        articles.add(articleFamily);
    }
    }

+ 3 - 3
svr/svr-cloud-care/src/main/resources/application.yml

@ -429,7 +429,7 @@ spring:
    port: 6379  # Redis server port.
    port: 6379  # Redis server port.
    password: Kb6wKDQP1W4
    password: Kb6wKDQP1W4
fastDFS:
fastDFS:
  fastdfs_file_url: https://zhyzh.hzxc.gov.cn/fastdfs/
  fastdfs_file_url: https://zhyzh.gongshu.gov.cn/fastdfs/
fast-dfs:
fast-dfs:
  tracker-server: 10.18.43.40:22122 #服务器地址
  tracker-server: 10.18.43.40:22122 #服务器地址
# 短信验证码发送的客户端标识,居民端
# 短信验证码发送的客户端标识,居民端
@ -455,7 +455,7 @@ wechat:
  apiKey: zhongjianxinlianxiamenkejiyouxia
  apiKey: zhongjianxinlianxiamenkejiyouxia
  mchId: 1611059985
  mchId: 1611059985
  wechat_token: 27eb3bb24f149a7760cf1bb154b08041
  wechat_token: 27eb3bb24f149a7760cf1bb154b08041
  wechat_base_url: https%3A%2F%2Fzhyzh.hzxc.gov.cn%2FcloudCare%2F
  wechat_base_url: https%3A%2F%2Fzhyzh.gongshu.gov.cn%2FcloudCare%2F
  accId: gh_da06ed9e5751
  accId: gh_da06ed9e5751
  id: hz_yyyzh_wx  # base库中,wx_wechat 的id字段
  id: hz_yyyzh_wx  # base库中,wx_wechat 的id字段
  flag: true #演示环境  true走Mysql数据库  false走Oracle
  flag: true #演示环境  true走Mysql数据库  false走Oracle
@ -511,4 +511,4 @@ base:
  hospitalUrl: http://127.0.0.7:10022/
  hospitalUrl: http://127.0.0.7:10022/
cloudCare:
cloudCare:
  deviceUrl: https://zhyzh.hzxc.gov.cn/device/
  deviceUrl: https://zhyzh.gongshu.gov.cn/device/

+ 1 - 1
svr/svr-cloud-care/src/main/resources/wechat/weixin_menu.txt

@ -3,7 +3,7 @@
   {
   {
	  "name":"进入云照护",
	  "name":"进入云照护",
	  "type":"view",
	  "type":"view",
      "url":"https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx2c55f5b7b2f3cb56&redirect_uri=https%3A%2F%2Fzhyzh.hzxc.gov.cn%2Fmedical-care-patient%2Fhome%2Findex&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
      "url":"https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx2c55f5b7b2f3cb56&redirect_uri=https%3A%2F%2Fzhyzh.gongshu.gov.cn%2Fmedical-care-patient%2Fhome%2Findex&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
   }
   }
]
]
}
}

+ 2 - 2
svr/svr-cloud-job/src/main/resources/application.yml

@ -138,7 +138,7 @@ wechat:
  appId: wx2c55f5b7b2f3cb56
  appId: wx2c55f5b7b2f3cb56
  appSecret: 0dd9927e58125ad5f0efb9299860d145
  appSecret: 0dd9927e58125ad5f0efb9299860d145
  wechat_token: 27eb3bb24f149a7760cf1bb154b08041
  wechat_token: 27eb3bb24f149a7760cf1bb154b08041
  wechat_base_url: https%3A%2F%2Fzhyzh.hzxc.gov.cn%2Fcityihealth%2FcloudCare%2F
  wechat_base_url: https%3A%2F%2Fzhyzh.gongshu.gov.cn%2Fcityihealth%2FcloudCare%2F
  accId: gh_da06ed9e5751
  accId: gh_da06ed9e5751
  id: hz_yyyzh_wx  # base库中,wx_wechat 的id字段
  id: hz_yyyzh_wx  # base库中,wx_wechat 的id字段
  flag: true #演示环境  true走Mysql数据库  false走Oracle
  flag: true #演示环境  true走Mysql数据库  false走Oracle
@ -196,7 +196,7 @@ wechat:
  appId: wx2c55f5b7b2f3cb56
  appId: wx2c55f5b7b2f3cb56
  appSecret: 0dd9927e58125ad5f0efb9299860d145
  appSecret: 0dd9927e58125ad5f0efb9299860d145
  wechat_token: 27eb3bb24f149a7760cf1bb154b08041
  wechat_token: 27eb3bb24f149a7760cf1bb154b08041
  wechat_base_url: https%3A%2F%2Fzhyzh.hzxc.gov.cn%2Fcityihealth%2FcloudCare%2F
  wechat_base_url: https%3A%2F%2Fzhyzh.gongshu.gov.cn%2Fcityihealth%2FcloudCare%2F
  accId: gh_da06ed9e5751
  accId: gh_da06ed9e5751
  id: hz_yyyzh_wx  # base库中,wx_wechat 的id字段
  id: hz_yyyzh_wx  # base库中,wx_wechat 的id字段
  flag: true #演示环境  true走Mysql数据库  false走Oracle
  flag: true #演示环境  true走Mysql数据库  false走Oracle