Selaa lähdekoodia

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

humingfen 7 vuotta sitten
vanhempi
commit
ac77e802f1

+ 23 - 0
common/common-entity/src/main/java/com/yihu/wlyy/entity/wechat/WxOpenidTemp.java

@ -0,0 +1,23 @@
package com.yihu.wlyy.entity.wechat;
import com.yihu.wlyy.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created by Trick on 2018/6/28.
 */
@Entity
@Table(name = "wx_openid_temp")
public class WxOpenidTemp extends IdEntity {
    private String openid;
    public String getOpenid() {
        return openid;
    }
    public void setOpenid(String openid) {
        this.openid = openid;
    }
}

+ 13 - 13
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/SmjkService.java

@ -274,19 +274,19 @@ public class SmjkService {
    {
        Map<String,String> params = new HashMap<>();
        String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<root>\n" +
                "<id_card>"+idcard+"</id_card>\n" +
                "<patient_name>"+patientName+"</patient_name>\n" +
                "<ssid>"+ssid+"</ssid>\n" +
                "<section_type>"+sectionType+"</section_type>\n" +
                "<start_time>"+startTime+"</start_time>\n" +
                "<org_code>"+orgCode+"</org_code>\n" +
                "<dept_code>"+deptCode+"</dept_code>\n" +
                "<dept_name>"+deptName+"</dept_name>\n" +
                "<doctor_code>"+doctorCode+"</doctor_code>\n" +
                "<doctor_name>"+doctorName+"</doctor_name>\n";
                "<root>" +
                "<id_card>"+idcard+"</id_card>" +
                "<patient_name>"+patientName+"</patient_name>" +
                "<ssid>"+ssid+"</ssid>" +
                "<section_type>"+sectionType+"</section_type>" +
                "<start_time>"+startTime+"</start_time>" +
                "<org_code>"+orgCode+"</org_code>" +
                "<dept_code>"+deptCode+"</dept_code>" +
                "<dept_name>"+deptName+"</dept_name>" +
                "<doctor_code>"+doctorCode+"</doctor_code>" +
                "<doctor_name>"+doctorName+"</doctor_name>";
        if(!StringUtil.isEmpty(patientPhone)) {
            xml += "<patient_phone>" + patientPhone + "</patient_phone>\n" +
            xml += "<patient_phone>" + patientPhone + "</patient_phone>" +
                   "</root>";
        }
        else{
@ -300,7 +300,7 @@ public class SmjkService {
        params.put("strCondition",api.encodeParam(key,xml));
        params.put("strCredential",api.encodeParam(key,"<root><org code=\"jtqy\" /><visitor type=\"0\" code=\"jtqy\" key=\"jtqy\" /></root>"));
        params.put("strKey",key.getKey());
        
        String response = postSecondSMJK("urp/WebRegisterByFamily","确认预约接口",params,false);
        return response;

+ 2 - 2
patient-co-service/wlyy_service/src/main/resources/application.yml

@ -231,6 +231,6 @@ es:
    FollowUpContent: wlyy_followup_content
    QuestionnaireWinning: wlyy_questionnaire_winning
    patientDevice: wlyy_patient_device
  host:  http://59.61.92.90:9065,http://59.61.92.90:9067
  tHost: 59.61.92.90:9066,59.61.92.90:9068
  host:  http://10.95.22.155:9200,http://10.95.22.156:9200
  tHost: 10.95.22.155:9300,10.95.22.156:9300
  clusterName: jkzl

+ 1 - 1
patient-co/patient-co-wlyy/pom.xml

@ -567,7 +567,7 @@
                    <target>1.8</target>
                    <compilerArguments>
                        <verbose/>
                        <bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
                        <bootclasspath>${java.home}/lib/rt.jar${path.separator}${java.home}/lib/jce.jar</bootclasspath>
                    </compilerArguments>
                </configuration>
                <version>3.1</version>

+ 11 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/wechat/WxOpenidTempDao.java

@ -0,0 +1,11 @@
package com.yihu.wlyy.repository.wechat;
import com.yihu.wlyy.entity.wechat.WxOpenidTemp;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Trick on 2018/6/28.
 */
public interface WxOpenidTempDao extends PagingAndSortingRepository<WxOpenidTemp, Long>, JpaSpecificationExecutor<WxOpenidTemp> {
}

+ 14 - 6
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/bank/TaskService.java

@ -84,17 +84,25 @@ public class TaskService {
     */
    public JSONObject selectActivity(JSONObject object,Integer page,Integer size){
        String response = null;
        Patient patient = patientDao.findByCode(object.getString("patientId"));
	    if(object.containsKey("patientid")){
		    Patient patient = patientDao.findByCode(object.getString("patientId"));
		    if (patient != null){
			    object.put("patientIdcard",patient.getIdcard());
			    object.put("unionId",patient.getUnionid());
			    object.remove("patientId");
		    }
	    }
        String url =getBaseUrl() + "findActivity";
        Map<String,String> params = new HashMap<>();
        if (patient != null){
            object.put("patientIdcard",patient.getIdcard());
            object.put("unionId",patient.getUnionid());
        }
        object.remove("patientId");
        params.put("activity",object.toJSONString());
        params.put("page",page.toString());
        params.put("size",size.toString());
        
        params.put("activity",object.toJSONString());
        
        try {
            response = httpClientUtil.httpPost(url,params);

+ 114 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/weixin/openid/WxOpenidTempService.java

@ -0,0 +1,114 @@
package com.yihu.wlyy.service.weixin.openid;
import com.yihu.wlyy.entity.wechat.WxOpenidTemp;
import com.yihu.wlyy.repository.wechat.WxOpenidTempDao;
import com.yihu.wlyy.util.HttpUtil;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import springfox.documentation.spring.web.json.Json;
import java.util.ArrayList;
import java.util.List;
/**
 * Created by Trick on 2018/6/28.
 */
@Service
@Transactional
public class WxOpenidTempService {
    private static Logger logger = LoggerFactory.getLogger(WxOpenidTempService.class);
    @Value("${wechat.appId}")
    private String appId;
    @Value("${wechat.appSecret}")
    private String appSecret;
    @Autowired
    private HttpUtil HttpUtil;
    @Autowired
    private WxOpenidTempDao wxOpenidTempDao;
    public String loadWeChatOpenIDList(){
        //微信开发者文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140840
        /**
         * 返回成功格式:
         * {"total":2,
               "count":2,
               "data":{
               "openid":["OPENID1","OPENID2"]},
               "next_openid":"NEXT_OPENID"
            }
         */
        /**
         * 返回失败格式:
         *
         * {"errcode":40013,"errmsg":"invalid appid"}
         */
        String openidList_url = "https://api.weixin.qq.com/cgi-bin/user/get";
        String params ="access_token="+getToken()+"&next_openid=";
        String result = HttpUtil.sendGet(openidList_url, params);
        JSONObject json = new JSONObject(result);
        if (json.has("data")) {
            JSONObject jsonObject = json.getJSONObject("data");
            JSONArray array = jsonObject.getJSONArray("openid");
            List<WxOpenidTemp> list = new ArrayList<>();
            for(int i=0;i< array.length();i++){
                WxOpenidTemp wx = new WxOpenidTemp();
                String openid = (String) array.get(i);
                wx.setOpenid(openid);
                list.add(wx);
            }
            wxOpenidTempDao.save(list);
            String nextOpenid = json.getString("next_openid");
            //递归调用获取openid并存储
            if(StringUtils.isNotBlank(nextOpenid)){
                nextOpenIDList(nextOpenid);
            }
        }
        return "1";
    }
    public void nextOpenIDList(String nextOpenid){
        String openidList_url = "https://api.weixin.qq.com/cgi-bin/user/get";
        String params ="access_token="+getToken()+"&next_openid="+nextOpenid;
        String result = HttpUtil.sendGet(openidList_url, params);
        JSONObject json = new JSONObject(result);
        if (json.has("data")) {
            JSONObject jsonObject = json.getJSONObject("data");
            JSONArray array = jsonObject.getJSONArray("openid");
            List<WxOpenidTemp> list = new ArrayList<>();
            for(int i=0;i< array.length();i++){
                WxOpenidTemp wx = new WxOpenidTemp();
                String openid = (String) array.get(i);
                wx.setOpenid(openid);
                list.add(wx);
            }
            wxOpenidTempDao.save(list);
            String next = json.getString("next_openid");
            if(StringUtils.isNotBlank(nextOpenid)){
                nextOpenIDList(next);
            }
        }
    }
    public String  getToken(){
        String token_url = "https://api.weixin.qq.com/cgi-bin/token";
        String params = "grant_type=client_credential&appid=" + appId + "&secret=" + appSecret;
        String result = HttpUtil.sendGet(token_url, params);
        JSONObject json = new JSONObject(result);
        if (json.has("access_token")) {
            String token = json.get("access_token").toString();
            return token;
        }
        return "";
    }
}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/health/bank/TaskController.java

@ -44,7 +44,7 @@ public class TaskController extends BaseController{
                                    @RequestParam(value = "size", required = false)Integer size){
        try {
            JSONObject object = JSONObject.parseObject(task);
            object.put("patientId",getUID());
            object.put("patientId",getRepUID());
            return write(200,"查询成功","data",service.selectActivity(object,page,size));
        }catch (Exception e){
            error(e);

+ 35 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/wx/OpenidController.java

@ -0,0 +1,35 @@
package com.yihu.wlyy.web.wx;
import com.yihu.wlyy.service.weixin.openid.WxOpenidTempService;
import com.yihu.wlyy.web.WeixinBaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by Trick on 2018/6/28
 */
@RestController
@RequestMapping(value = "/wx/Openid", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(description = "微信openid相关接口")
public class OpenidController extends WeixinBaseController {
    @Autowired
    private WxOpenidTempService wxOpenidTempService;
    @ApiOperation(value = "微信小程序下载用户openid")
    @RequestMapping(value = "/loadWeChatOpenIDList", method = RequestMethod.POST)
    public String loadWeChatOpenIDList(){
        try {
            return write(200, "请求成功", "data", wxOpenidTempService.loadWeChatOpenIDList());
        }catch (Exception e){
            error(e);
            return error(-1, "失败");
        }
    }
}

+ 20 - 20
patient-co/patient-co-wlyy/src/main/resources/logback.xml

@ -23,20 +23,20 @@
        </encoder>
    </appender>
  <!--  <appender name="business_m" class="com.yihu.base.es.ElasticsearchAppender">
        <hosts>http://172.19.103.68:9200</hosts>
        <index>business</index>
        <type>business</type>
        <clusterName>jkzl</clusterName>
        <rolling>year</rolling>
    </appender>
    <appender name="interface_call_m" class="com.yihu.base.es.ElasticsearchAppender">
        <hosts>http://172.19.103.68:9200</hosts>
        <index>interface</index>
        <type>interface</type>
        <clusterName>jkzl</clusterName>
        <rolling>year</rolling>
    </appender>-->
    <!--  <appender name="business_m" class="com.yihu.base.es.ElasticsearchAppender">
          <hosts>http://172.19.103.68:9200</hosts>
          <index>business</index>
          <type>business</type>
          <clusterName>jkzl</clusterName>
          <rolling>year</rolling>
      </appender>
      <appender name="interface_call_m" class="com.yihu.base.es.ElasticsearchAppender">
          <hosts>http://172.19.103.68:9200</hosts>
          <index>interface</index>
          <type>interface</type>
          <clusterName>jkzl</clusterName>
          <rolling>year</rolling>
      </appender>-->
    <!-- project default level -->
    <logger name="com.yihu.wlyy" level="INFO"/>
@ -44,12 +44,12 @@
    <logger name="jdbc.sqltiming" level="INFO"/>
   <!-- <logger name="com.yihu.wlyy.logs.BusinessLogs" level="INFO" additivity="false">
        <appender-ref ref="business_m"/>
    </logger>
    <logger name="com.yihu.wlyy.logs.InterfaceCallLogs" level="INFO" additivity="false">
        <appender-ref ref="interface_call_m"/>
    </logger>-->
    <!-- <logger name="com.yihu.wlyy.logs.BusinessLogs" level="INFO" additivity="false">
         <appender-ref ref="business_m"/>
     </logger>
     <logger name="com.yihu.wlyy.logs.InterfaceCallLogs" level="INFO" additivity="false">
         <appender-ref ref="interface_call_m"/>
     </logger>-->
    <!--处方支付日志 start-->