Explorar o código

计划免疫-医生端接口

huangwenjie %!s(int64=7) %!d(string=hai) anos
pai
achega
7ee51bd868
Modificáronse 15 ficheiros con 391 adicións e 49 borrados
  1. 23 0
      common/common-entity/src/main/java/com/yihu/wlyy/entity/wechat/WxOpenidTemp.java
  2. 48 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/healthbank/ActivityController.java
  3. 3 3
      patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/healthbank/activity_list_js.jsp
  4. 7 1
      patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/healthbank/activity_modify.jsp
  5. 33 1
      patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/healthbank/activity_modify_js.jsp
  6. 0 2
      patient-co-service/wlyy_device/src/main/java/com/yihu/hos/device/service/DeviceService.java
  7. 1 1
      patient-co/patient-co-wlyy/pom.xml
  8. 11 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/wechat/WxOpenidTempDao.java
  9. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/device/PatientDeviceLogService.java
  10. 12 9
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/bank/TaskService.java
  11. 111 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/weixin/openid/WxOpenidTempService.java
  12. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/health/bank/TaskController.java
  13. 36 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/health/bank/AccountController.java
  14. 35 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/wx/OpenidController.java
  15. 69 30
      patient-co/patient-co-wlyy/src/main/resources/logback.xml

+ 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;
    }
}

+ 48 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/healthbank/ActivityController.java

@ -2,12 +2,26 @@ package com.yihu.wlyy.controller.manager.healthbank;
import com.yihu.wlyy.controller.BaseController;
import com.yihu.wlyy.service.manager.healthbank.ActivityService;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.FileCopyUtils;
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.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import java.util.Random;
/**
 * Created by humingfen on 2018/6/19.
@ -16,6 +30,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("admin/activity")
public class ActivityController extends BaseController {
    private Logger logger = LoggerFactory.getLogger(ActivityController.class);
    @Autowired
    private ActivityService activityService;
@ -89,6 +104,39 @@ public class ActivityController extends BaseController {
        }
    }
    @RequestMapping(value = "upload", produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String upload(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request) throws IOException {
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
        // 创建文件夹
        String rootpath = request.getSession().getServletContext().getRealPath("/");
        File folder = new File(rootpath + "/image/");
        if (!folder.exists()) {
            folder.mkdirs();
        }
        String fileName = null;
        String newFileName = null;
        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
            // 上传文件
            MultipartFile mf = entity.getValue();
            fileName = mf.getOriginalFilename();
            String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
            // 重命名文件
            SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
            newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt;
            File uploadFile = new File(rootpath + "/image/" + newFileName);
            // 拷贝文件流到指定文件路径
            FileCopyUtils.copy(mf.getBytes(), uploadFile);
        }
        JSONObject json = new JSONObject();
        json.put("status", 200);
        json.put("msg", "上传成功");
        // 图片标识对象的HTTP链接
        json.put("urls", String.join(",", "/image/" + newFileName));
        return json.toString();
    }
    /*@RequestMapping(value = "delete")
    @ResponseBody
    public String delete(String id) {

+ 3 - 3
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/healthbank/activity_list_js.jsp

@ -153,7 +153,7 @@
                    $.subscribe('activity:info:view', function (event, id) {
                        var title = '查看信息';
                        self.deviceInfoDialog = $.ligerDialog.open({
                            height: 600,
                            height: 700,
                            width: 560,
                            urlParms: {"id": id, "type": "view"},
                            title: title,
@ -163,7 +163,7 @@
                    $.subscribe('activity:info:edit', function (event, id) {
                        var title = '编辑信息';
                        self.activityInfoDialog = $.ligerDialog.open({
                            height: 600,
                            height: 700,
                            width: 560,
                            urlParms: {"id": id, "type": "edit"},
                            title: title,
@ -174,7 +174,7 @@
                    $.subscribe('activity:info:create', function (event) {
                        var title = '新增活动';
                        self.activityInfoDialog = $.ligerDialog.open({
                            height: 600,
                            height: 700,
                            width: 560,
                            urlParms: {"type": "create"},
                            title: title,

+ 7 - 1
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/healthbank/activity_modify.jsp

@ -15,7 +15,7 @@
    </style>
</head>
<body>
<div id="div_activity_info_form" data-role-form class="m-form-inline f-mt20 f-ml30" data-role-form>
<div id="div_activity_info_form" data-role-form class="m-form-inline f-mt20 f-ml30" >
    <input type="hidden" id="inp_id" value='${id}' data-attr-scan="id"/>
    <input type="hidden" id="type" value='${type}'/>
    <div class="m-form-group" style="padding:10 0 10 0">
@ -48,6 +48,12 @@
            <input type="text"  id="inp_type" class="f-w240 validate-special-char" data-attr-scan="type"/>
        </div>
    </div>
    <div class="m-form-group">
        <label class="label_title" style="width:120px">活动图片</label>
        <div class="l-text-wrapper m-form-control">
            <input type="file"  id="img_upload" class="f-w240 validate-special-char" data-attr-scan="img" accept="image/*" multiple />
        </div>
    </div>
    <div class="m-form-group">
        <label class="label_title" style="width:120px">开始时间</label>
        <div class="l-text-wrapper m-form-control essential">

+ 33 - 1
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/healthbank/activity_modify_js.jsp

@ -20,6 +20,7 @@
            activityInfo = {
                //变量
                $form: $("#div_activity_info_form"),
                $imgUrl: $("#img_upload"),
                init: function () {
                    _this = this;
                    this.$form.attrScan();
@ -69,6 +70,35 @@
                            {text: 'HOSPITAL', id: '4'},
                        ]
                    })//城市类型
                    $("#img_upload").on("change",function () {
                        $("#url").remove();
                        var length = this.files.length;
                        var imgUrl = '';
                        for(var i=0;i<length;i++){
                            var fileObj = document.getElementById('img_upload').files[i];
                            if(fileObj == null){
                                confirmx('请先选择一个文件',"${ctx}")
                            }else {
                                var formData = new FormData();
                                formData.append("file", fileObj);
                                $.ajax({
                                    url:ctx + "/admin/activity/upload",
                                    method: "post",
                                    data:formData,
                                    cache: false,
                                    processData: false,
                                    contentType: false,
                                    success: function (data) {
                                        if(imgUrl != ''){
                                            imgUrl = imgUrl +',';
                                        }
                                        imgUrl = imgUrl + data.urls;
                                        _this.$imgUrl = imgUrl;
                                    },
                                });
                            }
                        }
                    })
                },
                initForm: function () {
@ -99,6 +129,8 @@
                                $("#inp_status").ligerComboBox("selectValue",data.status);
                                $("#inp_isFlag").ligerComboBox("selectValue",data.isFlag);
                                $("#inp_areaType").ligerComboBox("selectValue",data.areaType);
                                var length = data.img.split(',').length;
                                $('#img_upload').after('<li id="url">'+length+'张图片</li>');
                            } else {
                                $.Notice.error(result.msg);
                            }
@ -132,7 +164,7 @@
                    var self = this;
                    $("#btn_save").click(function () {
                        var values = self.$form.Fields.getValues();
                        values.img = self.$imgUrl;
                        values.status = $("#inp_status").ligerComboBox("getValue");
                        values.isFlag = $("#inp_isFlag").ligerComboBox("getValue");
                        values.areaType = $("#inp_areaType").ligerComboBox("getValue");

+ 0 - 2
patient-co-service/wlyy_device/src/main/java/com/yihu/hos/device/service/DeviceService.java

@ -509,7 +509,6 @@ public class DeviceService extends BaseService{
                if (signFamily!=null){
                    hospital = signFamily.getHospital();
                }
                String flagStr = "";
                if (deviceType==1){
                    flagStr="BP_MEASURE";
@ -529,7 +528,6 @@ public class DeviceService extends BaseService{
                            params.add(new BasicNameValuePair("creditsDetail", "{\"tradeType\":\"ACTIVITY_TASK\",\"flag\":\""+flagStr+"\",\"tradeDirection\":1,\"status\":1,\"patientId\":\""+result.getUser()+"\",\"hospital\":\"350205\"}"));
                            String response = HttpClientUtil.post(url, params, "UTF-8");
                            System.out.println(response);
                            com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(response);
                            String status = jsonObject.getString("status");
                            if (!"200".equals(status)){

+ 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;${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> {
}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/device/PatientDeviceLogService.java

@ -74,7 +74,7 @@ public class PatientDeviceLogService extends BaseService {
                "  SELECT sf.name, pd.* FROM wlyy_patient_device_log pd" +
                "  LEFT JOIN wlyy_sign_family sf ON pd.patient = sf.patient" +
                "  WHERE" +
                "   pd.is_del = 1 and (sf.doctor= '" +doctor+"' or sf.doctor_health = '"+doctor+"')"+
                "  pd.is_del = 1 and (sf.doctor= '" +doctor+"' or sf.doctor_health = '"+doctor+"') and sf.`status`>0"+
                "  ORDER BY" +
                "  create_time DESC) a" +
                " GROUP BY a.device_sn) b" +

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

@ -84,20 +84,23 @@ public class TaskService {
     */
    public JSONObject selectActivity(JSONObject object,Integer page,Integer size){
        String response = null;
	    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<>();
        
        
        params.put("activity",object.toJSONString());
        params.put("page",page.toString());
        params.put("size",size.toString());
        
        if(object.containsKey("patientid")){
            String patient = object.getString("patientid");
            Patient patient2 = patientDao.findByCode(patient);
            object.put("patientIdcard",patient2.getIdcard());
            object.put("unionId",patient2.getUnionid());
            object.remove("patientid");
        }
        params.put("activity",object.toJSONString());
        
        try {

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

@ -0,0 +1,111 @@
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 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();
        String result = HttpUtil.sendGet(openidList_url, params);
        JSONObject json = new JSONObject(result);
        if (json.has("data")) {
             JSONArray array = json.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")) {
            JSONArray array = json.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",getRepUID());
            object.put("patientId",getRepUID());
            return write(200,"查询成功","data",service.selectActivity(object,page,size));
        }catch (Exception e){
            error(e);

+ 36 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/health/bank/AccountController.java

@ -4,9 +4,16 @@
package com.yihu.wlyy.web.third.health.bank;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.wechat.WechatTemplateConfig;
import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.repository.wechat.WechatTemplateConfigDao;
import com.yihu.wlyy.service.app.health.bank.CreditLogService;
import com.yihu.wlyy.service.app.health.bank.TaskService;
import com.yihu.wlyy.task.PushMsgTask;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.web.BaseController;
import com.yihu.wlyy.wechat.util.WeiXinAccessTokenUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -19,6 +26,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
 * @author wangzhinan
 * @create 2018-05-07 8:50
@ -34,6 +44,14 @@ public class AccountController extends BaseController {
    private CreditLogService service;
    @Autowired
    private TaskService taskService;
    @Autowired
    private WechatTemplateConfigDao templateConfigDao;
    @Autowired
    private PushMsgTask pushMsgTask;
    @Autowired
    private WeiXinAccessTokenUtils weiXinAccessTokenUtils;
    @Autowired
    private PatientDao patientDao;
@ -141,4 +159,22 @@ public class AccountController extends BaseController {
            return error(-1,e.getMessage());
        }
    }
    @RequestMapping(value = "/insertCredits",method = RequestMethod.POST)
    @ApiOperation("添加积分")
    public String insert(@ApiParam(name = "creditsDetail",value = "居民id集合")
                         @RequestParam(name = "creditsDetail") String creditsDetail){
        try {
            JSONObject object = JSONObject.parseObject(creditsDetail);
            JSONObject result = service.insert(object);
            String status = result.getString("status");
            logger.info("健康银行居民新增积分:"+result.toString());
            return write(200,"添加成功","data",result);
        }catch (Exception e){
            error(e);
            return error(-1,e.getMessage());
        }
    }
}

+ 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, "失败");
        }
    }
}

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

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    <logger name="io.searchbox" level="WARN"/>
    <jmxConfigurator/>
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
@ -12,9 +11,9 @@
    </appender>
    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/tmp/logs/wlyy.log</file>
        <file>/Users/Mewtwo/ideaSpace/log/tmp/logs/wlyy.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/tmp/logs/wlyy.%d{yyyy-MM-dd}.log</fileNamePattern>
            <fileNamePattern>/Users/Mewtwo/ideaSpace/log/tmp/logs/wlyy.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <encoder>
@ -23,42 +22,78 @@
        </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 name="business_m" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/Users/Mewtwo/ideaSpace/log/wlyy_logs/business_m.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/Users/Mewtwo/ideaSpace/log/wlyy_logs/rolling/business_m.%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%msg%n</pattern>
            <charset class="java.nio.charset.Charset">UTF-8</charset>
        </encoder>
    </appender>
    <appender name="business_d" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/Users/Mewtwo/ideaSpace/log/wlyy_logs/business.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/Users/Mewtwo/ideaSpace/log/wlyy_logs/dayLogs/business.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%msg%n</pattern>
            <charset class="java.nio.charset.Charset">UTF-8</charset>
        </encoder>
    </appender>
    <appender name="interface_call_m" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/Users/Mewtwo/ideaSpace/log/wlyy_logs/interface_call_m.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/Users/Mewtwo/ideaSpace/log/wlyy_logs/rolling/interface_call_m.%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%msg%n</pattern>
            <charset class="java.nio.charset.Charset">UTF-8</charset>
        </encoder>
    </appender>
    <appender name="interface_call_d" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/Users/Mewtwo/ideaSpace/log/wlyy_logs/interface_call.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/Users/Mewtwo/ideaSpace/log/wlyy_logs/dayLogs/interface_call.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%msg%n</pattern>
            <charset class="java.nio.charset.Charset">UTF-8</charset>
        </encoder>
    </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"/>
    <logger name="com.yihu.wlyy" level="INFO" />
    <!--log4jdbc -->
    <logger name="jdbc.sqltiming" level="INFO"/>
   <!-- <logger name="com.yihu.wlyy.logs.BusinessLogs" level="INFO" additivity="false">
        <appender-ref ref="business_m"/>
    <logger name="com.yihu.wlyy.logs.BusinessLogs" level="INFO" additivity="false">
        <appender-ref ref="business_m" />
        <appender-ref ref="business_d" />
    </logger>
    <logger name="com.yihu.wlyy.logs.InterfaceCallLogs" level="INFO" additivity="false">
        <appender-ref ref="interface_call_m"/>
    </logger>-->
        <appender-ref ref="interface_call_m" />
        <appender-ref ref="interface_call_d" />
    </logger>
    <logger name="com.yihu.wlyy.logs.InterfaceCallLogs" level="INFO" additivity="false">
        <appender-ref ref="interface_call_m" />
        <appender-ref ref="interface_call_d" />
    </logger>
    <!--处方支付日志 start-->
    <!-- 演示按时间滚动的策略 -->
    <appender name="dailyRollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>/tmp/logs/wlyy_prescription_pay.log</File>
        <File>/Users/Mewtwo/ideaSpace/log/tmp/logs/wlyy_prescription_pay.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <FileNamePattern>/tmp/logs/wlyy_prescription_pay.%d{yyyy-MM-dd}.log</FileNamePattern>
            <FileNamePattern>/Users/Mewtwo/ideaSpace/log/tmp/logs/wlyy_prescription_pay.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!-- 保留 15天数据,默认无限
            <maxHistory>15</maxHistory>-->
        </rollingPolicy>
@ -67,14 +102,16 @@
        </encoder>
    </appender>
    <logger name="com.yihu.wlyy.service.app.prescription.PatientPrescriptionPayService" level="INFO" additivity="false">
        <appender-ref ref="dailyRollingFileAppender"/>
        <appender-ref ref="dailyRollingFileAppender" />
    </logger>
    <!--处方支付日志 end-->
    <appender name="error_rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/datadisk/wlyy_logs/error/error.log</file>
        <file>/Users/Mewtwo/ideaSpace/log/wlyy_logs/error/error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/datadisk/wlyy_logs/error/error.%d{yyyy-MM-dd}.log</fileNamePattern>
            <fileNamePattern>/Users/Mewtwo/ideaSpace/log/wlyy_logs/error/error.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
@ -84,11 +121,13 @@
    </appender>
    <logger name="error_logger" level="ERROR" additivity="false">
        <appender-ref ref="error_rollingFile"/>
        <appender-ref ref="error_rollingFile" />
    </logger>
    <root level="INFO">
        <!--<appender-ref ref="console" />-->
        <appender-ref ref="rollingFile"/>
        <appender-ref ref="rollingFile" />
    </root>
</configuration>
</configuration>