From b5e566f72f7842e023cd6616d34b3619801d943a Mon Sep 17 00:00:00 2001 From: zhangjinli Date: Thu, 8 Dec 2022 14:35:28 +0800 Subject: [PATCH] =?UTF-8?q?fixed=20=E5=A4=9A=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 6148 -> 6148 bytes .../zh/lingnuo/controller/UtilController.java | 9 +- .../answerer/CompanyQnAnswerController.java | 3 + .../controller/manage/QnTitleController.java | 8 +- .../com/zh/lingnuo/model/CompanyQnTitle.java | 4 + .../java/com/zh/lingnuo/model/QnTitle.java | 12 ++ .../CompanyQnAnswerServiceImpl.java | 34 ++++-- .../CompanyQnTitleServiceImpl.java | 4 +- .../serviceImpl/QnTitleServiceImpl.java | 4 +- .../java/com/zh/lingnuo/utils/Common.java | 9 ++ src/main/resources/application-release.yml | 109 ++++++++++++++++++ src/main/resources/application-test.yml | 8 +- 12 files changed, 180 insertions(+), 24 deletions(-) create mode 100644 src/main/resources/application-release.yml diff --git a/.DS_Store b/.DS_Store index a0e76a0fb54461649474b6b2c21d78d4e2d2c275..0e4237eb00c65222773dd8a226de0caff7e42d92 100644 GIT binary patch delta 97 zcmZoMXffEJ&ct|fvIbLwr$lwNp`p2sf~kpVt&T#qxw(Okf{C$NZ7nBM8XF_ge hRdr2m-Ao2BU}S{Q4E#_UM$Ov%iAj`oGaJW0egJ&56mb9m delta 72 zcmZoMXffEJ&ct|XvIbLwmSlCck%6g+j)IYyL9LELwYj;0j)IA?S#2#Rhq$Vtt!F}R cWmR=eZQZQN7n$T4XK((> answerPartnerChoice; + private String[] answerMultiOpt; } @Operation(summary = "答题结果") @@ -145,6 +146,8 @@ public class CompanyQnAnswerController { private String answerChoice; @Schema(title = "互选题回答结果") private HashMap answerPartnerChoice; + @Schema(title = "多选题回答结果") + private String[] answerMultiChoice; @JsonIgnore(value = false) private Answerer userInfo; } diff --git a/src/main/java/com/zh/lingnuo/controller/manage/QnTitleController.java b/src/main/java/com/zh/lingnuo/controller/manage/QnTitleController.java index 64fd995..3fb7db0 100644 --- a/src/main/java/com/zh/lingnuo/controller/manage/QnTitleController.java +++ b/src/main/java/com/zh/lingnuo/controller/manage/QnTitleController.java @@ -115,8 +115,8 @@ public class QnTitleController { private String tag; @Schema(title = "题型") @NotNull(message = "题型不能为空") - @Min(value = 1, message = "类型范围为1 2 3") - @Max(value = 3, message = "类型范围为1 2 3") + @Min(value = 1, message = "题型范围为1填空2选择3互选4多选") + @Max(value = 4, message = "题型范围为1填空2选择3互选4多选") private Integer kind; @Schema(title = "选项") private String[] options; @@ -141,8 +141,8 @@ public class QnTitleController { @Schema(title = "标签") private String tag; @Schema(title = "题型") - @Min(value = 1, message = "类型范围为1 2 3") - @Max(value = 3, message = "类型范围为1 2 3") + @Min(value = 1, message = "题型范围为1填空2选择3互选4多选") + @Max(value = 4, message = "题型范围为1填空2选择3互选4多选") private Integer kind; @Schema(title = "选项") private String[] options; diff --git a/src/main/java/com/zh/lingnuo/model/CompanyQnTitle.java b/src/main/java/com/zh/lingnuo/model/CompanyQnTitle.java index c8a5fe2..ea34d16 100644 --- a/src/main/java/com/zh/lingnuo/model/CompanyQnTitle.java +++ b/src/main/java/com/zh/lingnuo/model/CompanyQnTitle.java @@ -77,6 +77,8 @@ public class CompanyQnTitle extends Model { public static int CompanyQnTitleKindChoice = 2; /** 互选题 */ public static int CompanyQnTitleKindPartnerChoice = 3; + /** 多选题 */ + public static int CompanyQnTitleKindMultiChoice = 4; /** 基础题目 */ public static int ManageQnTitleBase = 1; @@ -94,6 +96,8 @@ public class CompanyQnTitle extends Model { return "选择题"; case 3: return "互选题"; + case 4: + return "多选题"; default: return "未知"; } diff --git a/src/main/java/com/zh/lingnuo/model/QnTitle.java b/src/main/java/com/zh/lingnuo/model/QnTitle.java index 47e7472..c74f1bd 100644 --- a/src/main/java/com/zh/lingnuo/model/QnTitle.java +++ b/src/main/java/com/zh/lingnuo/model/QnTitle.java @@ -70,6 +70,15 @@ public class QnTitle extends Model { @TableField(fill = FieldFill.INSERT) private LocalDateTime createdAt; + /** 填空题 */ + public static int QnTitleKindFill = 1; + /** 选择题 */ + public static int QnTitleKindChoice = 2; + /** 互选题 */ + public static int QnTitleKindPartnerChoice = 3; + /** 多选题 */ + public static int QnTitleKindMultiChoice = 4; + public static String getKindName(int kind) { switch (kind) { case 1: @@ -78,10 +87,13 @@ public class QnTitle extends Model { return "选择题"; case 3: return "互选题"; + case 4: + return "多选题"; default: return "未知"; } } + public static String getStatusName(int status) { switch (status) { case 0: diff --git a/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnAnswerServiceImpl.java b/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnAnswerServiceImpl.java index 24b9114..3c5e394 100644 --- a/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnAnswerServiceImpl.java +++ b/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnAnswerServiceImpl.java @@ -87,6 +87,9 @@ public class CompanyQnAnswerServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); - qw.select("answerer_id").eq("qn_id", qnId); - IPage iPage = companyQnAnswererService.page(page, qw); - List answererIds = iPage.getRecords(); + QueryWrapper qw = new QueryWrapper<>(); + qw.select("answerer_id").eq("qn_id", qnId).groupBy("answerer_id"); + IPage iPage = super.page(page, qw); + List answererIds = iPage.getRecords(); Collection ids = new ArrayList<>(); if (answererIds.size() > 0) { - for (CompanyQnAnswerer i : answererIds) { + for (CompanyQnAnswer i : answererIds) { ids.add(i.getAnswererId()); } } @@ -263,8 +279,10 @@ public class CompanyQnAnswerServiceImpl extends ServiceImpl list = partnerChoiceResultData(qnId, isManage ? false : (qn.getIsSecret() == 1), null); for (CompanyQnController.ResultPartnerChoice resultPartnerChoice : list) { Map map = new LinkedHashMap(); - map.put("SourceId", resultPartnerChoice.getAnswererName()); - map.put("TargetId", resultPartnerChoice.getQnTowardsName()); + map.put("SourceId", resultPartnerChoice.getAnswererId()); + map.put("SourceName", resultPartnerChoice.getAnswererName()); + map.put("TargetId", resultPartnerChoice.getQnTowardsId()); + map.put("TargetName", resultPartnerChoice.getQnTowardsName()); for (CompanyQnController.ResultAnswerPartnerChoice resultAnswerPartnerChoice : resultPartnerChoice.getAnswerPartnerChoice()) { String title = "题目编号" + resultAnswerPartnerChoice.getTitleId().toString(); if (null != qnTitleMap.get(resultAnswerPartnerChoice.getTitleId())) { diff --git a/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnTitleServiceImpl.java b/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnTitleServiceImpl.java index c449cae..9dd04c2 100644 --- a/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnTitleServiceImpl.java +++ b/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnTitleServiceImpl.java @@ -77,7 +77,7 @@ public class CompanyQnTitleServiceImpl extends ServiceImpl impl .setStatus(1); { String[] options = params.getOptions(); - if (Common.isContain(new int[]{CompanyQnTitle.CompanyQnTitleKindChoice, CompanyQnTitle.CompanyQnTitleKindPartnerChoice}, params.getKind())) { + if (Common.isContain(new int[]{QnTitle.QnTitleKindChoice, QnTitle.QnTitleKindPartnerChoice,QnTitle.QnTitleKindMultiChoice}, params.getKind())) { FuncRes funcRes = QnTitle.optionsToObj(options); if (!funcRes.isSuccess()) { return Result.err(funcRes.getMsg()); @@ -112,7 +112,7 @@ public class QnTitleServiceImpl extends ServiceImpl impl } { String[] options = params.getOptions(); - if (Common.isContain(new int[]{CompanyQnTitle.CompanyQnTitleKindChoice, CompanyQnTitle.CompanyQnTitleKindPartnerChoice}, params.getKind())) { + if (Common.isContain(new int[]{QnTitle.QnTitleKindChoice, QnTitle.QnTitleKindPartnerChoice,QnTitle.QnTitleKindMultiChoice}, params.getKind())) { FuncRes funcRes = QnTitle.optionsToObj(options); if (!funcRes.isSuccess()) { return Result.err(funcRes.getMsg()); diff --git a/src/main/java/com/zh/lingnuo/utils/Common.java b/src/main/java/com/zh/lingnuo/utils/Common.java index 8df49dd..2536ef8 100644 --- a/src/main/java/com/zh/lingnuo/utils/Common.java +++ b/src/main/java/com/zh/lingnuo/utils/Common.java @@ -13,6 +13,7 @@ import java.util.regex.Pattern; public class Common { + // 获取随机数 public static String getRandomString(int length, String string) { String str = (string.length() > 0) ? string : "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; @@ -37,10 +38,12 @@ public class Common { return false; } + // md5 public static String md5(String str) { return DigestUtils.md5DigestAsHex(str.getBytes(StandardCharsets.UTF_8)); } + // 是否大于0判断 public static Boolean higherZero(Integer i) { if (null == i) { return false; @@ -48,6 +51,7 @@ public class Common { return i.compareTo(0) == 1 ? true : false; } + // 获取obj元素值 public static Object ObjectFieldValue(Object obj, String fieldName) { Class resultClz = obj.getClass(); Field[] fieldInfo = resultClz.getDeclaredFields(); @@ -64,6 +68,7 @@ public class Common { return null; } + // 修改obj元素 public static Object changObjectValue(Object obj, String fieldName, Object value) { Class resultClz = obj.getClass(); Field[] fieldInfo = resultClz.getDeclaredFields(); //获取class里的所有字段 父类字段获取不到 注:如果出现加密解密失败 请先查看idno是否在父类中 @@ -79,6 +84,7 @@ public class Common { return obj; } + // obj转map public static Map objectToMap(Object obj) throws Exception { Map map = new HashMap<>(); if (obj == null) { @@ -93,6 +99,7 @@ public class Common { return map; } + // arr是否包含int public static Boolean isContain(int[] arr, int v) { if (arr == null || arr.length == 0) { return false; @@ -105,6 +112,7 @@ public class Common { return false; } + // arr是否包含String public static Boolean isContain(String[] arr, String v) { if (arr == null || arr.length == 0) { return false; @@ -117,3 +125,4 @@ public class Common { return false; } } + diff --git a/src/main/resources/application-release.yml b/src/main/resources/application-release.yml new file mode 100644 index 0000000..535f3ac --- /dev/null +++ b/src/main/resources/application-release.yml @@ -0,0 +1,109 @@ +server: + port: 8080 + +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://118.31.114.112:3306/linac_qn_helper?serverTimezone=Asia/Shanghai +# url: jdbc:mysql://121.41.171.43:3306/lingnuo?serverTimezone=GMT + username: linac_qn_helper + password: L5h8Akes3MXGZ2zY + hikari: + max-lifetime: 500000 + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: Asia/Shanghai + resources: + static-locations: classpath:templates/,classpath:static/ + mvc: + view: + prefix: / + suffix: .html + servlet: + multipart: + max-file-size: 10MB + max-request-size: 100MB + mail: + host: smtp.exmail.qq.com + username: center-ona@linac.net + password: 8[B@cqcGJpLA4)6 + protocol: smtp + default-encoding: UTF-8 + port: 465 + properties: + mail: + smtp: + ssl: + enable: true + socketFactory: + port: 465 + class: javax.net.ssl.SSLSocketFactory + +mailAddr: center-ona@linac.net + +pagehelper: + reasonable: false # 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 + support-methods-arguments: true + params: count=countSql + row-bounds-with-count: true + helper-dialect: mysql + +mybatis-plus: + configuration: + map-underscore-to-camel-case: true + auto-mapping-behavior: full + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath*:mapper/**/*Mapper.xml + global-config: + # 逻辑删除配置 + db-config: + # 删除前 + logic-not-delete-value: 1 + # 删除后 + logic-delete-value: 0 + + +aliyun: + sms: + accessKeyId: LTAI5tRBUQJ2x1H1cgYcX282 + accessKeySecret: zqvQfEtR7r5lVazmU9CGeHCmEpyZr5 + region: cn-hangzhou + endpoint: dysmsapi.aliyuncs.com + signName: 领诺CenteRONA + templateCode: SMS_255286086 + + +#springdoc: +# swagger-ui: +# # 修改Swagger UI路径 +# path: /swagger-ui.html +# # 开启Swagger UI界面 +# enabled: true +# api-docs: +# # 修改api-docs路径 +# path: /v3/api-docs +# # 开启api-docs +# enabled: true +# # 配置需要生成接口文档的扫描包 +# packages-to-scan: com.zh.project0512.controller +# # 配置需要生成接口文档的接口路径 +# paths-to-match: /manage/**,/wxApp/** + +web: + webUrl: https://www.linac.net + apiPath: com.zh.lingnuo.controller + # mac图片地址 +# uploadPath: /Users/apple/Pictures + # 线上图片上传位置 + uploadPath: /static/sws/upload/ + # 图片压缩尺寸界限(200*1024) + picSizeLimit: 204800 +# cdn: http://cdn.sws010.com + +#showSql +logging: + level: + com: + example: + mapper: debug + diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 535f3ac..1cc132d 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -1,13 +1,13 @@ server: - port: 8080 + port: 8081 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://118.31.114.112:3306/linac_qn_helper?serverTimezone=Asia/Shanghai + url: jdbc:mysql://118.31.114.112:3306/linac_qn_helper1?serverTimezone=Asia/Shanghai # url: jdbc:mysql://121.41.171.43:3306/lingnuo?serverTimezone=GMT - username: linac_qn_helper - password: L5h8Akes3MXGZ2zY + username: linac_qn_helper1 + password: 6y3XYPDAa7nrmnxT hikari: max-lifetime: 500000 jackson: