|
@@ -1,6 +1,7 @@
|
|
|
package com.syjy.calculate.conotroller;
|
|
|
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
+import com.syjy.calculate.entity.AssessmentRequest;
|
|
|
import com.syjy.calculate.entity.CalculateRequest;
|
|
|
import com.syjy.calculate.entity.CalculateResult;
|
|
|
import com.syjy.calculate.entity.CalculationFormula;
|
|
@@ -26,34 +27,50 @@ import java.util.List;
|
|
|
@RestController
|
|
|
@RequestMapping("apiCalculate")
|
|
|
public class ApiCalculate {
|
|
|
- @Autowired
|
|
|
- CalculationFormulaRepository calculationFormulaRepository;
|
|
|
- @Autowired
|
|
|
- private AccuracyPassRateCalculateService accuracyPassRateCalculateService;
|
|
|
- @Autowired
|
|
|
- private Common common;
|
|
|
+ @Autowired
|
|
|
+ CalculationFormulaRepository calculationFormulaRepository;
|
|
|
+ @Autowired
|
|
|
+ private AccuracyPassRateCalculateService accuracyPassRateCalculateService;
|
|
|
+ @Autowired
|
|
|
+ private Common common;
|
|
|
|
|
|
- /**
|
|
|
- * 计算单个公式准确率
|
|
|
- *
|
|
|
- * @param request
|
|
|
- * @return
|
|
|
- */
|
|
|
- @PostMapping("/calculate")
|
|
|
- public CalculateResult calculate(HttpServletRequest request, @RequestBody JSONObject data) {
|
|
|
- // 校验信息
|
|
|
- CalculateResult checkResult = checkAuthorization(request);
|
|
|
- // 如果校验不成功,返回失败信息
|
|
|
- if (!CalculateResult.Type.SUCCESS.value().equals(String.valueOf(checkResult.get(CalculateResult.CODE_TAG)))) {
|
|
|
- return checkResult;
|
|
|
- }
|
|
|
- CalculateRequest calculateRequest;
|
|
|
- // 将传入的数据转为bean
|
|
|
- calculateRequest = data.toBean(CalculateRequest.class);
|
|
|
- // 调用计算方法
|
|
|
- CalculateResult resultMap = accuracyPassRateCalculateService.calculate(calculateRequest);
|
|
|
- return resultMap;
|
|
|
+ /**
|
|
|
+ * 计算单个公式准确率
|
|
|
+ *
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/calculate")
|
|
|
+ public CalculateResult calculate(HttpServletRequest request, @RequestBody JSONObject data) {
|
|
|
+ // 校验信息
|
|
|
+ CalculateResult checkResult = checkAuthorization(request);
|
|
|
+ // 如果校验不成功,返回失败信息
|
|
|
+ if (!CalculateResult.Type.SUCCESS.value().equals(String.valueOf(checkResult.get(CalculateResult.CODE_TAG)))) {
|
|
|
+ return checkResult;
|
|
|
}
|
|
|
+ CalculateRequest calculateRequest;
|
|
|
+ // 将传入的数据转为bean
|
|
|
+ calculateRequest = data.toBean(CalculateRequest.class);
|
|
|
+ // 调用计算方法
|
|
|
+ CalculateResult resultMap = accuracyPassRateCalculateService.calculate(calculateRequest);
|
|
|
+ return resultMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/assessment")
|
|
|
+ public CalculateResult assessment(HttpServletRequest request, @RequestBody JSONObject data) {
|
|
|
+ // 校验信息
|
|
|
+ CalculateResult checkResult = checkAuthorization(request);
|
|
|
+ // 如果校验不成功,返回失败信息
|
|
|
+ if (!CalculateResult.Type.SUCCESS.value().equals(String.valueOf(checkResult.get(CalculateResult.CODE_TAG)))) {
|
|
|
+ return checkResult;
|
|
|
+ }
|
|
|
+ AssessmentRequest assessmentRequest;
|
|
|
+ // 将传入的数据转为bean
|
|
|
+ assessmentRequest = data.toBean(CalculateRequest.class);
|
|
|
+ // 调用计算方法
|
|
|
+ CalculateResult resultMap = accuracyPassRateCalculateService.calculate(assessmentRequest);
|
|
|
+ return resultMap;
|
|
|
+ }
|
|
|
|
|
|
// /**
|
|
|
// * 计算所有公式准确率
|
|
@@ -77,34 +94,34 @@ public class ApiCalculate {
|
|
|
// return resultMap;
|
|
|
// }
|
|
|
|
|
|
- /**
|
|
|
- * 校验权限信息
|
|
|
- *
|
|
|
- * @param request
|
|
|
- * @return
|
|
|
- */
|
|
|
- public CalculateResult checkAuthorization(HttpServletRequest request) {
|
|
|
- String authorization = request.getHeader(CalculateResult.AUTHORIZATION);
|
|
|
- // 如果授权信息不存在,返回失败
|
|
|
- if (authorization == null) {
|
|
|
- return CalculateResult.error(CalculateResult.MSG_AUTHORIZATION_ERROR);
|
|
|
- }
|
|
|
- // 查询用户列表
|
|
|
- List<CalculationFormula> userList = calculationFormulaRepository.getUser();
|
|
|
- if (userList == null || userList.size() == 0) {
|
|
|
- return CalculateResult.error(CalculateResult.MSG_USERINFO_ERROR);
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 校验权限信息
|
|
|
+ *
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public CalculateResult checkAuthorization(HttpServletRequest request) {
|
|
|
+ String authorization = request.getHeader(CalculateResult.AUTHORIZATION);
|
|
|
+ // 如果授权信息不存在,返回失败
|
|
|
+ if (authorization == null) {
|
|
|
+ return CalculateResult.error(CalculateResult.MSG_AUTHORIZATION_ERROR);
|
|
|
+ }
|
|
|
+ // 查询用户列表
|
|
|
+ List<CalculationFormula> userList = calculationFormulaRepository.getUser();
|
|
|
+ if (userList == null || userList.size() == 0) {
|
|
|
+ return CalculateResult.error(CalculateResult.MSG_USERINFO_ERROR);
|
|
|
+ }
|
|
|
|
|
|
- // 获取解密后的用户信息
|
|
|
- String deCodeUser = common.getBase64Decode(authorization);
|
|
|
- // 将数据库中的用户循环和传入的用户对比
|
|
|
- for(CalculationFormula calculationFormula:userList){
|
|
|
- // 如果匹配上则返回成功,否则返回失败
|
|
|
- if(deCodeUser.equals(calculationFormula.getFormula())){
|
|
|
- return CalculateResult.success();
|
|
|
- }
|
|
|
- }
|
|
|
- return CalculateResult.error(CalculateResult.MSG_AUTHORIZATION_ERROR);
|
|
|
+ // 获取解密后的用户信息
|
|
|
+ String deCodeUser = common.getBase64Decode(authorization);
|
|
|
+ // 将数据库中的用户循环和传入的用户对比
|
|
|
+ for (CalculationFormula calculationFormula : userList) {
|
|
|
+ // 如果匹配上则返回成功,否则返回失败
|
|
|
+ if (deCodeUser.equals(calculationFormula.getFormula())) {
|
|
|
+ return CalculateResult.success();
|
|
|
+ }
|
|
|
}
|
|
|
+ return CalculateResult.error(CalculateResult.MSG_AUTHORIZATION_ERROR);
|
|
|
+ }
|
|
|
|
|
|
}
|