Parcourir la source

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

trick9191 il y a 7 ans
Parent
commit
65f0f6eb13
24 fichiers modifiés avec 393 ajouts et 185 suppressions
  1. 7 0
      patient-co/patient-co-statistics/pom.xml
  2. 6 6
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/config/war/ServletInitializer.java
  3. 1 1
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultJob.java
  4. 1 1
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultTotalJob.java
  5. 14 14
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentDayAllQuotaJob.java
  6. 4 4
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/NoReyConsultJob.java
  7. 4 4
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ReyConsultJob.java
  8. 4 4
      patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ReyTimeConsultJob.java
  9. 11 10
      patient-co/patient-co-statistics/src/main/resources/application.yml
  10. 7 0
      patient-co/patient-co-wlyy/pom.xml
  11. 2 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/MvcConfig.java
  12. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/SwaggerConfig.java
  13. 22 8
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/GateWayInterceptor.java
  14. 72 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionAdjustService.java
  15. 12 6
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionService.java
  16. 18 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/CommonUtil.java
  17. 34 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/prescription/PrescriptionAdjustController.java
  18. 155 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcLoginController.java
  19. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcMessageController.java
  20. 1 94
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcTokenController.java
  21. 3 6
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcUserController.java
  22. 0 21
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/DoctorLoginModel.java
  23. 12 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/LoginModel.java
  24. 1 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/BaseResultModel.java

+ 7 - 0
patient-co/patient-co-statistics/pom.xml

@ -417,6 +417,13 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>

+ 6 - 6
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/config/war/ServletInitializer.java

@ -7,9 +7,9 @@ import org.springframework.boot.context.web.SpringBootServletInitializer;
/**
 * Created by Administrator on 2016.10.14.
 */
//public class ServletInitializer extends SpringBootServletInitializer {
//    @Override
//    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//        return application.sources(Application.class);
//    }
//}
public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}

+ 1 - 1
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultJob.java

@ -87,7 +87,7 @@ public class ConsultJob implements Job {
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql=" select admin_team_code,id from wlyy_consult_team a where  a.czrq>='"+daybefore+ Constant.quota_date_last+"' and a.czrq< '"+yesterday+ Constant.quota_date_last+"'";
            String sql=" select admin_team_code,id from wlyy_consult_team a where a.type=2 and  a.czrq>='"+daybefore+ Constant.quota_date_last+"' and a.czrq< '"+yesterday+ Constant.quota_date_last+"'";
            //抽取數據
            List<ConsultTeam> consultTeams= dbExtract.extract(ConsultTeam.class,sql);
            //過濾數據

+ 1 - 1
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultTotalJob.java

@ -83,7 +83,7 @@ public class ConsultTotalJob implements Job {
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql=" select admin_team_code,id from wlyy_consult_team a where a.czrq< '"+yesterday+ Constant.quota_date_last+"' and a.czrq >='"+Constant.getStartTimeByDate(yesterday)+ Constant.quota_date_last+"'";
            String sql=" select admin_team_code,id from wlyy_consult_team a where  a.type=2 and  a.czrq< '"+yesterday+ Constant.quota_date_last+"' and a.czrq >='"+Constant.getStartTimeByDate(yesterday)+ Constant.quota_date_last+"'";
            //抽取數據
            List<ConsultTeam> consultTeams= dbExtract.extract(ConsultTeam.class,sql);
            //過濾數據

+ 14 - 14
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentDayAllQuotaJob.java

@ -296,7 +296,7 @@ public class CurrentDayAllQuotaJob implements Job {
                }
                if ((1 + 1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -304,7 +304,7 @@ public class CurrentDayAllQuotaJob implements Job {
                } else {
                    //判断是不是最后的一段
                    if (consultIdMaps.size() == (i + 1)) {
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -313,9 +313,9 @@ public class CurrentDayAllQuotaJob implements Job {
            }
            String sql = "";
            if (consultIdMaps.size() > 0) {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
            } else {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult ='noRey' ";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult ='noRey' ";
            }
            System.out.println("consultTeams num:" + consultTeams.size());
@ -348,7 +348,7 @@ public class CurrentDayAllQuotaJob implements Job {
                }
                if ((1 + 1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -356,7 +356,7 @@ public class CurrentDayAllQuotaJob implements Job {
                } else {
                    //判断是不是最后的一段
                    if (consultIdMaps.size() == (i + 1)) {
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) +Constant.quota_date_last+ "' and a.consult in (" + sb.toString() + ")";
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) +Constant.quota_date_last+ "' and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -366,9 +366,9 @@ public class CurrentDayAllQuotaJob implements Job {
            String sql = "";
            //找出今天的咨询信息
            if (consultIdMaps.size() > 0) {
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and a.consult in (" + sb.toString() + ")";
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and a.consult in (" + sb.toString() + ")";
            } else {
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and a.consult ='Rey' ";
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where a.type=2 and   a.czrq< '" + tomorrow + "' and a.consult ='Rey' ";
            }
            System.out.println("consultTeams num:" + consultTeams.size());
@ -410,7 +410,7 @@ public class CurrentDayAllQuotaJob implements Job {
                }
                if ((1 + 1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -418,7 +418,7 @@ public class CurrentDayAllQuotaJob implements Job {
                } else {
                    //判断是不是最后的一段
                    if (consultIdMaps.size() == (i + 1)) {
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -428,9 +428,9 @@ public class CurrentDayAllQuotaJob implements Job {
            String sql = "";
            //找出今天的咨询信息
            if (consultIdMaps.size() > 0) {
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'and a.consult in (" + sb.toString() + ")";
            } else {
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult ='Rey' ";
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "' and a.consult ='Rey' ";
            } //抽取數據
            List<ConsultTeamDto> consultTeamDtos = getConsultTeams(ims, consultTeams);
@ -943,7 +943,7 @@ public class CurrentDayAllQuotaJob implements Job {
        String quotaId = "3";
        try {
            //找出今天的咨询信息
            String sql = " select * from wlyy_consult_team a where  a.czrq>= '" + now + "'and a.czrq< '" + tomorrow + "'";
            String sql = " select * from wlyy_consult_team a where  a.type=2 and  a.czrq>= '" + now + "'and a.czrq< '" + tomorrow + "'";
            //抽取數據
            List<ConsultTeam> consultTeams = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
            //過濾數據
@ -1117,7 +1117,7 @@ public class CurrentDayAllQuotaJob implements Job {
        String quotaId = "25";
        try {
            //找出总的咨询信息
            String sql = " select * from wlyy_consult_team a where a.czrq< '" + tomorrow + "' and  a.czrq>= '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'";
            String sql = " select * from wlyy_consult_team a where a.type=2 and  a.czrq< '" + tomorrow + "' and  a.czrq>= '" + Constant.getStartTimeByDate(tomorrow)+Constant.quota_date_last + "'";
            //抽取數據
            List<ConsultTeam> consultTeams = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
            //過濾數據

+ 4 - 4
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/NoReyConsultJob.java

@ -104,7 +104,7 @@ public class NoReyConsultJob implements Job {
                }
                if ((1+1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -112,7 +112,7 @@ public class NoReyConsultJob implements Job {
                }else{
                    //判断是不是最后的一段
                    if(consultIdMaps.size()==(i+1)){
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -122,9 +122,9 @@ public class NoReyConsultJob implements Job {
            String sql = "";
            if (consultIdMaps.size() > 0) {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")  and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")  and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
            } else {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult ='noRey' and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult ='noRey' and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
            }
            //過濾數據
            FilterModel etlModels = consultDataFilter.filter(consultTeams, sql, yesterday);

+ 4 - 4
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ReyConsultJob.java

@ -107,7 +107,7 @@ public class ReyConsultJob implements Job {
                }
                if ((1+1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -115,7 +115,7 @@ public class ReyConsultJob implements Job {
                }else{
                    //判断是不是最后的剩下一端不能被100整除的
                    if(consultIdMaps.size()==(i+1)){
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -125,9 +125,9 @@ public class ReyConsultJob implements Job {
            String sql ="";
            if(consultIdMaps.size()>0){
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in ("+sb.toString()+")";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in ("+sb.toString()+")";
            }else{
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult ='noRey' ";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult ='noRey' ";
            } //抽取數據
            System.out.println("consultTeams num"+consultTeams.size());

+ 4 - 4
patient-co/patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ReyTimeConsultJob.java

@ -119,7 +119,7 @@ public class ReyTimeConsultJob implements Job {
                }
                if ((1+1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"'and a.consult in (" + sb.toString() + ")";
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"'and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -127,7 +127,7 @@ public class ReyTimeConsultJob implements Job {
                }else{
                    //判断是不是最后的剩下一端不能被100整除的
                    if(consultIdMaps.size()==(i+1)){
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -137,9 +137,9 @@ public class ReyTimeConsultJob implements Job {
            String sql ="";
            if(consultIdMaps.size()>0){
                sql = " select admin_team_code,id,consult from wlyy_consult_team a, where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in ("+sb.toString()+")";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a, where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in ("+sb.toString()+")";
            }else{
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult ='noRey' ";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.type=2 and  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult ='noRey' ";
            }
            //将两个数据库的结果集合并,避免跨库查询

+ 11 - 10
patient-co/patient-co-statistics/src/main/resources/application.yml

@ -1,4 +1,5 @@
server:
  context-path: /quota
  port: 8081
spring:
@ -110,7 +111,7 @@ redis:
---
spring:
  profiles: cwd
  profiles: dev_test
  datasource:
    primaryReadWrite:
@ -143,17 +144,17 @@ spring:
  datasource:
    primaryReadWrite:
      url: jdbc:mysql://172.19.103.85/wlyy?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
      username: linzhou
      password: linzhou
      url: jdbc:mysql://172.17.110.160/wlyy?useUnicode:true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      username: ssgg
      password: ssgg
    primaryRead:
      url: jdbc:mysql://172.19.103.85/wlyy?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
      username: linzhou
      password: linzhou
      url: jdbc:mysql://172.17.110.160/wlyy?useUnicode:true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      username: ssgg
      password: ssgg
    im: #im库
      url: jdbc:mysql://172.17.110.160/im_new?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
      username: linzhou
      password: linzhou
      url: jdbc:mysql://172.17.110.160/wlyy?useUnicode:true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      username: ssgg
      password: ssgg
  redis:
    host: 172.19.103.88 # Redis server host.

+ 7 - 0
patient-co/patient-co-wlyy/pom.xml

@ -412,6 +412,13 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>

+ 2 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/MvcConfig.java

@ -31,8 +31,8 @@ public class MvcConfig extends WebMvcConfigurerAdapter {
        // 多个拦截器组成一个拦截器链
        // addPathPatterns 用于添加拦截规则
        // excludePathPatterns 用户排除拦截
        registry.addInterceptor(gateWayInterceptor).addPathPatterns("/wlyygc/**");
        registry.addInterceptor(doctorInterceptor).addPathPatterns("/doctor/**", "/statistics/province/**", "/statistics/**", "/wlyygc/**");
        registry.addInterceptor(gateWayInterceptor).addPathPatterns("/wlyygc/**").excludePathPatterns("/wlyygc/doctor/**");
        registry.addInterceptor(doctorInterceptor).addPathPatterns("/doctor/**", "/statistics/province/**", "/statistics/**", "wlyygc/doctor/**");
        registry.addInterceptor(patientInterceptor).addPathPatterns("/patient/**");
        super.addInterceptors(registry);

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/SwaggerConfig.java

@ -92,7 +92,7 @@ public class SwaggerConfig {
    private List<Parameter> addUseragent() {
        ParameterBuilder tokenPar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<Parameter>();
        tokenPar.name("userAgent").description(userAgentJson).modelRef(new ModelRef("string")).parameterType("header").required(false).defaultValue(userAgent).build();
        tokenPar.name("userAgent").description(userAgentJson).modelRef(new ModelRef("string")).parameterType("header").required(false).defaultValue("").build();
        pars.add(tokenPar.build());
        return pars;
    }

+ 22 - 8
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/GateWayInterceptor.java

@ -6,23 +6,32 @@ package com.yihu.wlyy.interceptors;
import com.yihu.wlyy.entity.gateway.GcHttpLog;
import com.yihu.wlyy.entity.gateway.GcToken;
import com.yihu.wlyy.entity.security.Token;
import com.yihu.wlyy.entity.url.CudUrl;
import com.yihu.wlyy.repository.gateway.GcHttpLogDao;
import com.yihu.wlyy.repository.gateway.GcTokenDao;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.NetworkUtil;
import com.yihu.wlyy.util.SystemConf;
import com.yihu.wlyy.util.SystemData;
import com.yihu.wlyy.web.gateway.vo.base.BaseResultModel;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.util.Date;
import java.util.Map;
/**
 * 对外的请求拦截
@ -34,7 +43,7 @@ public class GateWayInterceptor extends BaseInterceptor {
    @Autowired
    private GcHttpLogDao httpLogDao;
    @Autowired
    private GcTokenDao tokenDao;
    private GcTokenDao gcTokenDaoDao;
    /**
     * preHandle:预处理回调方法
@ -47,33 +56,38 @@ public class GateWayInterceptor extends BaseInterceptor {
     */
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        String token = request.getParameter("accesstoken");
        boolean flag = true;
        String accesstoken = request.getParameter("accesstoken");
        String ip = NetworkUtil.getIpAddress(request);
        //********************************判断accesstoken********************************
        try {
            GcToken gcToken = tokenDao.findByToken(token);
            GcToken gcToken = gcTokenDaoDao.findByToken(accesstoken);
            if (gcToken == null) {
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, token, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_no_power.getMessage());
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_no_power.getMessage());
                //没权限
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.codeEm.token_no_power.getCode(), BaseResultModel.codeEm.token_no_power.getMessage());
                response.getOutputStream().write(JSONObject.fromObject(baseResultModel).toString().getBytes());
            }
            if (gcToken.getDel() == null || gcToken.getDel() == 0) {
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, token, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_out_effect.getMessage());
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_out_effect.getMessage());
                //token无效
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.codeEm.token_out_effect.getCode(), BaseResultModel.codeEm.token_out_effect.getMessage());
                response.getOutputStream().write(JSONObject.fromObject(baseResultModel).toString().getBytes());
            }
            if (System.currentTimeMillis() > gcToken.getOutTime().getTime()) {
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, token, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_out_time.getMessage());
                saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_out_time.getMessage());
                //token过期
                BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.codeEm.token_out_time.getCode(), BaseResultModel.codeEm.token_out_time.getMessage());
                response.getOutputStream().write(JSONObject.fromObject(baseResultModel).toString().getBytes());
            }
        } catch (Exception e) {
            saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, token, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), e.getMessage());
            saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), e.getMessage());
            return false;
        }
        return true;
        //********************************判断accesstoken********************************
        return flag;
    }
    /**

+ 72 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionAdjustService.java

@ -0,0 +1,72 @@
package com.yihu.wlyy.service.app.prescription;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.patient.prescription.Prescription;
import com.yihu.wlyy.entity.patient.prescription.PrescriptionLog;
import com.yihu.wlyy.repository.prescription.PrescriptionDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.third.jw.JwPrescriptionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * 线下调整处方
 * Created by yeshijie on 2017/8/17.
 */
@Service
public class PrescriptionAdjustService extends BaseService {
    @Autowired
    private JwPrescriptionService jwPrescriptionService;
    @Autowired
    private PrescriptionDao prescriptionDao;
    /**
     * 线下调整处方
     * @param code
     */
    public void adjustPrescription(String code){
        Prescription prescription = prescriptionDao.findByCode(code);
        if(prescription.getStatus()== PrescriptionLog.PrescriptionLogStatus.revieweding.getValue()){
            //待审核状态才可以线下调整处方
            String response = jwPrescriptionService.saveRecipe(code,prescription.getJwGisterTypeCode(),prescription.getJwDeptCode());
            JSONObject json = JSONObject.parseObject(response);
            if(json.getInteger("status")==200){
                JSONObject data = json.getJSONObject("data");
                String zyCode = data.getString("CODE");
                if("1".equals(zyCode)){
                    JSONArray returnData = data.getJSONArray("returnData");
                    if(returnData.size()>0){
                        JSONObject pre = returnData.getJSONArray(0).getJSONObject(0);
                        String visitNo = pre.getString("VISIT_NO");
                        String recipeNo = pre.getString("RECIPE_NO");
                        prescription.setStatus(PrescriptionLog.PrescriptionLogStatus.changeing.getValue());
                        prescription.setVisitNo(visitNo);
                        prescription.setRecipeNo(recipeNo);
                        prescriptionDao.save(prescription);
                        //添加日志
                    }else {
                        //请求失败
                    }
                }else {
                    //调整请求失败
                }
            }else{
                //请求报错
            }
        }
    }
}

Fichier diff supprimé car celui-ci est trop grand
+ 12 - 6
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionService.java


+ 18 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/CommonUtil.java

@ -127,7 +127,24 @@ public class CommonUtil {
        if(d==null){
            return 0;
        }
        return new Double(d*100).intValue();
        String currency = String.valueOf(d);
        int index = currency.indexOf(".");
        int length = currency.length();
        Integer amLong = 0;
        if(index == -1){
            amLong = Integer.valueOf(currency+"00");
        }else if(length - index >= 3){
            amLong = Integer.valueOf((currency.substring(0, index+3)).replace(".", ""));
            Integer i = Integer.valueOf(currency.substring(index+3,index+4));
            if(i>=5){
                amLong++;
            }
        }else if(length - index == 2){
            amLong = Integer.valueOf((currency.substring(0, index+2)).replace(".", "")+0);
        }else{
            amLong = Integer.valueOf((currency.substring(0, index+1)).replace(".", "")+"00");
        }
        return amLong;
    }
    /**

+ 34 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/prescription/PrescriptionAdjustController.java

@ -0,0 +1,34 @@
package com.yihu.wlyy.web.doctor.prescription;
import com.yihu.wlyy.repository.prescription.PrescriptionDao;
import com.yihu.wlyy.service.app.prescription.PrescriptionAdjustService;
import com.yihu.wlyy.service.third.jw.JwPrescriptionService;
import com.yihu.wlyy.web.BaseController;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by yeshijie on 2017/8/17.
 */
@RestController
@RequestMapping(value = "/doctor/prescriptionAdjust")
@Api(description = "医生端-长处方线下调整相关接口接口")
public class PrescriptionAdjustController extends BaseController {
    @Autowired
    private JwPrescriptionService jwPrescriptionService;
    @Autowired
    private PrescriptionDao prescriptionDao;
    @Autowired
    private PrescriptionAdjustService prescriptionAdjustService;
}

+ 155 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcLoginController.java

@ -0,0 +1,155 @@
package com.yihu.wlyy.web.gateway.controller;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.login.LoginLog;
import com.yihu.wlyy.entity.security.Token;
import com.yihu.wlyy.service.common.SMSService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.service.common.account.TokenService;
import com.yihu.wlyy.service.common.login.LoginLogService;
import com.yihu.wlyy.util.MD5;
import com.yihu.wlyy.util.RSAUtils;
import com.yihu.wlyy.web.gateway.vo.LoginModel;
import com.yihu.wlyy.web.gateway.vo.base.BaseResultModel;
import com.yihu.wlyy.web.gateway.vo.base.ResultOneModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
/**
 * Created by chenweida on 2017/8/18.
 */
@RestController
@RequestMapping("/wlyygc/")
@Api(description = "用户登陆服务")
public class GcLoginController {
    @Autowired
    private DoctorService doctorService;
    @Autowired
    private TokenService tokenService;
    @Autowired
    private LoginLogService loginLogService;
    @Autowired
    private SMSService smsService;
    @Autowired
    private RSAUtils rsaUtils;
    /**
     * 公钥生成并返回接口
     *
     * @return
     */
    @RequestMapping(value = "public_key", method =  RequestMethod.GET)
    @ApiOperation("获取公钥")
    public ResultOneModel publicKey() {
        try {
            String modulus = RSAUtils.getInstance(smsService).getModulus();
            String exponent = RSAUtils.getInstance(smsService).getExponent();
            if (StringUtils.isEmpty(modulus) || StringUtils.isEmpty(exponent)) {
                return new ResultOneModel(BaseResultModel.codeEm.login_publickey_error.getCode(),BaseResultModel.codeEm.login_publickey_error.getMessage());
            } else {
                JSONObject json = new JSONObject();
                json.put("modulus", modulus); //加密指数
                json.put("exponent", exponent);//加密系数
                return new ResultOneModel(json);
            }
        } catch (Exception e) {
            return new ResultOneModel(BaseResultModel.codeEm.login_publickey_error.getCode(),BaseResultModel.codeEm.login_publickey_error.getMessage());
        }
    }
    /**
     * 医生端要传  userAgent:{"id":4816,"uid":"xh1D2017031503333","token":"5d68d84dbb79996efba31192856139a4","platform":4,"imei":"05948CE4F079E998306CFCCF86A5A77F"}
     *
     * @param imei
     * @param account
     * @param platform
     * @param password
     * @return
     */
    @RequestMapping(value = "/doctorlogin", method = RequestMethod.POST)
    @ApiOperation("医生端登陆")
    public ResultOneModel<LoginModel> doctorLogin(
            @ApiParam(required = false, name = "imei", value = "imei号") @RequestParam(required = true, value = "imei") String imei,
            @ApiParam(required = false, name = "account", value = "手机号/身份证") @RequestParam(required = false, value = "account") String account,
            @ApiParam(required = false, name = "platform", value = "医生端pc,取药系统 或者对外系统") @RequestParam(required = false, defaultValue = "4") Integer platform,
            @ApiParam(required = false, name = "password", value = "密码") @RequestParam(required = false) String password) {
        String errorMessage;
        LoginLog loginLog = new LoginLog();
        loginLog.setCreateTime(new Date());
        loginLog.setPhone(account);
        loginLog.setType("2");
        loginLog.setUserType("2");
        try {
            if (StringUtils.isEmpty(imei)) {
                errorMessage = "获取IMEI码失败!";
                loginLog.setErrorMessage(errorMessage);
                loginLogService.saveLog(loginLog);
                return new ResultOneModel<>(BaseResultModel.codeEm.login_IMEI_error.getCode(), BaseResultModel.codeEm.login_IMEI_error.getMessage());
            }
            if (platform == null) {
                platform = 2;//默认为医生app端
            }
            //身份证登录
            if (StringUtils.isNoneEmpty(account) && StringUtils.isNoneEmpty(password)) {
                password = RSAUtils.getInstance(doctorService).decryptString(password);
                password = StringUtils.reverse(password);
                //根据电话号码找
                Doctor doctor = doctorService.findDoctorByMobile(account);
                if (doctor == null) {
                    //如果电话号码找不到 根据身份证找
                    doctor = doctorService.findbyIdCard(account);
                }
                loginLog.setLoginType("2");
                if (doctor == null) {
                    errorMessage = "该号码未注册!";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(BaseResultModel.codeEm.login_account_error.getCode(), BaseResultModel.codeEm.login_account_error.getMessage());
                }
                loginLog.setUserCode(doctor.getCode());
                String loginPassword = MD5.GetMD5Code(password + doctor.getSalt());
                if (loginPassword.equals(doctor.getPassword())) {
                    Token token = tokenService.findDoctorToken(doctor.getCode());
                    if (token != null && platform == 4) {
                        //pc版本要做单点登陆 所以如果platform =4 并且 token存在直接返回之前的token
                    } else {
                        // 用户校验通过,生成token
                        token = tokenService.newToken(doctor.getCode(), imei, platform);
                    }
                    loginLog.setTokenId(token.getId());
                    loginLog.setType("1");
                    LoginModel loginModel = new LoginModel();
                    loginModel.setId(doctor.getId());
                    loginModel.setDoctorCode(doctor.getCode());
                    loginModel.setDoctorName(doctor.getName());
                    loginModel.setToken(token.getToken());
                    loginModel.setDoctorPhoto(doctor.getPhoto());
                    loginModel.setDoctorType(doctor.getLevel());
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(loginModel);
                } else {
                    errorMessage = "密码错误,登录失败";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(BaseResultModel.codeEm.login_password_error.getCode(), BaseResultModel.codeEm.login_password_error.getMessage());
                }
            }
            return new ResultOneModel<>(BaseResultModel.codeEm.error_params.getCode(), BaseResultModel.codeEm.error_params.getMessage());
        } catch (Exception e) {
            loginLog.setErrorMessage(e.getMessage());
            loginLogService.saveLog(loginLog);
            return new ResultOneModel<>(BaseResultModel.codeEm.login_system_error.getCode(), BaseResultModel.codeEm.login_system_error.getMessage());
        }
    }
}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcMessageController.java

@ -33,7 +33,7 @@ import java.util.List;
 */
@RestController
@RequestMapping("/wlyygc/message")
@RequestMapping("/wlyygc/doctor/message")
@Api(description = "消息相关服务,包括短信,微信模板")
public class GcMessageController {

+ 1 - 94
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcTokenController.java

@ -46,15 +46,8 @@ public class GcTokenController {
    @Autowired
    private GcClientDetailsService clientDetailsService;
    @Autowired
    private DoctorService doctorService;
    @Autowired
    private TokenService tokenService;
    @Autowired
    private LoginLogService loginLogService;
    @ApiOperation("获取accesstoken")
    @RequestMapping(value = "accesstoken", method = RequestMethod.GET)
    @RequestMapping(value = "accesstoken", method = RequestMethod.POST)
    public ResultOneModel<GcTokenModel> getToken(
            @ApiParam(name = "appid", value = "appid", required = true) @RequestParam(required = true, value = "appid") String appid,
            @ApiParam(name = "appSecret", value = "appSecret", required = true) @RequestParam(required = true, value = "appSecret") String appSecret,
@ -87,91 +80,5 @@ public class GcTokenController {
    }
    /**
     * 医生端要传  userAgent:{"id":4816,"uid":"xh1D2017031503333","token":"5d68d84dbb79996efba31192856139a4","platform":4,"imei":"05948CE4F079E998306CFCCF86A5A77F"}
     * @param imei
     * @param account
     * @param platform
     * @param password
     * @return
     */
    @RequestMapping(value = "/doctor/login", method = RequestMethod.GET)
    @ApiOperation("医生端登陆")
    public ResultOneModel<LoginModel> doctorLogin(
            @ApiParam(required = false, name = "imei", value = "imei号") @RequestParam(required = true, value = "imei") String imei,
            @ApiParam(required = false, name = "account", value = "手机号/身份证") @RequestParam(required = false, value = "account") String account,
            @ApiParam(required = false, name = "platform", value = "医生端pc,取药系统 或者对外系统") @RequestParam(required = false, defaultValue = "4") Integer platform,
            @ApiParam(required = false, name = "password", value = "密码") @RequestParam(required = false) String password) {
        String errorMessage;
        LoginLog loginLog = new LoginLog();
        loginLog.setCreateTime(new Date());
        loginLog.setPhone(account);
        loginLog.setType("2");
        loginLog.setUserType("2");
        try {
            if (StringUtils.isEmpty(imei)) {
                errorMessage = "获取IMEI码失败!";
                loginLog.setErrorMessage(errorMessage);
                loginLogService.saveLog(loginLog);
                return new ResultOneModel<>(BaseResultModel.codeEm.login_IMEI_error.getCode(), BaseResultModel.codeEm.login_IMEI_error.getMessage());
            }
            if (platform == null) {
                platform = 2;//默认为医生app端
            }
            //身份证登录
            if (StringUtils.isNoneEmpty(account) && StringUtils.isNoneEmpty(password)) {
                password = RSAUtils.getInstance(doctorService).decryptString(password);
                password = StringUtils.reverse(password);
                //根据电话号码找
                Doctor doctor = doctorService.findDoctorByMobile(account);
                if (doctor == null) {
                    //如果电话号码找不到 根据身份证找
                    doctor = doctorService.findbyIdCard(account);
                }
                loginLog.setLoginType("2");
                if (doctor == null) {
                    errorMessage = "该号码未注册!";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(BaseResultModel.codeEm.login_account_error.getCode(), BaseResultModel.codeEm.login_account_error.getMessage());
                }
                loginLog.setUserCode(doctor.getCode());
                String loginPassword = MD5.GetMD5Code(password + doctor.getSalt());
                if (loginPassword.equals(doctor.getPassword())) {
                    Token token = tokenService.findDoctorToken(doctor.getCode());
                    if (token != null && platform == 4) {
                        //pc版本要做单点登陆 所以如果platform =4 并且 token存在直接返回之前的token
                    } else {
                        // 用户校验通过,生成token
                        token = tokenService.newToken(doctor.getCode(), imei, platform);
                    }
                    loginLog.setTokenId(token.getId());
                    loginLog.setType("1");
                    LoginModel loginModel = new LoginModel();
                    loginModel.setDoctorCode(doctor.getCode());
                    loginModel.setDoctorName(doctor.getName());
                    loginModel.setToken(token.getToken());
                    loginModel.setDoctorPhoto(doctor.getPhoto());
                    loginModel.setDoctorType(doctor.getLevel());
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(loginModel);
                } else {
                    errorMessage = "密码错误,登录失败";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return new ResultOneModel<>(BaseResultModel.codeEm.login_password_error.getCode(), BaseResultModel.codeEm.login_password_error.getMessage());
                }
            }
            return new ResultOneModel<>(BaseResultModel.codeEm.error_params.getCode(), BaseResultModel.codeEm.error_params.getMessage());
        } catch (Exception e) {
            loginLog.setErrorMessage(e.getMessage());
            loginLogService.saveLog(loginLog);
            return new ResultOneModel<>(BaseResultModel.codeEm.login_system_error.getCode(), BaseResultModel.codeEm.login_system_error.getMessage());
        }
    }
}

+ 3 - 6
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcUserController.java

@ -41,17 +41,13 @@ import java.util.concurrent.ExecutionException;
 * Created by chenweida on 2017/8/17.
 */
@RestController
@RequestMapping("/wlyygc/user")
@RequestMapping("/wlyygc/doctor/user")
@Api(description = "用户相关服务")
public class GcUserController {
    @Autowired
    private DoctorService doctorService;
    @Autowired
    private PatientService patientService;
    @Autowired
    private TokenService tokenService;
    @Autowired
    private LoginLogService loginLogService;
    private DoctorService doctorService;
    @RequestMapping(value = "/doctor", method = RequestMethod.GET)
@ -75,4 +71,5 @@ public class GcUserController {
        BeanUtils.copyProperties(patient, patientModel);
        return new ResultOneModel(patientModel);
    }
}

+ 0 - 21
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/DoctorLoginModel.java

@ -1,21 +0,0 @@
package com.yihu.wlyy.web.gateway.vo;
import io.swagger.annotations.ApiModel;
import java.util.List;
import java.util.Map;
/**
 * Created by chenweida on 2017/8/17.
 */
@ApiModel(description = "医生登陆model")
public class DoctorLoginModel {
    private Long id;
    private String uid;
    private String token;
    private String name;
    private String hospital;
    private String photo;
    private String doctorType;
    private List<Map<String, String>> roleMap;
}

+ 12 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/LoginModel.java

@ -8,8 +8,10 @@ import io.swagger.annotations.ApiModelProperty;
 * Created by chenweida on 2017/8/17.
 */
@ApiModel(description = "登陆实体类")
public class LoginModel extends BaseResultModel {
public class LoginModel  {
    @ApiModelProperty(value = "id", required = false, access = "response")
    private Long id;
    @ApiModelProperty(value = "医生code", required = false, access = "response")
    private String doctorCode;
    @ApiModelProperty(value = "登陆凭证", required = false, access = "response")
@ -70,4 +72,13 @@ public class LoginModel extends BaseResultModel {
    public void setDoctorType(Integer doctorType) {
        this.doctorType = doctorType;
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
}

+ 1 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/BaseResultModel.java

@ -40,6 +40,7 @@ public class BaseResultModel {
        error_params(-10000, "请求失败 参数错误"),//请求失败 参数错误
        error_no_ip(-10010, "请求失败,获取IP失败"),//请求失败,获取IP失败
        login_system_error(-10020, "系统异常"),
        login_publickey_error(-10030, "获取公钥失败"),
        login_account_error(-20010, "账号不存在"),
        login_password_error(-20020, "密码错误"),