Merge remote-tracking branch 'origin/dev' into dev
1 files added
11 files modified
New file |
| | |
| | | package com.kidgrow.filecenter.config; |
| | | |
| | | import feign.form.spring.SpringFormEncoder; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Primary; |
| | | import org.springframework.context.annotation.Scope; |
| | | |
| | | //@Configuration |
| | | public class FeignMultipartConfig { |
| | | |
| | | @Bean |
| | | @Primary |
| | | @Scope("prototype") |
| | | public SpringFormEncoder multipartFormEncoder() { |
| | | return new SpringFormEncoder(); |
| | | } |
| | | |
| | | @Bean |
| | | public feign.Logger.Level multipartLoggerLevel() { |
| | | return feign.Logger.Level.FULL; |
| | | } |
| | | } |
| | | |
| | |
| | | package com.kidgrow.filecenter.feign; |
| | | |
| | | import com.kidgrow.common.constant.ServiceNameConstants; |
| | | import com.kidgrow.filecenter.config.FeignMultipartConfig; |
| | | import com.kidgrow.filecenter.feign.fallback.FileServiceFallbackFactory; |
| | | import com.kidgrow.filecenter.model.FileInfo; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | |
| | | * @CreateDate: Created in 2020/2/22 14:33 <br> |
| | | * @Author: <a href="4345453@kidgrow.com">liuke</a> |
| | | */ |
| | | @FeignClient(name = ServiceNameConstants.FILE_CENTER_SERVER, fallbackFactory = FileServiceFallbackFactory.class, decode404 = true) |
| | | @FeignClient(name = ServiceNameConstants.FILE_CENTER_SERVER, configuration = FeignMultipartConfig.class,fallbackFactory = FileServiceFallbackFactory.class, decode404 = true) |
| | | public interface FileService { |
| | | /** |
| | | * 根据条件查询 |
| | |
| | | * 根据条件查询 |
| | | * @param file |
| | | */ |
| | | @PostMapping(value = "/files-upload",consumes = MediaType.MULTIPART_FORM_DATA_VALUE) |
| | | FileInfo feignUpload(MultipartFile file); |
| | | @PostMapping(value = "/files-upload",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},consumes = MediaType.MULTIPART_FORM_DATA_VALUE) |
| | | FileInfo feignUpload(@RequestPart("file") MultipartFile file); |
| | | |
| | | |
| | | } |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RequestPart; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | /** |
| | |
| | | return null; |
| | | } |
| | | @Override |
| | | public FileInfo feignUpload(MultipartFile file) { |
| | | public FileInfo feignUpload(@RequestPart("file") MultipartFile file) { |
| | | return null; |
| | | } |
| | | }; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.Date; |
| | | import java.util.UUID; |
| | | |
| | | /** |
| | | * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> |
| | |
| | | protected void uploadFile(MultipartFile file, FileInfo fileInfo) throws Exception { |
| | | String clientID= httpServletRequest.getHeader(SecurityConstants.CLIENT_HEADER); |
| | | String folderByDate =DateUtil.formatDate(new Date()); |
| | | if(clientID=="hospital"){//医院端平台,根据医院ID,科室ID进行OSS存储 |
| | | int begin = file.getOriginalFilename().indexOf("."); |
| | | int last = file.getOriginalFilename().length(); |
| | | String fileType = file.getOriginalFilename().substring(begin, last); |
| | | String fileName= UUID.randomUUID().toString().replaceAll("-","")+fileType; |
| | | if(clientID.equals("hospital")){//医院端平台,根据医院ID,科室ID进行OSS存储 |
| | | String orgID=httpServletRequest.getHeader(SecurityConstants.USER_ORG_ID_HEADER); |
| | | String depID=httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER); |
| | | String fileFolder="KidgrowAI/"+orgID+"/"+depID+"/"; |
| | | ossClient.putObject(fileProperties.getOss().getBucketName(), fileFolder + folderByDate + "/" + fileInfo.getName(), file.getInputStream()); |
| | | fileInfo.setUrl(fileProperties.getOss().getDomain() + fileFolder + folderByDate + "/" + fileInfo.getName()); |
| | | |
| | | ossClient.putObject(fileProperties.getOss().getBucketName(), fileFolder + folderByDate + "/" + fileName, file.getInputStream()); |
| | | fileInfo.setUrl(fileProperties.getOss().getDomain() + fileFolder + folderByDate + "/" + fileName); |
| | | } |
| | | else { |
| | | ossClient.putObject(fileProperties.getOss().getBucketName(), fileProperties.getOss().getFolder() + folderByDate + "/" + fileInfo.getName(), file.getInputStream()); |
| | | fileInfo.setUrl(fileProperties.getOss().getDomain() + fileProperties.getOss().getFolder() + folderByDate + "/" + fileInfo.getName()); |
| | | ossClient.putObject(fileProperties.getOss().getBucketName(), fileProperties.getOss().getFolder() + folderByDate + "/" + fileName, file.getInputStream()); |
| | | fileInfo.setUrl(fileProperties.getOss().getDomain() + fileProperties.getOss().getFolder() + folderByDate + "/" + fileName); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>io.github.openfeign.form</groupId> |
| | | <artifactId>feign-form</artifactId> |
| | | <version>3.3.0</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>io.github.openfeign.form</groupId> |
| | | <artifactId>feign-form-spring</artifactId> |
| | | <version>3.3.0</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.kidgrow</groupId> |
| | | <artifactId>kidgrow-common-spring-boot-starter</artifactId> |
| | | </dependency> |
| | |
| | | SysUser user = new SysUser(); |
| | | user.setId(id); |
| | | user.setMobile(newTel); |
| | | user.setUsername(newTel); |
| | | //修改doctor表 |
| | | com.kidgrow.usercenter.model.SysDoctor sysDoctorModel= findDoctorByUserId(user.getId()); |
| | | com.kidgrow.usercenter.model.SysDoctor newsysDoctorModel= new com.kidgrow.usercenter.model.SysDoctor(); |
| | |
| | | newsysDoctorModel.setDoctorTel(newTel); |
| | | sysDoctorMapper.updateById(newsysDoctorModel); |
| | | } |
| | | |
| | | if (baseMapper.updateById(user) > 0) { |
| | | //将Redis清除 |
| | | redisUtils.hdel(ConstantSMS.PHONE_SMS,newTel); |
| | | return ResultBody.ok().msg("手机号修改成功!"); |
| | | } else { |
| | | return ResultBody.failed("手机号修改失败!"); |
| | |
| | | if (StringUtils.isBlank(phone)) { |
| | | return ResultBody.failed("请输入新手机号"); |
| | | } |
| | | if(!sysUser.getMobile().equals(password)){ |
| | | return ResultBody.failed("请输入原手机号"); |
| | | } |
| | | String verificationCode = MapUtils.getString(map, "verificationCode"); |
| | | if (StringUtils.isBlank(verificationCode)) { |
| | | return ResultBody.failed("请输入验证码"); |
| | |
| | | System.out.println(formatDate(getAfterDay(new Date()), "yyyy-MM-dd")); |
| | | System.out.println(formatDate(getAfterWeek(new Date()), "yyyy-MM-dd")); |
| | | System.out.println(formatDate(getAfterYear(new Date()), "yyyy-MM-dd")); |
| | | System.out.println(getSecondsNextEarlyMorning()); |
| | | |
| | | } |
| | | //(到今晚的秒数) |
| | | public static Long getSecondsNextEarlyMorning() { |
| | | Date afterDay = getAfterDay(new Date()); |
| | | String s = formatDate(afterDay, null); |
| | | Date date = parseDate(s); |
| | | long second= (date.getTime()-System.currentTimeMillis())/1000; |
| | | return second; |
| | | } |
| | | } |
| | |
| | | requestHeaders.add(CommonConstant.USER_AGENT_BROWSER); |
| | | requestHeaders.add(CommonConstant.USER_AGENT_IP); |
| | | requestHeaders.add(CommonConstant.USER_AGENT_SYSTEM); |
| | | requestHeaders.add(SecurityConstants.USER_HOSPITAL_ID_HEADER); |
| | | } |
| | | |
| | | /** |
| | |
| | | requestHeaders.add(CommonConstant.USER_AGENT_BROWSER); |
| | | requestHeaders.add(CommonConstant.USER_AGENT_IP); |
| | | requestHeaders.add(CommonConstant.USER_AGENT_SYSTEM); |
| | | requestHeaders.add(SecurityConstants.USER_HOSPITAL_ID_HEADER); |
| | | } |
| | | |
| | | /** |
| | |
| | | public interface ConstantSMS { |
| | | String PASSWORD_SMS = "PASSWORD_SMS";//修改密码 短信验证的type值 |
| | | String REGISTER_SMS = "REGISTER_SMS";//注册 短信验证的type值 |
| | | String PHONE_SMS = "PHONE_SMS";//注册 短信验证的type值 |
| | | String PHONE_SMS = "PHONE_SMS";//更换手机号 短信验证的type值 |
| | | } |
| | |
| | | Date date2 = DateUtils.addMilliseconds(DateUtils.parseDate(s1), CHUANGLAN_SMS_TIMELIMIT); |
| | | cunMap.put("endTime",DateUtils.formatDateTime(date2)); |
| | | }else{ |
| | | return ResultBody.failed().data("每个手机号限用5次"); |
| | | return ResultBody.failed().data("每个手机号限用"+CHUANGLAN_SMS_NUM+"次"); |
| | | } |
| | | }else { |
| | | return ResultBody.failed(); |
| | | } |
| | | } |
| | | if ("0".equals(jsonObject.get("code"))) { |
| | | redisUtils.hset(map.get("type").toString(), map.get("phone").toString(),cunMap,getSecondsNextEarlyMorning()); |
| | | return ResultBody.ok().data(verificationCode); |
| | | redisUtils.hset(map.get("type").toString(), map.get("phone").toString(),cunMap,DateUtils.getSecondsNextEarlyMorning()); |
| | | // return ResultBody.ok().data(verificationCode); |
| | | return ResultBody.ok(); |
| | | } else { |
| | | return ResultBody.failed(); |
| | | } |
| | |
| | | return ResultBody.failed("该手机号没有验证码"); |
| | | } |
| | | } |
| | | //获取 存放 Redis的时间 |
| | | //获取 存放 Redis的时间 秒(到今晚的秒数) |
| | | public Long getSecondsNextEarlyMorning() { |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.add(Calendar.DAY_OF_YEAR, 1); |
| | | // 改成这样就好了 |
| | | cal.set(Calendar.HOUR_OF_DAY, 0); |
| | | cal.set(Calendar.SECOND, 0); |
| | | cal.set(Calendar.MINUTE, 0); |
| | | cal.set(Calendar.MILLISECOND, 0); |
| | | return (cal.getTimeInMillis() - System.currentTimeMillis()) / 1000; |
| | | Date afterDay = DateUtils.getAfterDay(new Date()); |
| | | String s = DateUtils.formatDate(afterDay, null); |
| | | Date date = DateUtils.parseDate(s); |
| | | System.out.println(date.getTime()-System.currentTimeMillis()); |
| | | long second= (date.getTime()-System.currentTimeMillis())/1000; |
| | | return second; |
| | | } |
| | | } |
| | |
| | | strip-prefix: true |
| | | sensitive-headers: '*' |
| | | custom-sensitive-headers: true |
| | | sms: |
| | | path: /api-sms/** |
| | | service-id: sms-service-server |
| | | strip-prefix: true |
| | | sensitive-headers: '*' |
| | | custom-sensitive-headers: true |
| | | log: |
| | | path: /api-log/** |
| | | service-id: logcenter-server |