Przeglądaj źródła

校验码接口

Sand 8 lat temu
rodzic
commit
9843768d57

+ 25 - 0
pom.xml

@ -143,6 +143,11 @@
            <version>${hibernate.version}</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.kaptcha</groupId>
            <artifactId>kaptcha</artifactId>
            <version>2.3</version>
        </dependency>
        <!-- spring data access -->
        <dependency>
            <groupId>org.springframework.data</groupId>
@ -619,6 +624,26 @@
            <!--<artifactId>maven-antrun-plugin</artifactId>-->
            <!--<version>1.7</version>-->
            <!--</plugin>-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <phase>initialize</phase>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                        <configuration>
                            <groupId>com.google.code.kaptcha</groupId>
                            <artifactId>kaptcha</artifactId>
                            <version>2.3</version>
                            <packaging>jar</packaging>
                            <file>${basedir}/src/main/resources/kaptcha-2.3.2.jar</file>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <!--<pluginManagement>-->
        <!--<plugins>-->

+ 1 - 1
src/main/java/com/yihu/wlyy/job/consult/ConsultCleaner.java

@ -64,7 +64,7 @@ public class ConsultCleaner {
            System.out.println("计算下次任务执行时间,下次执行在" + nextTriggerTime.toString());
            quartzHelper.startAt(nextTriggerTime, ConsultCleanerJob.class, ConsultTerminatorJobKey, null);
            //quartzHelper.startAt(nextTriggerTime, ConsultCleanerJob.class, ConsultTerminatorJobKey, null);
        } catch (Exception e) {
            e.printStackTrace();
        }

+ 8 - 0
src/main/java/com/yihu/wlyy/repository/consult/ConsultTeamDao.java

@ -210,4 +210,12 @@ public interface ConsultTeamDao extends PagingAndSortingRepository<ConsultTeam,
	@Query("select a from ConsultTeam a, ConsultTeamDoctor b where a.consult = b.consult and a.type=6 and b.to = ?1 and a.status = 0 and b.reply = 1 and a.del = '1' and b.del = '1'")
	Page<ConsultTeam> findFamousDoctorIngNoTitleList(String uid, Pageable pageRequest);
    // 最近24小时内未回复的项目
    @Query("FROM ConsultTeam a where CURRENT_TIME - a.czrq < 86400 and a.status = 0 order by a.czrq desc")
    Page<ConsultTeam> getUnresponsedConsultIn24Hours(Pageable pageable);
    // 更新超过24小时未回复的项目,多加一分钟,防止过于频繁更新
    @Modifying
    @Query("UPDATE ConsultTeam a set a.status = -2 where CURRENT_TIME - a.czrq > 87840")
    void updateUnresponsedConsultOver24Hours();
}

+ 108 - 0
src/main/java/com/yihu/wlyy/web/common/util/CaptchaController.java

@ -0,0 +1,108 @@
package com.yihu.wlyy.web.common.util;
import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import com.yihu.wlyy.web.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import sun.misc.BASE64Encoder;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
/**
 * 验证码生成控制器。验证码生成后保存到Redis中,并将Redis的Key与图片路径返回。
 * 客户端获取图片,并由用户输入后,与redis的key一块返回,用于验证是否出错。
 *
 * @author Sand
 * @created 2016/09/28
 */
@Api(description = "验证码")
@RestController
@RequestMapping(value = "/captcha", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public class CaptchaController extends BaseController {
    private Map<String, String> captchaCache = new ConcurrentHashMap<>();
    private DefaultKaptcha captchaProducer = new DefaultKaptcha();
    public CaptchaController() {
        Properties properties = new Properties();
        properties.put("kaptcha.textproducer.font.color", "blue");
        properties.put("kaptcha.textproducer.font.size", "45");
        properties.put("kaptcha.textproducer.char.length", "4");
        properties.put("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑");
        Config config = new Config(properties);
        captchaProducer.setConfig(config);
    }
    @RequestMapping(method = RequestMethod.GET)
    @ApiOperation("生成验证码,用于第一次请求")
    public String createCaptcha(){
        try{
            return generateCaptcha();
        } catch (Exception e){
            return error(500, e.getMessage());
        }
    }
    @RequestMapping(value = "/{legacy_key}", method = RequestMethod.POST)
    @ApiOperation("刷新验证码,需提供第一次生成验证码返回的key")
    public String refreshCaptcha(@PathVariable("legacy_key") String legacyKey){
        try{
            cleanCaptcha(legacyKey);
            return generateCaptcha();
        } catch (Exception e){
            return error(500, e.getMessage());
        }
    }
    @RequestMapping(value = "/{key}", method = RequestMethod.GET)
    @ApiOperation("校验证码,提供key及用户输入的验证码")
    public String verifyCaptcha(@PathVariable("key") String key,
                                @RequestParam("text") String text){
        try{
            boolean pass = false;
            String captcha = captchaCache.get(key);
            if (captcha != null && captcha.equals(text)){
                pass = true;
                cleanCaptcha(key);
            }
            return write(200, "ok", "pass", pass);
        } catch (Exception e){
            return error(500, e.getMessage());
        }
    }
    private String generateCaptcha() throws IOException {
        String captchaText = captchaProducer.createText();
        BufferedImage image = captchaProducer.createImage(captchaText);
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        ImageIO.write(image, "png", outputStream);
        String base64Img = new BASE64Encoder().encode(outputStream.toByteArray());
        String key = "captcha:" + UUID.randomUUID().toString() + ":text";
        Map<String, String> data = new HashMap<>();
        data.put("key", key);
        data.put("image", base64Img);
        data.put("format", "png");
        captchaCache.put(key, captchaText);
        return write(200, "ok", "data", data);
    }
    private void cleanCaptcha(String key){
        captchaCache.remove(key);
    }
}

+ 0 - 603
src/main/java/com/yihu/wlyy/web/common/util/ImportDataController.java

@ -1,603 +0,0 @@
package com.yihu.wlyy.web.common.util;
import com.yihu.wlyy.web.BaseController;
//@Controller
//@RequestMapping(value = "/util/data")
public class ImportDataController extends BaseController {
//
//	@Autowired
//	private PatientService patientService;
//	@Autowired
//	private ImportDataService importDataService;
//	// @Autowired
//	// private DoctorService doctorService;
//
//	/**
//	 *
//	 * @param data
//	 * @param type 1高,2糖
//	 * @return
//	 */
//	@RequestMapping(value = "id")
//	@ResponseBody
//	public String importData(String data, int type) {
//		try {
//			String[] datas = data.split(";");
//			List<Patient> patients = new ArrayList<Patient>();
//			List<Family> scs = new ArrayList<SignContract>();
//			for (String temp : datas) {
//				String[] temps = temp.split(",");
//				String name = temps[0];
//				String ssc = temps[1];
//				String idcard = temps[2];
//				String phone = temps[3];
//				String province = temps[4];
//				String city = temps[5];
//				String town = temps[6];
//				String address = temps[7];
//				String zk = temps[9];
//				String qk = temps[10];
//				String jk = temps[11];
//				String qyrq = temps[12].replace("/", "-");
//
//				IdcardInfoExtractor ie = new IdcardInfoExtractor(idcard);
//
//				Patient patient = new Patient();
//				patient.setAddress(address);
//				patient.setBirthday(ie.getBirthday());
//				patient.setCityName(city);
//				patient.setCode(patientService.getCode());
//				patient.setCzrq(new Date());
//				patient.setDisease(type);
//				patient.setIdcard(idcard);
//				patient.setName(name);
//				patient.setPhone(phone);
//				patient.setProvinceName(province);
//				patient.setSex(ie.getGender());
//				patient.setSsc(ssc);
//				patient.setTownName(town);
//				patients.add(patient);
//
//				SignContract sc = new SignContract();
//				sc.setBegin(DateUtil.strToDateShort(qyrq));
//				sc.setCode(patientService.getCode());
//				sc.setEnd(DateUtil.strToDateShort(DateUtil.getNextYear(sc.getBegin(), 1)));
//				sc.setMonths(12);
//				sc.setTeam("-1");
//				sc.setUname(name);
//				sc.setUser(patient.getCode());
//				sc.setGp(qk);
//				sc.setSpec(zk);
//				sc.setHealthManager(jk);
//				sc.setStatus(200);
//				scs.add(sc);
//			}
//			importDataService.importData(patients, scs);
//			return success("导入成功!");
//		} catch (Exception e) {
//			error(e);
//			return error(-1, "导入失败!");
//		}
//	}
//
//	/**
//	 * 创建医生分组数据
//	 * @return
//	 */
//	@RequestMapping(value = "cd")
//	@ResponseBody
//	public String createDPGData() {
//		try {
//			importDataService.createDPGData();
//			return success("创建成功!");
//		} catch (Exception e) {
//			error(e);
//			return error(-1, "创建失败!");
//		}
//	}
//
//	@RequestMapping(value = "excel")
//	@ResponseBody
//	public String loadExcel() {
//		try {
//			List<String> sqls = new ArrayList<String>();
//
//			JSONObject hosMaps = new JSONObject();
//			hosMaps.put("厦门市同安区新民卫生院", "新民卫生院");
//			hosMaps.put("厦门市集美区侨英街道社区卫生服务中心", "侨英街道社区卫生服务中心");
//			hosMaps.put("厦门市同安区莲花卫生院", "莲花卫生院");
//			hosMaps.put("厦门市同安区西柯中心卫生院", "同安区西柯中心卫生院");
//			hosMaps.put("鹭江社区卫生服务中心", "鹭江社区医疗服务中心");
//			hosMaps.put("厦门市湖里区金山街道社区卫生服务中心", "金山社区医疗服务中心");
//			hosMaps.put("厦门市思明区梧村街道社区卫生服务中心", "梧村社区医疗服务中心");
//			hosMaps.put("后溪镇卫生院", "集美区后溪卫生院");
//			hosMaps.put("禾山街道社区卫生服务中心", "禾山社区医疗服务中心");
//			hosMaps.put("厦门市同安区洪塘卫生院", "洪塘卫生院");
//			hosMaps.put("同安区大同街道社区卫生服务中心", "大同街道社区卫生服务中心");
//			hosMaps.put("厦门市思明区筼筜街道社区卫生服务中心", "筼筜街道社区卫生服务中心");
//			hosMaps.put("厦门市同安区祥平街道社区卫生服务中心", "祥平街道社区卫生服务中心");
//			hosMaps.put("集美区杏滨街道社区卫生服务中心", "杏滨街道社区卫生服务中心");
//			hosMaps.put("厦门市同安区五显卫生院", "五显卫生院");
//			hosMaps.put("厦门市集美区集美街道社区卫生服务中心", "集美街道社区卫生服务中心");
//			hosMaps.put("厦门市集美区灌口镇中心卫生院", "集美区灌口医院");
//			hosMaps.put("莲前街道社区卫生服务中心", "莲前第一社区医疗服务中心");
//			hosMaps.put("思明区鹭江街道社区卫生服务中心", "鹭江社区医疗服务中心");
//			hosMaps.put("厦门市思明区滨海街道社区卫生服务中心", "滨海社区医疗服务中心");
//			hosMaps.put("嘉莲街道社区卫生服务中心", "嘉莲社区医疗服务中心");
//			hosMaps.put("同安区汀溪卫生院", "汀溪卫生院");
//			hosMaps.put("厦门市思明区开元街道社区卫生服务中心", "开元社区医疗服务中心");
//			hosMaps.put("嘉莲社区卫生服务中心", "嘉莲社区医疗服务中心");
//			hosMaps.put("厦门市思明区鹭江街道社区卫生服务中心", "鹭江社区医疗服务中心");
//			hosMaps.put("厦门市湖里区湖里街道社区卫生服务中心", "湖里社区医疗服务中心");
//			hosMaps.put("江头街道社区卫生服务中心", "江头社区医疗服务中心");
//			hosMaps.put("厦门市思明区嘉莲街道社区卫生服务中心", "嘉莲社区医疗服务中心");
//			hosMaps.put("湖里区殿前街道社区卫生服务中心", "殿前社区医疗服务中心");
//			hosMaps.put("厦门市集美区杏林街道社区卫生服务中心", "杏林街道社区卫生服务中心");
//
//			Map<String, String> hospitals = new HashMap<String, String>();
//			File file = new File("D:\\doctors");
//			if (file.exists()) {
//				File[] files = file.listFiles();
//				for (File temp : files) {
//					InputStream is = null;
//					HSSFWorkbook hssfWorkbook = null;
//					try {
//						// System.out.println(temp.getAbsolutePath());
//						is = new FileInputStream(temp);
//						hssfWorkbook = new HSSFWorkbook(is);
//						// 获取第一个sheet
//						HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0);
//						if (hssfSheet == null) {
//							continue;
//						}
//						for (int row = 1; row < hssfSheet.getLastRowNum() + 1; row++) {
//							HSSFRow hssfRow = hssfSheet.getRow(row);
//							// 姓名
//							String name = getStringValue(hssfRow.getCell(0));
//							// 性别
//							String sex = getStringValue(hssfRow.getCell(1));
//							// 人员类型
//							// String userType = getStringValue(hssfRow.getCell(2));
//							// 临床职称
//							String job = getStringValue(hssfRow.getCell(4));
//							// //教学职称
//							// String name = getStringValue(hssfRow.getCell(5));
//							// //行政职称
//							// String name = getStringValue(hssfRow.getCell(6));
//							// 人员专长
//							String expertise = getStringValue(hssfRow.getCell(7));
//							// //机构所在省
//							// String province = getStringValue(hssfRow.getCell(8));
//							// //机构所在市
//							// String city = getStringValue(hssfRow.getCell(9));
//							// //机构详细地址
//							// String address = getStringValue(hssfRow.getCell(10));
//							// 机构名称
//							String hospitalName = getStringValue(hssfRow.getCell(11));
//							if (StringUtils.isNotEmpty(hospitalName)) {
//								if (hosMaps.has(hospitalName)) {
//									hospitalName = hosMaps.getString(hospitalName);
//								} else {
//									hospitalName = "===" + hospitalName + "===";
//									continue;
//								}
//							}
//							// 科室
//							String dept = getStringValue(hssfRow.getCell(12));
//							// 医生简介
//							String intro = getStringValue(hssfRow.getCell(13));
//							// 三师类型
//							String doctorType = getStringValue(hssfRow.getCell(14));
//							// 手机号码
//							String mobile = getStringValue(hssfRow.getCell(15));
//							// 邮箱
//							// String email = getStringValue(hssfRow.getCell(16));
//							// 医生荣誉
//							// String ysry = getStringValue(hssfRow.getCell(17));
//
//							// System.out.println(name);
//							// System.out.println(sex);
//							// System.out.println(job);
//							// System.out.println(expertise);
//							// System.out.println(hospitalName);
//							// System.out.println(dept);
//							// System.out.println(intro);
//							// System.out.println(doctorType);
//							// System.out.println(mobile);
//							if (StringUtils.isEmpty(hospitalName)) {
//								// System.out.println(temp.getAbsolutePath() + " 第" + (row + 1) + "行,机构名称不允许为空!");
//								continue;
//							} else if (StringUtils.isEmpty(mobile) || mobile.length() != 11) {
//								// System.out.println(temp.getAbsolutePath() + " 第" + (row + 1) + "行,手机号码为允许为空且必须为11位!");
//								continue;
//							} else if (StringUtils.isEmpty(doctorType)) {
//								// System.out.println(temp.getAbsolutePath() + " 第" + (row + 1) + "行,三师类型不允许为空!");
//								continue;
//							} else if (StringUtils.isEmpty(name)) {
//								// System.out.println(temp.getAbsolutePath() + " 第" + (row + 1) + "行,姓名不允许为空!");
//								continue;
//							} else if (StringUtils.isEmpty(sex)) {
//								// System.out.println(temp.getAbsolutePath() + " 第" + (row + 1) + "行,性别不允许为空!");
//								continue;
//							}
//							// else if (StringUtils.isEmpty(job)) {
//							// System.out.println(temp.getAbsolutePath() + " 第" + (row+1) + "行,临床职称不允许为空!");
//							// }
//							else if (StringUtils.isEmpty(dept)) {
//								// System.out.println(temp.getAbsolutePath() + " 第" + (row + 1) + "行,科室不允许为空!");
//								continue;
//							}
//							if (hospitalName != null) {
//								hospitals.put(hospitalName, hospitalName);
//							}
//							String photo = "";
//							// 类型:1专科医生,2全科医生,3健康管理师
//							int level = 0;
//							if (doctorType.contains("专")) {
//								level = 1;
//							} else if (doctorType.contains("全")) {
//								level = 2;
//							} else if (doctorType.contains("健")) {
//								level = 3;
//							}
//							if (sex.contains("男")) {
//								sex = "1";
//							} else if (sex.contains("女")) {
//								sex = "2";
//							} else {
//								sex = "0";
//							}
//							StringBuffer sql = new StringBuffer();
//							sql.append("INSERT INTO `wlyy_doctor` (`code`,`name`,`sex`,`photo`,`mobile`,`status`,`province`,`city`,`hospital`,`dept`,`job`,`expertise`,`introduce`,`level`,`czrq`,`province_name`,`city_name`,`hospital_name`,`dept_name`,`job_name`) VALUES (");
//							sql.append("REPLACE(UUID(), '-', ''),'" + name + "','" + sex + "','" + photo + "','" + mobile + "','1','350000','350200','','','','" + expertise + "','" + intro + "','" + level + "','now()','福建省','厦门市','" + hospitalName + "','" + dept + "','" + job + "');");
//							sqls.add(sql.toString());
//						}
//					} catch (Exception e) {
//						e.printStackTrace();
//					} finally {
//						if (is != null) {
//							is.close();
//						}
//						if (hssfWorkbook != null) {
//							hssfWorkbook.close();
//						}
//					}
//				}
//			}
//			System.out.println("===========================");
//			Iterator<String> temps = hospitals.keySet().iterator();
//			while (temps.hasNext()) {
//				System.out.println(temps.next());
//			}
//			// System.out.println("===========================");
//			// for(String sql : sqls){
//			// System.out.println(sql);
//			// }
//			writeFile("D:\\tmp\\doctors.txt", sqls);
//			return success("导入成功!");
//		} catch (Exception e) {
//			error(e);
//			return error(-1, "导入失败!");
//		}
//	}
//
//	private static String getStringValue(HSSFCell cell) {
//		if (cell == null) {
//			return "";
//		}
//		String value = null;
//		switch (cell.getCellType()) {
//		case Cell.CELL_TYPE_BOOLEAN:
//			value = cell.getBooleanCellValue() ? "true" : "false";
//			break;
//		case Cell.CELL_TYPE_FORMULA:
//			value = cell.getCellFormula();
//			break;
//		case Cell.CELL_TYPE_NUMERIC:
//			cell.setCellType(Cell.CELL_TYPE_STRING);
//			value = cell.getStringCellValue();
//			break;
//		case Cell.CELL_TYPE_STRING:
//			value = cell.getStringCellValue();
//			break;
//		}
//		if (StringUtils.isNotEmpty(value)) {
//			value = value.replace("无", "");
//			value = value.replace("-", "");
//			value = value.replace("——", "");
//		}
//		return value;
//	}
//
//	private static void writeFile(String targetFile, List<String> list) throws IOException {
//		FileWriter fw = null;
//		try {
//			fw = new FileWriter(targetFile);
//			for (String temp : list) {
//				fw.write(temp);
//				fw.write("\n");
//			}
//		} catch (Exception e) {
//			e.printStackTrace();
//		} finally {
//			if (fw != null) {
//				fw.close();
//			}
//		}
//	}
//
//	@RequestMapping(value = "sign")
//	@ResponseBody
//	public String importSignData() throws IOException {
//
////		Map<String, String> teams = new HashMap<String, String>();
////		List<String> idcards = new ArrayList<String>();
////
////		List<String> errors = new ArrayList<String>();
////
////		List<Patient> patients = new ArrayList<Patient>();
////		List<SignContract> scs = new ArrayList<SignContract>();
////		List<DoctorTeam> dts = new ArrayList<DoctorTeam>();
////		List<DoctorTeamInfo> dtis = new ArrayList<DoctorTeamInfo>();
////		List<DoctorPatientGroupInfo> dptis = new ArrayList<DoctorPatientGroupInfo>();
////		InputStream is = null;
////		HSSFWorkbook hssfWorkbook = null;
////		try {
////			is = new FileInputStream(new File("D:\\tmp\\sign_data.xls"));
////			hssfWorkbook = new HSSFWorkbook(is);
////			// 获取第一个sheet
////			HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0);
////			for (int row = 1; row < hssfSheet.getLastRowNum() + 1; row++) {
////				HSSFRow hssfRow = hssfSheet.getRow(row);
////				// 患者姓名
////				String name = getStringValue(hssfRow.getCell(0));
////				// 身份证号
////				String idcard = getStringValue(hssfRow.getCell(1));
////				// 社保卡号
////				String ssc = getStringValue(hssfRow.getCell(2));
////				// 手机号
////				String mobile = getStringValue(hssfRow.getCell(3));
////				// 性别
////				String sex = getStringValue(hssfRow.getCell(4));
////				// 生日
////				String birthday = getStringValue(hssfRow.getCell(5));
////				// 省
////				String province = getStringValue(hssfRow.getCell(6));
////				// 市
////				String city = getStringValue(hssfRow.getCell(7));
////				// 区县
////				String town = getStringValue(hssfRow.getCell(8));
////				// 家庭地址
////				String address = getStringValue(hssfRow.getCell(9));
////				// 疾病类型:1高血压,2糖尿病
////				String disease = getStringValue(hssfRow.getCell(10));
////				// 签约机构
////				// String organization = getStringValue(hssfRow.getCell(11));
////				// 签约开始时间
////				String begin = getStringValue(hssfRow.getCell(12));
////				// 签约到期时间
////				String end = getStringValue(hssfRow.getCell(13));
////				// 专科医生
////				String doctor_1 = getStringValue(hssfRow.getCell(14));
////				// 专科医生手机
////				String d_mobile_1 = getStringValue(hssfRow.getCell(16));
////				// 专科医生所在医院
////				// String d_org_1 = getStringValue(hssfRow.getCell(17));
////				// 全科医生
////				String doctor_2 = getStringValue(hssfRow.getCell(18));
////				// 全科医生手机
////				String d_mobile_2 = getStringValue(hssfRow.getCell(19));
////				// 全科医生所在医院
////				// String d_org_2 = getStringValue(hssfRow.getCell(20));
////				// 健康管理师
////				String doctor_3 = getStringValue(hssfRow.getCell(21));
////				// 健康管理师手机
////				String d_mobile_3 = getStringValue(hssfRow.getCell(22));
////				// 健康管理师所在医院
////				// String d_org_3 = getStringValue(hssfRow.getCell(23));
////				if (StringUtils.isEmpty(idcard)) {
////					errors.add("无效身份证号:" + name);
////					continue;
////				}
////				if (idcards.contains(idcard)) {
////					errors.add("重复的身份证号:" + idcard + "  姓名:" + name);
////					continue;
////				}
////				if (StringUtils.isEmpty(ssc)) {
////					errors.add("无效的社保卡号:" + ssc);
////					continue;
////				}
////				idcards.add(idcard);
////				if (StringUtils.isEmpty(mobile)) {
////					errors.add("无效手机号:" + idcard);
////					continue;
////				}
////				if (mobile.length() != 11) {
////					errors.add("错误手机号:" + mobile);
////					continue;
////				}
////				if (d_mobile_1 == null || d_mobile_1.length() != 11) {
////					errors.add("专科医生手机号码为空:" + mobile);
////					continue;
////				}
////				if (d_mobile_2 == null || d_mobile_2.length() != 11) {
////					errors.add("全科医生手机号码为空:" + mobile);
////					continue;
////				}
////				if (d_mobile_3 == null || d_mobile_3.length() != 11) {
////					errors.add("健康管理师手机号码为空:" + mobile);
////					continue;
////				}
////				IdcardInfoExtractor ie = new IdcardInfoExtractor(idcard);
////				if (ie == null || ie.getGender() == 0) {
////					errors.add("错误的身份证号:" + idcard);
////					continue;
////				}
////
////				Patient patient = new Patient();
////				patient.setAddress(address);
////				patient.setBirthday(DateUtil.strToDateShort(birthday));
////				patient.setCityName(city);
////				patient.setCode(patientService.getCode());
////				patient.setCzrq(new Date());
////				patient.setDisease(NumberUtils.toInt(disease, 0));
////				patient.setDiseaseCondition(0);
////				patient.setIdcard(idcard);
////				patient.setName(name);
////				patient.setMobile(mobile);
////				patient.setProvinceName(province);
////				patient.setSex(NumberUtils.toInt(sex));
////				patient.setSsc(ssc);
////				patient.setTownName(town);
////				patient.setStatus(1);
////				patients.add(patient);
////
////				String team = teams.get(d_mobile_1 + "," + d_mobile_2 + "," + d_mobile_2);
////
////				if (StringUtils.isEmpty(team)) {
////					DoctorTeam dt = new DoctorTeam();
////					dt.setCode(patientService.getCode());
////					dt.setCzrq(new Date());
////					dt.setStatus(1);
////					dt.setDoctor(d_mobile_2);
////					dt.setDoctorName(doctor_2);
////					dt.setDoctors(d_mobile_1 + "," + d_mobile_2 + "," + d_mobile_2);
////					dt.setMembers("3");
////					dt.setName(name);
////					dts.add(dt);
////
////					DoctorTeamInfo dti1 = new DoctorTeamInfo();
////					dti1.setCzrq(new Date());
////					dti1.setDoctor(d_mobile_1);
////					dti1.setName(doctor_1);
////					dti1.setTeam(dt.getCode());
////					dti1.setType(1);
////					dtis.add(dti1);
////
////					DoctorTeamInfo dti2 = new DoctorTeamInfo();
////					dti2.setCzrq(new Date());
////					dti2.setDoctor(d_mobile_2);
////					dti2.setName(doctor_2);
////					dti2.setTeam(dt.getCode());
////					dti2.setType(2);
////					dtis.add(dti2);
////
////					DoctorTeamInfo dti3 = new DoctorTeamInfo();
////					dti3.setCzrq(new Date());
////					dti3.setDoctor(d_mobile_3);
////					dti3.setName(doctor_3);
////					dti3.setTeam(dt.getCode());
////					dti3.setType(3);
////					dtis.add(dti3);
////
////					team = dt.getCode();
////					teams.put(d_mobile_1 + "," + d_mobile_2 + "," + d_mobile_2, dt.getCode());
////				}
////				System.out.println(begin + "=====" + end);
////				System.out.println();
////				SignContract sc = new SignContract();
////				sc.setBegin(DateUtil.strToDateShort(begin));
////				sc.setCode(patientService.getCode());
////				sc.setEnd(DateUtil.strToDateShort(end));
////				sc.setIdcard(idcard);
////				sc.setSsc(ssc);
////				sc.setMobile(mobile);
////				sc.setBirthday(patient.getBirthday());
////				sc.setSex(patient.getSex());
////				sc.setDisease(patient.getDisease());
////				sc.setDiseaseCondition(patient.getDiseaseCondition());
////				sc.setMonths(12);
////				sc.setTeam(team);
////				sc.setUname(name);
////				sc.setUser(patient.getCode());
////				sc.setGp(d_mobile_2);
////				sc.setSpec(d_mobile_1);
////				sc.setHealthManager(d_mobile_3);
////				sc.setStatus(1);
////				scs.add(sc);
////
////				DoctorPatientGroupInfo dpgi1 = new DoctorPatientGroupInfo();
////				dpgi1.setCzrq(new Date());
////				dpgi1.setDoctor(d_mobile_1);
////				dpgi1.setDqrq(sc.getEnd());
////				if (patient.getDisease() == 1) {
////					// 高友
////					dpgi1.setGroup("1");
////				} else if (patient.getDisease() == 2) {
////					// 糖友
////					dpgi1.setGroup("2");
////				} else {
////					// 我的患者
////					dpgi1.setGroup("3");
////				}
////				dpgi1.setPartAmount(0);
////				dpgi1.setPatient(patient.getCode());
////				dpgi1.setPname(patient.getName());
////				dpgi1.setQyrq(sc.getBegin());
////				dpgi1.setSignType("1");
////				dpgi1.setStatus(1);
////				dptis.add(dpgi1);
////
////				DoctorPatientGroupInfo dpgi2 = new DoctorPatientGroupInfo();
////				dpgi2.setCzrq(new Date());
////				dpgi2.setDoctor(d_mobile_2);
////				dpgi2.setDqrq(sc.getEnd());
////				if (patient.getDisease() == 1) {
////					// 高友
////					dpgi2.setGroup("1");
////				} else if (patient.getDisease() == 2) {
////					// 糖友
////					dpgi2.setGroup("2");
////				} else {
////					// 我的患者
////					dpgi2.setGroup("3");
////				}
////				dpgi2.setPartAmount(0);
////				dpgi2.setPatient(patient.getCode());
////				dpgi2.setPname(patient.getName());
////				dpgi2.setQyrq(sc.getBegin());
////				dpgi2.setSignType("1");
////				dpgi2.setStatus(1);
////				dptis.add(dpgi2);
////
////				DoctorPatientGroupInfo dpgi3 = new DoctorPatientGroupInfo();
////				dpgi3.setCzrq(new Date());
////				dpgi3.setDoctor(d_mobile_3);
////				dpgi3.setDqrq(sc.getEnd());
////				if (patient.getDisease() == 1) {
////					// 高友
////					dpgi3.setGroup("1");
////				} else if (patient.getDisease() == 2) {
////					// 糖友
////					dpgi3.setGroup("2");
////				} else {
////					// 我的患者
////					dpgi3.setGroup("3");
////				}
////				dpgi3.setPartAmount(0);
////				dpgi3.setPatient(patient.getCode());
////				dpgi3.setPname(patient.getName());
////				dpgi3.setQyrq(sc.getBegin());
////				dpgi3.setSignType("1");
////				dpgi3.setStatus(1);
////				dptis.add(dpgi3);
////			}
////			importDataService.importSignData(patients, scs, dts, dtis, dptis);
////			writeFile("D:\\tmp\\error.txt", errors);
////			return success("导入成功!");
////		} catch (Exception e) {
////			error(e);
////			return error(-1, "导入失败!");
////		} finally {
////			if (is != null) {
////				is.close();
////			}
////			if (hssfWorkbook != null) {
////				hssfWorkbook.close();
////			}
////		}
//		return null;
//	}
}

+ 2 - 2
src/main/java/com/yihu/wlyy/web/quota/JobController.java

@ -29,8 +29,8 @@ import static com.yihu.wlyy.job.consult.ConsultCleanerJob.ConsultTerminatorJobKe
 * @author chenweida
 */
@RestController
@RequestMapping("/job")
@Api(description = "后台-任务控制", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@RequestMapping(value = "/job", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(description = "后台-任务控制")
public class JobController extends BaseController {
    private final JobService jobService;
    private final PatientDiseaseService diseaseService;

BIN
src/main/resources/kaptcha-2.3.2.jar