diff --git a/src/main/java/com/sztzjy/forex/trading_trading/config/security/AuthenticationFilter.java b/src/main/java/com/sztzjy/forex/trading_trading/config/security/AuthenticationFilter.java index f50e80a..6fd8ad1 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/config/security/AuthenticationFilter.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/config/security/AuthenticationFilter.java @@ -16,6 +16,7 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.util.AntPathMatcher; import org.springframework.util.PathMatcher; import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.filter.OncePerRequestFilter; import javax.servlet.FilterChain; @@ -53,6 +54,7 @@ public class AuthenticationFilter extends OncePerRequestFilter { String token = request.getHeader(Constant.AUTHORIZATION); if (token == null || token.equals("undefined") || token.equals("") || token.equals("null")) { filterChain.doFilter(request, response); + response.setHeader("Access-Control-Allow-Origin","*"); return; } @@ -90,7 +92,7 @@ public class AuthenticationFilter extends OncePerRequestFilter { } Authentication authentication = new UsernamePasswordAuthenticationToken(currentUser, token == null ? "****" : token, currentUser.getAuthorities()); - request.getUserPrincipal(); +// request.getUserPrincipal(); SecurityContextHolder.getContext().setAuthentication(authentication); filterChain.doFilter(request, response); } diff --git a/src/main/java/com/sztzjy/forex/trading_trading/config/security/JwtUser.java b/src/main/java/com/sztzjy/forex/trading_trading/config/security/JwtUser.java index 752064f..4be9d54 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/config/security/JwtUser.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/config/security/JwtUser.java @@ -1,5 +1,6 @@ package com.sztzjy.forex.trading_trading.config.security; +import io.swagger.models.auth.In; import lombok.Getter; import lombok.Setter; import org.springframework.security.core.GrantedAuthority; @@ -20,7 +21,7 @@ public class JwtUser implements UserDetails { private String name; private String userId; private int roleId; - private int schoolId; + private Integer schoolId; private int classId; private String schoolName; private String className; diff --git a/src/main/java/com/sztzjy/forex/trading_trading/controller/ReportController.java b/src/main/java/com/sztzjy/forex/trading_trading/controller/ReportController.java index 6f718a0..86e0c14 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/controller/ReportController.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/controller/ReportController.java @@ -1,8 +1,5 @@ package com.sztzjy.forex.trading_trading.controller; -import com.sztzjy.forex.trading_trading.config.security.JwtUser; -import com.sztzjy.forex.trading_trading.config.security.TokenProvider; -import com.sztzjy.forex.trading_trading.entity.Report; import com.sztzjy.forex.trading_trading.entity.ReportWithBLOBs; import com.sztzjy.forex.trading_trading.service.ReportService; import com.sztzjy.forex.trading_trading.util.ResultEntity; @@ -11,8 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletRequest; -import java.io.InputStream; +import java.io.IOException; @Api(tags = "实验报告") @RestController @@ -22,15 +18,15 @@ public class ReportController { private ReportService reportService; @PostMapping("/uploadReport") - public ResultEntity uploadReport(@RequestParam("file") InputStream fileInputStream, + public ResultEntity uploadReport(@RequestParam("file") MultipartFile file, + @RequestParam String memberId, @RequestParam String fileName, - @RequestParam String memberId) { - return new ResultEntity<>(reportService.uploadReport(fileInputStream, fileName,memberId)); + @RequestParam String tariningId) throws IOException { + return new ResultEntity<>(reportService.uploadReport(file.getInputStream(),fileName,memberId,tariningId)); } - @PostMapping("/submitReport") - public ResultEntity submitReport(@RequestBody ReportWithBLOBs report, @RequestParam String memberId) { - return new ResultEntity<>(reportService.submitReport(report, memberId)); + public ResultEntity submitReport(@RequestBody ReportWithBLOBs report) { + return new ResultEntity<>(reportService.submitReport(report)); } } diff --git a/src/main/java/com/sztzjy/forex/trading_trading/entity/Report.java b/src/main/java/com/sztzjy/forex/trading_trading/entity/Report.java index edd130a..4175338 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/entity/Report.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/entity/Report.java @@ -1,21 +1,25 @@ package com.sztzjy.forex.trading_trading.entity; +import cn.hutool.core.util.IdUtil; + +import javax.persistence.Column; + public class Report { /** * * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_reports.ID * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ - private String id; + private String id = IdUtil.simpleUUID(); /** * * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_reports.training_id * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ private String trainingId; @@ -24,7 +28,7 @@ public class Report { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_reports.member_id * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ private String memberId; @@ -33,17 +37,26 @@ public class Report { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_reports.file_path * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ private String filePath; + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column sys_reports.file_name + * + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 + */ + private String fileName; + /** * This method was generated by MyBatis Generator. * This method returns the value of the database column sys_reports.ID * * @return the value of sys_reports.ID * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public String getId() { return id; @@ -55,7 +68,7 @@ public class Report { * * @param id the value for sys_reports.ID * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setId(String id) { this.id = id == null ? null : id.trim(); @@ -67,7 +80,7 @@ public class Report { * * @return the value of sys_reports.training_id * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public String getTrainingId() { return trainingId; @@ -79,7 +92,7 @@ public class Report { * * @param trainingId the value for sys_reports.training_id * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setTrainingId(String trainingId) { this.trainingId = trainingId == null ? null : trainingId.trim(); @@ -91,7 +104,7 @@ public class Report { * * @return the value of sys_reports.member_id * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public String getMemberId() { return memberId; @@ -103,7 +116,7 @@ public class Report { * * @param memberId the value for sys_reports.member_id * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setMemberId(String memberId) { this.memberId = memberId == null ? null : memberId.trim(); @@ -115,7 +128,7 @@ public class Report { * * @return the value of sys_reports.file_path * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public String getFilePath() { return filePath; @@ -127,9 +140,33 @@ public class Report { * * @param filePath the value for sys_reports.file_path * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setFilePath(String filePath) { this.filePath = filePath == null ? null : filePath.trim(); } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column sys_reports.file_name + * + * @return the value of sys_reports.file_name + * + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 + */ + public String getFileName() { + return fileName; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column sys_reports.file_name + * + * @param fileName the value for sys_reports.file_name + * + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 + */ + public void setFileName(String fileName) { + this.fileName = fileName == null ? null : fileName.trim(); + } } \ No newline at end of file diff --git a/src/main/java/com/sztzjy/forex/trading_trading/entity/ReportExample.java b/src/main/java/com/sztzjy/forex/trading_trading/entity/ReportExample.java index 70abe27..37c6221 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/entity/ReportExample.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/entity/ReportExample.java @@ -8,7 +8,7 @@ public class ReportExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ protected String orderByClause; @@ -16,7 +16,7 @@ public class ReportExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ protected boolean distinct; @@ -24,7 +24,7 @@ public class ReportExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ protected List oredCriteria; @@ -32,7 +32,7 @@ public class ReportExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public ReportExample() { oredCriteria = new ArrayList<>(); @@ -42,7 +42,7 @@ public class ReportExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; @@ -52,7 +52,7 @@ public class ReportExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public String getOrderByClause() { return orderByClause; @@ -62,7 +62,7 @@ public class ReportExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setDistinct(boolean distinct) { this.distinct = distinct; @@ -72,7 +72,7 @@ public class ReportExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public boolean isDistinct() { return distinct; @@ -82,7 +82,7 @@ public class ReportExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public List getOredCriteria() { return oredCriteria; @@ -92,7 +92,7 @@ public class ReportExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void or(Criteria criteria) { oredCriteria.add(criteria); @@ -102,7 +102,7 @@ public class ReportExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public Criteria or() { Criteria criteria = createCriteriaInternal(); @@ -114,7 +114,7 @@ public class ReportExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); @@ -128,7 +128,7 @@ public class ReportExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); @@ -139,7 +139,7 @@ public class ReportExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void clear() { oredCriteria.clear(); @@ -151,7 +151,7 @@ public class ReportExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ protected abstract static class GeneratedCriteria { protected List criteria; @@ -473,13 +473,83 @@ public class ReportExample { addCriterion("file_path not between", value1, value2, "filePath"); return (Criteria) this; } + + public Criteria andFileNameIsNull() { + addCriterion("file_name is null"); + return (Criteria) this; + } + + public Criteria andFileNameIsNotNull() { + addCriterion("file_name is not null"); + return (Criteria) this; + } + + public Criteria andFileNameEqualTo(String value) { + addCriterion("file_name =", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameNotEqualTo(String value) { + addCriterion("file_name <>", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameGreaterThan(String value) { + addCriterion("file_name >", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameGreaterThanOrEqualTo(String value) { + addCriterion("file_name >=", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameLessThan(String value) { + addCriterion("file_name <", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameLessThanOrEqualTo(String value) { + addCriterion("file_name <=", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameLike(String value) { + addCriterion("file_name like", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameNotLike(String value) { + addCriterion("file_name not like", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameIn(List values) { + addCriterion("file_name in", values, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameNotIn(List values) { + addCriterion("file_name not in", values, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameBetween(String value1, String value2) { + addCriterion("file_name between", value1, value2, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameNotBetween(String value1, String value2) { + addCriterion("file_name not between", value1, value2, "fileName"); + return (Criteria) this; + } } /** * This class was generated by MyBatis Generator. * This class corresponds to the database table sys_reports * - * @mbg.generated do_not_delete_during_merge Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated do_not_delete_during_merge Thu Jul 20 13:28:37 CST 2023 */ public static class Criteria extends GeneratedCriteria { protected Criteria() { @@ -491,7 +561,7 @@ public class ReportExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public static class Criterion { private String condition; diff --git a/src/main/java/com/sztzjy/forex/trading_trading/entity/ReportWithBLOBs.java b/src/main/java/com/sztzjy/forex/trading_trading/entity/ReportWithBLOBs.java index 6342e8a..2888927 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/entity/ReportWithBLOBs.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/entity/ReportWithBLOBs.java @@ -6,7 +6,7 @@ public class ReportWithBLOBs extends Report { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_reports.trading_plan * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ private String tradingPlan; @@ -15,7 +15,7 @@ public class ReportWithBLOBs extends Report { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_reports.trading_methods_and_techniques * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ private String tradingMethodsAndTechniques; @@ -24,7 +24,7 @@ public class ReportWithBLOBs extends Report { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_reports.profitable_variety_analysis * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ private String profitableVarietyAnalysis; @@ -33,7 +33,7 @@ public class ReportWithBLOBs extends Report { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_reports.loss_variety_analysis * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ private String lossVarietyAnalysis; @@ -42,7 +42,7 @@ public class ReportWithBLOBs extends Report { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_reports.improvement_measure_1 * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ private String improvementMeasure1; @@ -51,7 +51,7 @@ public class ReportWithBLOBs extends Report { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_reports.improvement_measure_2 * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ private String improvementMeasure2; @@ -61,7 +61,7 @@ public class ReportWithBLOBs extends Report { * * @return the value of sys_reports.trading_plan * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public String getTradingPlan() { return tradingPlan; @@ -73,7 +73,7 @@ public class ReportWithBLOBs extends Report { * * @param tradingPlan the value for sys_reports.trading_plan * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setTradingPlan(String tradingPlan) { this.tradingPlan = tradingPlan == null ? null : tradingPlan.trim(); @@ -85,7 +85,7 @@ public class ReportWithBLOBs extends Report { * * @return the value of sys_reports.trading_methods_and_techniques * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public String getTradingMethodsAndTechniques() { return tradingMethodsAndTechniques; @@ -97,7 +97,7 @@ public class ReportWithBLOBs extends Report { * * @param tradingMethodsAndTechniques the value for sys_reports.trading_methods_and_techniques * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setTradingMethodsAndTechniques(String tradingMethodsAndTechniques) { this.tradingMethodsAndTechniques = tradingMethodsAndTechniques == null ? null : tradingMethodsAndTechniques.trim(); @@ -109,7 +109,7 @@ public class ReportWithBLOBs extends Report { * * @return the value of sys_reports.profitable_variety_analysis * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public String getProfitableVarietyAnalysis() { return profitableVarietyAnalysis; @@ -121,7 +121,7 @@ public class ReportWithBLOBs extends Report { * * @param profitableVarietyAnalysis the value for sys_reports.profitable_variety_analysis * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setProfitableVarietyAnalysis(String profitableVarietyAnalysis) { this.profitableVarietyAnalysis = profitableVarietyAnalysis == null ? null : profitableVarietyAnalysis.trim(); @@ -133,7 +133,7 @@ public class ReportWithBLOBs extends Report { * * @return the value of sys_reports.loss_variety_analysis * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public String getLossVarietyAnalysis() { return lossVarietyAnalysis; @@ -145,7 +145,7 @@ public class ReportWithBLOBs extends Report { * * @param lossVarietyAnalysis the value for sys_reports.loss_variety_analysis * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setLossVarietyAnalysis(String lossVarietyAnalysis) { this.lossVarietyAnalysis = lossVarietyAnalysis == null ? null : lossVarietyAnalysis.trim(); @@ -157,7 +157,7 @@ public class ReportWithBLOBs extends Report { * * @return the value of sys_reports.improvement_measure_1 * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public String getImprovementMeasure1() { return improvementMeasure1; @@ -169,7 +169,7 @@ public class ReportWithBLOBs extends Report { * * @param improvementMeasure1 the value for sys_reports.improvement_measure_1 * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setImprovementMeasure1(String improvementMeasure1) { this.improvementMeasure1 = improvementMeasure1 == null ? null : improvementMeasure1.trim(); @@ -181,7 +181,7 @@ public class ReportWithBLOBs extends Report { * * @return the value of sys_reports.improvement_measure_2 * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public String getImprovementMeasure2() { return improvementMeasure2; @@ -193,7 +193,7 @@ public class ReportWithBLOBs extends Report { * * @param improvementMeasure2 the value for sys_reports.improvement_measure_2 * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ public void setImprovementMeasure2(String improvementMeasure2) { this.improvementMeasure2 = improvementMeasure2 == null ? null : improvementMeasure2.trim(); diff --git a/src/main/java/com/sztzjy/forex/trading_trading/mappers/ReportMapper.java b/src/main/java/com/sztzjy/forex/trading_trading/mappers/ReportMapper.java index b49b6e5..d9b37f3 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/mappers/ReportMapper.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/mappers/ReportMapper.java @@ -13,7 +13,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ long countByExample(ReportExample example); @@ -21,7 +21,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ int deleteByExample(ReportExample example); @@ -29,7 +29,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ int deleteByPrimaryKey(String id); @@ -37,7 +37,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ int insert(ReportWithBLOBs record); @@ -45,7 +45,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ int insertSelective(ReportWithBLOBs record); @@ -53,7 +53,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ List selectByExampleWithBLOBs(ReportExample example); @@ -61,7 +61,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ List selectByExample(ReportExample example); @@ -69,7 +69,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ ReportWithBLOBs selectByPrimaryKey(String id); @@ -77,7 +77,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ int updateByExampleSelective(@Param("record") ReportWithBLOBs record, @Param("example") ReportExample example); @@ -85,7 +85,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ int updateByExampleWithBLOBs(@Param("record") ReportWithBLOBs record, @Param("example") ReportExample example); @@ -93,7 +93,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ int updateByExample(@Param("record") Report record, @Param("example") ReportExample example); @@ -101,7 +101,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ int updateByPrimaryKeySelective(ReportWithBLOBs record); @@ -109,7 +109,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ int updateByPrimaryKeyWithBLOBs(ReportWithBLOBs record); @@ -117,7 +117,7 @@ public interface ReportMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_reports * - * @mbg.generated Wed Jul 19 15:50:37 CST 2023 + * @mbg.generated Thu Jul 20 13:28:37 CST 2023 */ int updateByPrimaryKey(Report record); } \ No newline at end of file diff --git a/src/main/java/com/sztzjy/forex/trading_trading/service/ReportService.java b/src/main/java/com/sztzjy/forex/trading_trading/service/ReportService.java index f4689e2..138d750 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/service/ReportService.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/service/ReportService.java @@ -1,17 +1,18 @@ package com.sztzjy.forex.trading_trading.service; import com.sztzjy.forex.trading_trading.entity.Member; +import com.sztzjy.forex.trading_trading.entity.MemberExample; +import com.sztzjy.forex.trading_trading.entity.ReportExample; import com.sztzjy.forex.trading_trading.entity.ReportWithBLOBs; import com.sztzjy.forex.trading_trading.mappers.MemberMapper; import com.sztzjy.forex.trading_trading.mappers.ReportMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletRequest; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.util.List; @Service public class ReportService { @@ -20,25 +21,44 @@ public class ReportService { @Autowired private MemberMapper memberMapper; - private static final String SERVER_DIRECTORY = "D:\\waihui"; + private static final String SERVER_DIRECTORY = "D:\\waihui\\"; - public String submitReport(ReportWithBLOBs report, String memberId) { - Member member = memberMapper.selectByPrimaryKey(memberId); + //提交实训任务报告给老师端展示 + public String submitReport(ReportWithBLOBs report) { + String memberId = report.getMemberId(); + String trainingId = report.getTrainingId(); + MemberExample memberExample = new MemberExample(); + memberExample.createCriteria().andTrainingIdEqualTo(trainingId).andMemberIdEqualTo(memberId); + List members = memberMapper.selectByExample(memberExample); + Member member = members.get(0); + ReportExample reportExample = new ReportExample(); + reportExample.createCriteria().andMemberIdEqualTo(memberId).andTrainingIdEqualTo(trainingId); Integer reportScore = member.getReportScore(); - if (reportScore != null) { - reportsMapper.updateByPrimaryKeySelective(report); + List reportWithBLOBs = reportsMapper.selectByExampleWithBLOBs(reportExample); + if (!reportWithBLOBs.isEmpty()) { + if (reportScore == null) { + reportsMapper.updateByExampleSelective(report, reportExample); + return "修改成功"; + } + } else { + reportsMapper.insert(report); return "修改成功"; } return "老师已评分,禁止修改"; } // 指定服务器目录 - public String uploadReport(InputStream fileInputStream, String fileName, String memberId) { - Member member = memberMapper.selectByPrimaryKey(memberId); - ReportWithBLOBs reportWithBLOBs = reportsMapper.selectByPrimaryKey(memberId); + public String uploadReport(InputStream fileInputStream, String fileName, String memberId,String trainingId) { + MemberExample memberExample = new MemberExample(); + memberExample.createCriteria().andMemberIdEqualTo(memberId).andTrainingIdEqualTo(trainingId); + List members = memberMapper.selectByExample(memberExample); + Member member = members.get(0); + ReportExample reportExample = new ReportExample(); + reportExample.createCriteria().andMemberIdEqualTo(memberId).andTrainingIdEqualTo(trainingId); Integer reportScore = member.getReportScore(); + List reportWithBLOBs = reportsMapper.selectByExampleWithBLOBs(reportExample); try { - if (reportScore != null) { + if (reportScore == null) { String filePath = SERVER_DIRECTORY + fileName; // 完整的服务器文件路径 byte[] buffer = new byte[1024]; FileOutputStream fileOutputStream = new FileOutputStream(filePath); @@ -47,8 +67,22 @@ public class ReportService { fileOutputStream.write(buffer, 0, bytesRead); } fileOutputStream.close(); - reportWithBLOBs.setFilePath(filePath); - return "上传成功"; + fileInputStream.close(); + if (!reportWithBLOBs.isEmpty()) { + ReportWithBLOBs resultReport = reportWithBLOBs.get(0); + resultReport.setFilePath(filePath); + resultReport.setFileName(fileName); + resultReport.setTrainingId(trainingId); + reportsMapper.updateByExampleSelective(resultReport, reportExample); + return "修改成功"; + } else { + ReportWithBLOBs report = new ReportWithBLOBs(); + report.setFileName(filePath); + report.setFilePath(fileName); + report.setMemberId(memberId); + report.setTrainingId(trainingId); + reportsMapper.insert(report); + } } } catch (IOException e) { e.printStackTrace(); diff --git a/src/main/java/com/sztzjy/forex/trading_trading/util/excel/ExcelData.java b/src/main/java/com/sztzjy/forex/trading_trading/util/excel/ExcelData.java index 09f3ba2..60ed997 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/util/excel/ExcelData.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/util/excel/ExcelData.java @@ -8,16 +8,17 @@ import java.util.stream.Collectors; /** * Excel通用数据对象封装 若需要复杂表头和更多样式等、需定义导出模板 - * */ @Getter public class ExcelData { private List> contents; - private ExcelData(){ + + private ExcelData() { this.contents = new ArrayList<>(); } - public ExcelData addRow(List rowData){ - List dataList = rowData.stream().map(i -> i==null?null:i.toString()).collect(Collectors.toList()); + + public ExcelData addRow(List rowData) { + List dataList = rowData.stream().map(i -> i == null ? null : i.toString()).collect(Collectors.toList()); this.contents.add(dataList); return this; } @@ -27,18 +28,19 @@ public class ExcelData { * * @return / */ - public static ExcelData create(){ + public static ExcelData create() { return ExcelData.create(null); } /** * 创建有标题文档 + * * @param titleList 内容|标题 * @return 数据对象 */ - public static ExcelData create(List titleList){ + public static ExcelData create(List titleList) { ExcelData excelData = new ExcelData(); - if(titleList!=null && !titleList.isEmpty()) + if (titleList != null && !titleList.isEmpty()) excelData.contents.add(titleList); return excelData; } diff --git a/src/main/resources/mappers/ReportMapper.xml b/src/main/resources/mappers/ReportMapper.xml index a8246f7..f232a09 100644 --- a/src/main/resources/mappers/ReportMapper.xml +++ b/src/main/resources/mappers/ReportMapper.xml @@ -5,18 +5,19 @@ + @@ -29,7 +30,7 @@ @@ -63,7 +64,7 @@ @@ -97,15 +98,15 @@ - ID, training_id, member_id, file_path + ID, training_id, member_id, file_path, file_name trading_plan, trading_methods_and_techniques, profitable_variety_analysis, loss_variety_analysis, improvement_measure_1, improvement_measure_2 @@ -114,7 +115,7 @@ select @@ -135,7 +136,7 @@ select @@ -154,7 +155,7 @@ select @@ -167,7 +168,7 @@ delete from sys_reports where ID = #{id,jdbcType=VARCHAR} @@ -176,7 +177,7 @@ delete from sys_reports @@ -187,24 +188,24 @@ insert into sys_reports (ID, training_id, member_id, - file_path, trading_plan, trading_methods_and_techniques, - profitable_variety_analysis, loss_variety_analysis, - improvement_measure_1, improvement_measure_2 - ) + file_path, file_name, trading_plan, + trading_methods_and_techniques, profitable_variety_analysis, + loss_variety_analysis, improvement_measure_1, + improvement_measure_2) values (#{id,jdbcType=VARCHAR}, #{trainingId,jdbcType=VARCHAR}, #{memberId,jdbcType=VARCHAR}, - #{filePath,jdbcType=VARCHAR}, #{tradingPlan,jdbcType=LONGVARCHAR}, #{tradingMethodsAndTechniques,jdbcType=LONGVARCHAR}, - #{profitableVarietyAnalysis,jdbcType=LONGVARCHAR}, #{lossVarietyAnalysis,jdbcType=LONGVARCHAR}, - #{improvementMeasure1,jdbcType=LONGVARCHAR}, #{improvementMeasure2,jdbcType=LONGVARCHAR} - ) + #{filePath,jdbcType=VARCHAR}, #{fileName,jdbcType=VARCHAR}, #{tradingPlan,jdbcType=LONGVARCHAR}, + #{tradingMethodsAndTechniques,jdbcType=LONGVARCHAR}, #{profitableVarietyAnalysis,jdbcType=LONGVARCHAR}, + #{lossVarietyAnalysis,jdbcType=LONGVARCHAR}, #{improvementMeasure1,jdbcType=LONGVARCHAR}, + #{improvementMeasure2,jdbcType=LONGVARCHAR}) insert into sys_reports @@ -220,6 +221,9 @@ file_path, + + file_name, + trading_plan, @@ -252,6 +256,9 @@ #{filePath,jdbcType=VARCHAR}, + + #{fileName,jdbcType=VARCHAR}, + #{tradingPlan,jdbcType=LONGVARCHAR}, @@ -276,7 +283,7 @@ select count(*) from sys_reports @@ -287,56 +294,60 @@ - update sys_reports - - + + --> + update sys_reports + + + training_id = #{record.trainingId,jdbcType=VARCHAR}, + + + member_id = #{record.memberId,jdbcType=VARCHAR}, + + + file_path = #{record.filePath,jdbcType=VARCHAR}, + + + file_name = #{record.fileName,jdbcType=VARCHAR}, + + + trading_plan = #{record.tradingPlan,jdbcType=LONGVARCHAR}, + + + trading_methods_and_techniques = #{record.tradingMethodsAndTechniques,jdbcType=LONGVARCHAR}, + + + profitable_variety_analysis = #{record.profitableVarietyAnalysis,jdbcType=LONGVARCHAR}, + + + loss_variety_analysis = #{record.lossVarietyAnalysis,jdbcType=LONGVARCHAR}, + + + improvement_measure_1 = #{record.improvementMeasure1,jdbcType=LONGVARCHAR}, + + + improvement_measure_2 = #{record.improvementMeasure2,jdbcType=LONGVARCHAR}, + + + + + + + + update sys_reports set ID = #{record.id,jdbcType=VARCHAR}, training_id = #{record.trainingId,jdbcType=VARCHAR}, member_id = #{record.memberId,jdbcType=VARCHAR}, file_path = #{record.filePath,jdbcType=VARCHAR}, + file_name = #{record.fileName,jdbcType=VARCHAR}, trading_plan = #{record.tradingPlan,jdbcType=LONGVARCHAR}, trading_methods_and_techniques = #{record.tradingMethodsAndTechniques,jdbcType=LONGVARCHAR}, profitable_variety_analysis = #{record.profitableVarietyAnalysis,jdbcType=LONGVARCHAR}, @@ -351,13 +362,14 @@ update sys_reports set ID = #{record.id,jdbcType=VARCHAR}, training_id = #{record.trainingId,jdbcType=VARCHAR}, member_id = #{record.memberId,jdbcType=VARCHAR}, - file_path = #{record.filePath,jdbcType=VARCHAR} + file_path = #{record.filePath,jdbcType=VARCHAR}, + file_name = #{record.fileName,jdbcType=VARCHAR} @@ -366,7 +378,7 @@ update sys_reports @@ -379,6 +391,9 @@ file_path = #{filePath,jdbcType=VARCHAR}, + + file_name = #{fileName,jdbcType=VARCHAR}, + trading_plan = #{tradingPlan,jdbcType=LONGVARCHAR}, @@ -404,12 +419,13 @@ update sys_reports set training_id = #{trainingId,jdbcType=VARCHAR}, member_id = #{memberId,jdbcType=VARCHAR}, file_path = #{filePath,jdbcType=VARCHAR}, + file_name = #{fileName,jdbcType=VARCHAR}, trading_plan = #{tradingPlan,jdbcType=LONGVARCHAR}, trading_methods_and_techniques = #{tradingMethodsAndTechniques,jdbcType=LONGVARCHAR}, profitable_variety_analysis = #{profitableVarietyAnalysis,jdbcType=LONGVARCHAR}, @@ -422,12 +438,13 @@ update sys_reports set training_id = #{trainingId,jdbcType=VARCHAR}, member_id = #{memberId,jdbcType=VARCHAR}, - file_path = #{filePath,jdbcType=VARCHAR} + file_path = #{filePath,jdbcType=VARCHAR}, + file_name = #{fileName,jdbcType=VARCHAR} where ID = #{id,jdbcType=VARCHAR} \ No newline at end of file