| | |
| | | import org.apache.commons.collections4.MapUtils; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.core.io.ClassPathResource; |
| | | import org.springframework.validation.BindingResult; |
| | | import org.springframework.validation.ObjectError; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import java.io.*; |
| | | import java.io.ByteArrayInputStream; |
| | | import java.io.File; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | } |
| | | return ResultBody.failed().msg(errMsg.toString()); |
| | | } else { |
| | | if (organizationInfo.getId() == null) { |
| | | //新增机构增加关注二维码 |
| | | String url = createQr(String.valueOf(organizationInfo.getId())); |
| | | if (StringUtils.isNotBlank(url)) { |
| | | organizationInfo.setQrCode(url); |
| | | } |
| | | } |
| | | boolean v = organizationInfoService.saveOrUpdate(organizationInfo); |
| | | if (v) { |
| | | if (StringUtils.isBlank(organizationInfo.getQrCode())) { |
| | | //新增机构增加关注二维码 |
| | | String url = createQr(String.valueOf(organizationInfo.getId())); |
| | | if (StringUtils.isNotBlank(url)) { |
| | | organizationInfo.setQrCode(url); |
| | | organizationInfoService.updateById(organizationInfo); |
| | | } |
| | | } |
| | | return ResultBody.ok().data(organizationInfo).msg("保存成功"); |
| | | } else { |
| | | return ResultBody.failed().msg("保存失败"); |
| | |
| | | |
| | | private String createQr(String id) { |
| | | String url = ""; |
| | | String str = "{\"action_name\": \"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"kagscreening_\" " + id + "}}}"; |
| | | String str = "{\"action_name\": \"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"kagscreening_" + id + "\"}}}"; |
| | | |
| | | String token = redisUtils.get("Wechat:Token:KagReceiveToken").toString(); |
| | | String result = HttpRequest.post("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + token) |
| | |
| | | List<ScreeningOrganizationExcel> list = ExcelUtil.importExcel(excel, 0, 1, ScreeningOrganizationExcel.class); |
| | | rowNum = list.size(); |
| | | if (rowNum > 0) { |
| | | List<ScreeningOrganizationInfo> users = new ArrayList<>(rowNum); |
| | | String[] area = areaCode.split("#"); |
| | | |
| | | list.forEach(u -> { |
| | | ScreeningOrganizationInfo user = new ScreeningOrganizationInfo(); |
| | | BeanUtil.copyProperties(u, user); |
| | | user.setSourceHospitalName(hospitalName); |
| | | user.setSourceHospitalId(Long.parseLong(hospitalId)); |
| | | user.setProvince(area[0]); |
| | | user.setCity(area[1]); |
| | | user.setArea(area[2]); |
| | | user.setAreaCode(areaName); |
| | | users.add(user); |
| | | ScreeningOrganizationInfo organizationInfo = new ScreeningOrganizationInfo(); |
| | | BeanUtil.copyProperties(u, organizationInfo); |
| | | organizationInfo.setSourceHospitalName(hospitalName); |
| | | organizationInfo.setSourceHospitalId(Long.parseLong(hospitalId)); |
| | | organizationInfo.setProvince(area[0]); |
| | | organizationInfo.setCity(area[1]); |
| | | organizationInfo.setArea(area[2]); |
| | | organizationInfo.setAreaCode(areaName); |
| | | organizationInfoService.saveOrUpdate(organizationInfo); |
| | | if (StringUtils.isBlank(organizationInfo.getQrCode())) { |
| | | organizationInfo.setQrCode(createQr(String.valueOf(organizationInfo.getId()))); |
| | | organizationInfoService.updateById(organizationInfo); |
| | | } |
| | | }); |
| | | organizationInfoService.saveBatch(users); |
| | | |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response) { |
| | | try { |
| | | InputStream inStream =this.getClass().getResourceAsStream("/static/pages/template/机构导入模板.xlsx"); |
| | | InputStream inStream = null; |
| | | ClassPathResource resource = new ClassPathResource(File.separator + "template" + File.separator + "机构导入模板.xlsx"); |
| | | if (resource.exists()) { |
| | | inStream = resource.getInputStream(); |
| | | } |
| | | // 设置输出的格式 |
| | | response.reset(); |
| | | response.setContentType("bin"); |
| | |
| | | @PostMapping("/getOrganizationListByHospitalId") |
| | | public ResultBody getOrganizationListByHospitalId(@RequestBody String id) { |
| | | List<ScreeningOrganizationInfo> byHospitalId = organizationInfoService.findByHospitalId(Long.valueOf(id)); |
| | | if(byHospitalId != null && byHospitalId.size() > 0){ |
| | | if (byHospitalId != null && byHospitalId.size() > 0) { |
| | | return ResultBody.ok().data(byHospitalId).msg("查询成功"); |
| | | } |
| | | return ResultBody.failed().msg("查询失败"); |
| | | } |
| | | |
| | | /** |
| | | * 关键字查询列表 |
| | | */ |
| | | @ApiOperation(value = "关键字查询列表") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"), |
| | | @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") |
| | | }) |
| | | @PostMapping(value = "/listByKeyWord") |
| | | public PageResult<ScreeningOrganizationInfo> listByKeyWord(@RequestParam Map<String, Object> params) { |
| | | if (params.size() == 0) { |
| | | params.put("page", 1); |
| | | params.put("limit", 10); |
| | | } |
| | | return organizationInfoService.findByKeyWord(params); |
| | | } |
| | | } |