From b081758449c9d491adf1c70a030461b24dc163fe Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期一, 14 八月 2023 17:59:31 +0800 Subject: [PATCH] 满意度调查word解析 人员管理 --- framework/src/main/java/com/yuanchu/limslaboratory/utils/MultipartFileToFileUtil.java | 70 ++++++++++ cnas-server/src/main/resources/mapper/CnasSatisfactionSurveyMapper.xml | 14 + cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyPageDto.java | 8 user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java | 2 user-server/src/main/java/com/yuanchu/limslaboratory/vo/PagePersonnelVo.java | 2 sys/src/main/resources/application-dev.yml | 6 user-server/src/main/resources/mapper/UserMapper.xml | 2 cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java | 37 ++++ cnas-server/src/main/java/com/yuanchu/limslaboratory/service/impl/CnasSatisfactionSurveyServiceImpl.java | 183 +++++++++++++++++++++++++ user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java | 5 cnas-server/src/main/java/com/yuanchu/limslaboratory/service/CnasSatisfactionSurveyService.java | 28 +++ cnas-server/src/main/java/com/yuanchu/limslaboratory/mapper/CnasSatisfactionSurveyMapper.java | 4 cnas-server/pom.xml | 25 +++ cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/CnasSatisfactionSurvey.java | 19 +- 14 files changed, 362 insertions(+), 43 deletions(-) diff --git a/cnas-server/pom.xml b/cnas-server/pom.xml index 46a16c0..7931358 100644 --- a/cnas-server/pom.xml +++ b/cnas-server/pom.xml @@ -50,6 +50,31 @@ <artifactId>poi-scratchpad</artifactId> <version>4.1.2</version> </dependency> + <dependency> + <groupId>com.yunchu.limslaboratory</groupId> + <artifactId>user-server</artifactId> + <version>0.0.1-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.poi</groupId> + <artifactId>poi</artifactId> + <version>4.1.2</version> + </dependency> + <dependency> + <groupId>org.apache.poi</groupId> + <artifactId>poi-ooxml</artifactId> + <version>4.1.2</version> + </dependency> + <dependency> + <groupId>org.apache.poi</groupId> + <artifactId>poi-ooxml-schemas</artifactId> + <version>4.1.2</version> + </dependency> + <dependency> + <groupId>org.apache.poi</groupId> + <artifactId>poi-scratchpad</artifactId> + <version>4.1.2</version> + </dependency> </dependencies> diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java index 95646d1..47b9854 100644 --- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java +++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java @@ -1,16 +1,18 @@ package com.yuanchu.limslaboratory.controller; -import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyDto; +import com.yuanchu.limslaboratory.pojo.CnasSatisfactionSurvey; +import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyPageDto; import com.yuanchu.limslaboratory.pojo.vo.CnasSatisfactionSurveyVo; import com.yuanchu.limslaboratory.service.CnasSatisfactionSurveyService; import com.yuanchu.limslaboratory.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.util.Map; /** * @Author 寮犲 @@ -30,9 +32,32 @@ */ @ApiOperation(value = "鑾峰彇婊℃剰搴﹁皟鏌�") @GetMapping("/getCnasSatisfactionSurvey") - public Result<CnasSatisfactionSurveyVo>getCnasSatisfactionSurvey(CnasSatisfactionSurveyDto cnasSatisfactionSurveyDto){ - return Result.success(service.getCnasSatisfactionSurvey(cnasSatisfactionSurveyDto)); + public Result<CnasSatisfactionSurveyVo>getCnasSatisfactionSurvey(CnasSatisfactionSurveyPageDto cnasSatisfactionSurveyPageDto){ + return Result.success(service.getCnasSatisfactionSurvey(cnasSatisfactionSurveyPageDto)); } + @GetMapping("/getFillNameAndId") + @ApiOperation(value = "鑾峰彇褰撳墠褰曞彇浜�") + public Result<Map>getFillNameAndId(@RequestHeader("X-Token")String token){ + return Result.success(service.getFillNameAndTd(token)); + } + + /** + * 闄勪欢涓婁紶 + * @param file + * @return + */ + @ApiOperation(value = "闄勪欢涓婁紶") + @PostMapping(value = "/uploadFile",consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = {MediaType.APPLICATION_JSON_VALUE}) + public Result<Map>wordParse(MultipartFile file){ + return Result.success(service.wordParse(file)); + } + + @ApiOperation(value = "婊℃剰搴﹁皟鏌ユ柊澧�") + @PostMapping("/addSurvey") + public Result<Boolean>addSurvey(@RequestBody CnasSatisfactionSurvey cnasSatisfactionSurvey){ + System.out.println(cnasSatisfactionSurvey+"============="); + return Result.success(service.addSurvey(cnasSatisfactionSurvey)); + } } diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/mapper/CnasSatisfactionSurveyMapper.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/mapper/CnasSatisfactionSurveyMapper.java index 2b73e83..585272b 100644 --- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/mapper/CnasSatisfactionSurveyMapper.java +++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/mapper/CnasSatisfactionSurveyMapper.java @@ -4,8 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.pojo.CnasSatisfactionSurvey; -import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyDto; -import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; /** @@ -15,5 +13,5 @@ @Repository public interface CnasSatisfactionSurveyMapper extends BaseMapper<CnasSatisfactionSurvey> { - IPage<CnasSatisfactionSurvey>selectCnasSatisfactionSurvey(Page<CnasSatisfactionSurvey>page, @Param("dto") CnasSatisfactionSurveyDto dto); + IPage<CnasSatisfactionSurvey>selectCnasSatisfactionSurvey(Page<CnasSatisfactionSurvey>page, String surveyDate,String entryDate); } diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/CnasSatisfactionSurvey.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/CnasSatisfactionSurvey.java index ddf02ce..e9e930a 100644 --- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/CnasSatisfactionSurvey.java +++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/CnasSatisfactionSurvey.java @@ -9,7 +9,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; -import java.sql.Date; +import java.util.Date; import java.time.LocalDateTime; /** @@ -45,12 +45,12 @@ */ private String userUnit; - /** - * 鏃ユ湡 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date dateInfo; + ///** + // * 鏃ユ湡 + // */ + //@DateTimeFormat(pattern = "yyyy-MM-dd") + //@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + //private Date dateInfo; /** * 濉啓浜哄鍚� @@ -134,5 +134,10 @@ pattern = "yyyy-MM-dd HH:mm:ss" ) private LocalDateTime updatedTime; + + /** + * 鏀惰垂鍚堢悊鎬� + */ + private String reasonableCharge; } diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyDto.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyPageDto.java similarity index 76% rename from cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyDto.java rename to cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyPageDto.java index 13b98ee..119dea9 100644 --- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyDto.java +++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyPageDto.java @@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; -import java.util.Date; +import java.sql.Date; /** * @Author 寮犲 @@ -17,7 +17,7 @@ @Data @EqualsAndHashCode(callSuper = false) @ApiModel(value="CnasSatisfactionSurveyDto", description="") -public class CnasSatisfactionSurveyDto implements Serializable { +public class CnasSatisfactionSurveyPageDto implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "褰撳墠椤�", example = "1", required = true) @@ -27,13 +27,9 @@ private Long pageNum; @ApiModelProperty(value = "璋冩煡鏃ユ湡", example = "2020-01-02", required = true) - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date surveyDate; @ApiModelProperty(value = "褰曞叆鏃ユ湡", example = "2025-06-08", required = true) - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date entryDate; } diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/CnasSatisfactionSurveyService.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/CnasSatisfactionSurveyService.java index e80a3f7..673c12d 100644 --- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/CnasSatisfactionSurveyService.java +++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/CnasSatisfactionSurveyService.java @@ -1,7 +1,11 @@ package com.yuanchu.limslaboratory.service; -import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyDto; +import com.yuanchu.limslaboratory.pojo.CnasSatisfactionSurvey; +import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyPageDto; import com.yuanchu.limslaboratory.pojo.vo.CnasSatisfactionSurveyVo; +import org.springframework.web.multipart.MultipartFile; + +import java.util.Map; /** * @Author 寮犲 @@ -11,10 +15,28 @@ /** * 鑾峰彇婊℃剰搴﹁皟鏌ヤ俊鎭� - * @param cnasSatisfactionSurveyDto + * @param cnasSatisfactionSurveyPageDto * @return */ - CnasSatisfactionSurveyVo getCnasSatisfactionSurvey(CnasSatisfactionSurveyDto cnasSatisfactionSurveyDto); + CnasSatisfactionSurveyVo getCnasSatisfactionSurvey(CnasSatisfactionSurveyPageDto cnasSatisfactionSurveyPageDto); + /** + * 鑾峰彇褰撳墠褰曞叆浜� + * @return + */ + Map<String, Object> getFillNameAndTd(String token); + /** + * 瑙f瀽word + * @param file + * @return + */ + Map<String, String> wordParse(MultipartFile file); + + /** + * 鏂板婊℃剰搴﹁皟鏌� + * @param cnasSatisfactionSurvey + * @return + */ + Boolean addSurvey(CnasSatisfactionSurvey cnasSatisfactionSurvey); } diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/impl/CnasSatisfactionSurveyServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/impl/CnasSatisfactionSurveyServiceImpl.java index 846cd7c..57fb932 100644 --- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/impl/CnasSatisfactionSurveyServiceImpl.java +++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/impl/CnasSatisfactionSurveyServiceImpl.java @@ -1,15 +1,28 @@ package com.yuanchu.limslaboratory.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.mapper.CnasSatisfactionSurveyMapper; import com.yuanchu.limslaboratory.pojo.CnasSatisfactionSurvey; -import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyDto; +import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyPageDto; import com.yuanchu.limslaboratory.pojo.vo.CnasSatisfactionSurveyVo; import com.yuanchu.limslaboratory.service.CnasSatisfactionSurveyService; +import com.yuanchu.limslaboratory.service.UserService; +import com.yuanchu.limslaboratory.utils.MultipartFileToFileUtil; +import org.apache.poi.hwpf.HWPFDocument; +import org.apache.poi.hwpf.extractor.WordExtractor; +import org.apache.poi.xwpf.extractor.XWPFWordExtractor; +import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.*; +import java.util.stream.Collectors; /** * @Author 寮犲 @@ -18,14 +31,176 @@ @Service public class CnasSatisfactionSurveyServiceImpl implements CnasSatisfactionSurveyService { + private static final List<String> SELECT_LIST = Arrays.asList( "鈽戞弧鎰�=0", "鈽戜竴鑸�=1", "鈽戜笉婊℃剰=2"); + @Resource private CnasSatisfactionSurveyMapper mapper; + @Resource + private UserService userService; + @Override - public CnasSatisfactionSurveyVo getCnasSatisfactionSurvey(CnasSatisfactionSurveyDto cnasSatisfactionSurveyDto) { - Page<CnasSatisfactionSurvey>page=new Page<>(cnasSatisfactionSurveyDto.getCurrentPage(), cnasSatisfactionSurveyDto.getPageNum(),true); - IPage<CnasSatisfactionSurvey> cnasSatisfactionSurveyIPage = mapper.selectCnasSatisfactionSurvey(page, cnasSatisfactionSurveyDto); + public CnasSatisfactionSurveyVo getCnasSatisfactionSurvey(CnasSatisfactionSurveyPageDto cnasSatisfactionSurveyPageDto) { + Page<CnasSatisfactionSurvey>page=new Page<>(cnasSatisfactionSurveyPageDto.getCurrentPage(), cnasSatisfactionSurveyPageDto.getPageNum(),true); + String surveyDate=DateUtil.format(cnasSatisfactionSurveyPageDto.getSurveyDate(), "yyyyMMdd"); + String entryDate=DateUtil.format(cnasSatisfactionSurveyPageDto.getEntryDate(), "yyyyMMdd");; + IPage<CnasSatisfactionSurvey> cnasSatisfactionSurveyIPage = mapper.selectCnasSatisfactionSurvey(page,surveyDate,entryDate); return new CnasSatisfactionSurveyVo(cnasSatisfactionSurveyIPage.getRecords(),cnasSatisfactionSurveyIPage.getTotal()); } + + /** + * + * @param token + * @return + */ + @Override + public Map<String, Object> getFillNameAndTd(String token) { + Map<String, Object> userInfo = userService.getUserInfo(token); + return userInfo; + } + + @Override + public Map<String, String> wordParse(MultipartFile file) { + Map<String, String>result=null; + File multipartFileToFile = null; + try { + multipartFileToFile=MultipartFileToFileUtil.multipartFileToFile(file); + result=parseWord(multipartFileToFile); + } catch (Exception e) { + e.printStackTrace(); + }finally { + MultipartFileToFileUtil.delteTempFile(multipartFileToFile); + } + return result; + } + + @Override + public Boolean addSurvey(CnasSatisfactionSurvey cnasSatisfactionSurvey) { + cnasSatisfactionSurvey.setCreatedTime(DateUtil.toLocalDateTime(DateUtil.date())); + return mapper.insert(cnasSatisfactionSurvey)>1; + } + + /** + * 瑙f瀽word + * @param file + * @return + */ + public static Map<String,String> parseWord(File file){ + String info = ""; + try { + FileInputStream fis = new FileInputStream(file); + String[] split = file.getName().split("\\."); + if ("doc".equals(split[split.length-1])) { + // 璇诲彇doc鏂囦欢 + HWPFDocument doc = new HWPFDocument(fis); + WordExtractor docExtractor = new WordExtractor(doc); + String text = docExtractor.getText(); + info = text.trim(); + docExtractor.close(); + } else if ("docx".equals(split[split.length-1])) { + // 璇诲彇docx鏂囦欢 + XWPFDocument docx = new XWPFDocument(fis); + XWPFWordExtractor docxExtractor = new XWPFWordExtractor(docx); + String text = docxExtractor.getText(); + System.out.println("docx:"); + info = text.trim(); + docxExtractor.close(); + } else { + System.out.println("涓嶆槸word鏂囦欢"); + } + fis.close(); + } catch (IOException e) { + e.printStackTrace(); + } + List<String> infoList = new ArrayList<String>(); + String[] split = info.split("\n"); + for (int i = 0; i < split.length; i++) { + if (i > 2) { + infoList.add(split[i] + .replaceAll("\r","") + .replaceAll(" ","") + .replaceAll("\t","") + .replaceAll("\\s","").replaceAll(" +","")); + } + } + Map<String, String> result = new HashMap<>(); + //绗竴琛� + String unitName="鍗曚綅鍚嶇ОUnitname"; + String projectName="椤圭洰鍚嶇ОProjectname"; + String[] one = infoList.get(0).replace(unitName, "").split(projectName); + result.put("unitName",one[0]); + result.put("projectName",one[1]); + String fillName="濉〃浜哄鍚嶏紡鏃ユ湡Name/dateofthepersonfillingintheform"; + String post="鑱屼綅Posts"; + String telephone="鑱旂郴鐢佃瘽Contactnumber"; + String email="閭紪Zip"; + String[] split1 = infoList.get(1).replace(fillName, "").split(post); + result.put("fillName",split1[0]); + String[] split2 = split1[1].split(telephone); + result.put("post",split2[0]); + String[] split3 = split2[1].split(email); + result.put("telephone",split3[0]); + result.put("email",split3[1]); + //绗簩琛� + String serviceAttitude="鏈嶅姟鎬佸害Serviceattitude"; + //鏈嶅姟鎬佸害鍜屽缓璁� + String two = getSelectAndAdvise(infoList.get(2), serviceAttitude); + result.put("serviceAttitude",two); + //绗笁琛� + String technicalPower="鎶�鏈兘鍔汿echnicalcompetence"; + String three = getSelectAndAdvise(infoList.get(3), technicalPower); + result.put("technicalPower",three); + //绗洓琛� + String testJob="妫�娴嬪伐浣淚nspectionwork"; + String four = getSelectAndAdvise(infoList.get(4), testJob); + result.put("testJob",four); + //绗簲琛� + String reasonableCharge="鏀惰垂鍚堢悊鎬easonablefees"; + String five = getSelectAndAdvise(infoList.get(5), reasonableCharge); + result.put("reasonableCharge",five); + //绗叚琛� + String improvementRequirements="鏀硅繘鐨勮姹傦細"; + String requirementsForImprovement="Requirementsforimprovement:"; + String six = infoList.get(6).replace(improvementRequirements, "").replace(requirementsForImprovement, ""); + result.put("improvementRequirements",six); + //绗竷琛� + String otherSupplements="鎮ㄥ鎴戜滑鐨勫笇鏈涳細"; + String otherEnglish="Whatyouwantfromus:"; + String seven = infoList.get(7).replace(otherSupplements, "").replace(otherEnglish, ""); + result.put("otherSupplements",seven); + return result; + } + + + /** + * 鑾峰彇閫夋嫨浠ュ強寤鸿 + * @param str + * @param type + * @return + */ + public static String getSelectAndAdvise(String str,String type){ + String adviseInfo="寤鸿锛�"; + String suggestion="Suggestion:"; + String satisfied="Satisfied"; + String general="General"; + String dissatisfied="Dissatisfied"; + String[] split4 = str.replace(type, "").replace(suggestion, "").split(adviseInfo); + List<String>select=new ArrayList<>(); + String advise=split4[1]; + String[] split5 = split4[0].split(satisfied); + select.add(split5[0]); + String[] split6 = split5[1].split(general); + select.add(split6[0]); + select.add(split6[1].replace(dissatisfied,"")); + String selected = getSelected(select); + return selected+"/$"+advise; + } + + public static String getSelected(List<String> select){ + String collect = SELECT_LIST.stream().filter(item -> select.stream() + .map(e -> e).collect(Collectors.toList()) + .contains(item.split("=")[0])).collect(Collectors.joining()); + return collect.split("=")[1]; + } } diff --git a/cnas-server/src/main/resources/mapper/CnasSatisfactionSurveyMapper.xml b/cnas-server/src/main/resources/mapper/CnasSatisfactionSurveyMapper.xml index 2beef0a..3302613 100644 --- a/cnas-server/src/main/resources/mapper/CnasSatisfactionSurveyMapper.xml +++ b/cnas-server/src/main/resources/mapper/CnasSatisfactionSurveyMapper.xml @@ -9,7 +9,6 @@ css.project_name projectName, css.survey_date surveyDate, css.user_unit userUnit, - css.date_info dateInfo, css.`fill_name` fillName, css.post post, css.telephone telephone, @@ -18,7 +17,9 @@ css.service_attitude serviceAttitude, css.technical_power technicalPower, css.test_job testJob, - css.improvement_requirements improvementRequirements + css.reasonable_charge reasonableCharge, + css.improvement_requirements improvementRequirements, + css.other_supplements otherSupplements FROM cnas_satisfaction_survey css, `user` u @@ -26,11 +27,12 @@ 1 = 1 AND css.user_id = u.id and css.state=1 - <if test="dto.surveyDate!=null"> - and css.survey_date = ${dto.surveyDate} + <if test="surveyDate!=null"> + and date_format(css.survey_date,'%Y%m%d') = ${surveyDate} </if> - <if test="dto.entryDate!=null"> - and css.entry_date = ${dto.entryDate} + <if test="entryDate!=null"> + and date_format(css.entry_date,'%Y%m%d') = ${entryDate} </if> + order by css.id Desc </select> </mapper> \ No newline at end of file diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/utils/MultipartFileToFileUtil.java b/framework/src/main/java/com/yuanchu/limslaboratory/utils/MultipartFileToFileUtil.java new file mode 100644 index 0000000..a867564 --- /dev/null +++ b/framework/src/main/java/com/yuanchu/limslaboratory/utils/MultipartFileToFileUtil.java @@ -0,0 +1,70 @@ +package com.yuanchu.limslaboratory.utils; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * @Author 寮犲 + * @Date 2022/8/5 + */ +@Slf4j +public class MultipartFileToFileUtil { + /** + * MultipartFile 杞� File + * + * @param file + * @throws Exception + */ + public static File multipartFileToFile(MultipartFile file) throws Exception { + + File toFile = null; + if (file.equals("") || file.getSize() <= 0) { + file = null; + } else { + InputStream ins = null; + ins = file.getInputStream(); + toFile = new File(file.getOriginalFilename()); + inputStreamToFile(ins, toFile); + ins.close(); + } + return toFile; + } + + //鑾峰彇娴佹枃浠� + private static void inputStreamToFile(InputStream ins, File file) { + try { + OutputStream os = new FileOutputStream(file); + int bytesRead = 0; + byte[] buffer = new byte[8192]; + while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) { + os.write(buffer, 0, bytesRead); + } + os.close(); + ins.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 鍒犻櫎鏈湴涓存椂鏂囦欢 + * @param file + */ + public static void delteTempFile(File file) { + if (file != null) { + String name = file.getName(); + File del = new File(file.toURI()); + if (del.delete()){ + log.info("鍒犻櫎涓存椂鏂囦欢"+name+"鎴愬姛!"); + }else { + log.error("鍒犻櫎涓存椂鏂囦欢"+name+"澶辫触!"); + } + } + } + +} diff --git a/sys/src/main/resources/application-dev.yml b/sys/src/main/resources/application-dev.yml index 77eddc6..6cef4e4 100644 --- a/sys/src/main/resources/application-dev.yml +++ b/sys/src/main/resources/application-dev.yml @@ -71,15 +71,15 @@ # redis璁块棶瀵嗙爜锛堥粯璁や负绌猴級 password: null # redis杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶆绉掞級 - timeout: 5 + timeout: 50 # redis杩炴帴姹犻厤缃� pool: # 鏈�澶у彲鐢ㄨ繛鎺ユ暟锛堥粯璁や负8锛岃礋鏁拌〃绀烘棤闄愶級 - max-active: 8 + max-active: 20 # 鏈�澶х┖闂茶繛鎺ユ暟锛堥粯璁や负8锛岃礋鏁拌〃绀烘棤闄愶級 max-idle: 8 # 鏈�灏忕┖闂茶繛鎺ユ暟锛堥粯璁や负0锛岃鍊煎彧鏈変负姝f暟鎵嶆湁鐢級 - min-idle: 0 + min-idle: 5 # 浠庤繛鎺ユ睜涓幏鍙栬繛鎺ユ渶澶х瓑寰呮椂闂达紙榛樿涓�-1锛屽崟浣嶄负姣锛岃礋鏁拌〃绀烘棤闄愶級 max-wait: -1 diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java index 14cea5b..7c1b746 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java @@ -54,7 +54,7 @@ private String email; @ApiModelProperty(value = "骞撮緞") - private Integer age; + private String age; @ApiModelProperty(value = "涓�х鍚�") private String info; diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java index 744ad7e..72be050 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java @@ -49,6 +49,7 @@ } Map<String, Object> data = new HashMap<>(); data.put("name",loginUser.get("name")); + data.put("id",loginUser.get("id")); data.put("remind", remind); return data; } @@ -103,7 +104,7 @@ User user = new User() .setName(newPersonnelVo.getName()) .setAccount(newPersonnelVo.getAccount()) - .setAge(newPersonnelVo.getAge()) + .setAge(String.valueOf(newPersonnelVo.getAge())) .setPhone(newPersonnelVo.getPhone()) .setEmail(newPersonnelVo.getEmail()) .setRoleId(newPersonnelVo.getRole_id()) @@ -117,7 +118,7 @@ User user = new User() .setName(updatePersonnelVo.getName()) .setAccount(updatePersonnelVo.getAccount()) - .setAge(updatePersonnelVo.getAge()) + .setAge(String.valueOf(updatePersonnelVo.getAge())) .setPhone(updatePersonnelVo.getPhone()) .setEmail(updatePersonnelVo.getEmail()) .setRoleId(updatePersonnelVo.getRole_id()) diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/vo/PagePersonnelVo.java b/user-server/src/main/java/com/yuanchu/limslaboratory/vo/PagePersonnelVo.java index b5564c0..ec6866e 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/vo/PagePersonnelVo.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/vo/PagePersonnelVo.java @@ -26,7 +26,7 @@ private Date createTime; @ApiModelProperty(value = "骞撮緞", example = "23") - private Integer age; + private String age; @ApiModelProperty(value = "鎵嬫満鍙�", example = "12345678981") private String phone; diff --git a/user-server/src/main/resources/mapper/UserMapper.xml b/user-server/src/main/resources/mapper/UserMapper.xml index 54ecc0e..4a8eb08 100644 --- a/user-server/src/main/resources/mapper/UserMapper.xml +++ b/user-server/src/main/resources/mapper/UserMapper.xml @@ -32,7 +32,7 @@ IFNULL(u.`phone`, '---') phone, IFNULL(u.`email`, '---') email, u.`job_state` FROM `user` u, role r WHERE u.`role_id` = r.`id` - <if test="name != null"> + <if test="name != null and name!=''"> AND u.name = #{name} </if> </select> -- Gitblit v1.9.3