Browse Source

导入word

he2802 3 years ago
parent
commit
23eb97b6a2

+ 3 - 3
zhongzheng-api/src/main/java/com/zhongzheng/controller/base/LockController.java

@@ -50,7 +50,7 @@ public class LockController extends BaseController {
     public AjaxResult<Void> lockAction(@Validated @RequestBody ActionLockQueryBo bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         String key = "LockAppAction_"+bo.getAction()+"-"+loginUser.getUser().getUserId();
-        redisCache.setCacheObject(key, bo.getAction(),13, TimeUnit.SECONDS);//13秒锁定
+        redisCache.setCacheObject(key, bo.getUuid(),13, TimeUnit.SECONDS);//13秒锁定
         return AjaxResult.success();
     }
 
@@ -64,8 +64,8 @@ public class LockController extends BaseController {
     public AjaxResult<Void> lockStatus(@RequestBody ActionLockQueryBo bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         String key = "LockAppAction_"+bo.getAction()+"-"+loginUser.getUser().getUserId();
-        String action = redisCache.getCacheObject(key);
-        if(Validator.isEmpty(action)){
+        String uuid = redisCache.getCacheObject(key);
+        if(Validator.isEmpty(uuid)||uuid.equals(bo.getUuid())){
             return AjaxResult.error("无其他端在操作");
         }else{
             return AjaxResult.success("有其他端在操作");

+ 195 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/utils/DoubleUtils.java

@@ -0,0 +1,195 @@
+package com.zhongzheng.common.utils;
+
+import java.math.BigDecimal;
+
+public class DoubleUtils {
+    // 默认除法运算精度
+    private static final Integer DEF_DIV_SCALE = 2;
+
+    /**
+     * 提供精确的加法运算。
+     *
+     * @param value1
+     *            被加数
+     * @param value2
+     *            加数
+     * @return 两个参数的和
+     */
+    public static Double add(Number value1, Number value2) {
+        return add(value1, value2, DEF_DIV_SCALE);
+    }
+
+    /**
+     * 提供精确的加法运算。
+     *
+     * @param value1
+     *            被加数
+     * @param value2
+     *            加数
+     * @param scale
+     *            表示需要精确到小数点以后几位。
+     * @return 两个参数的和
+     */
+    public static Double add(Number value1, Number value2, Integer scale) {
+        BigDecimal b1 = new BigDecimal(Double.toString(value1.doubleValue()));
+        BigDecimal b2 = new BigDecimal(Double.toString(value2.doubleValue()));
+        BigDecimal add = b1.add(b2);
+        BigDecimal setScale = add.setScale(scale, BigDecimal.ROUND_HALF_UP);
+        return setScale.doubleValue();
+    }
+
+    /**
+     * 提供精确的减法运算。
+     *
+     * @param value1
+     *            被减数
+     * @param value2
+     *            减数
+     * @return
+     */
+    public static Double sub(Number value1, Number value2) {
+        return sub(value1, value2, DEF_DIV_SCALE);
+    }
+
+    /**
+     *
+     * @param value1
+     *            被减数
+     * @param value2
+     *            减数
+     * @param scale
+     *            表示需要精确到小数点以后几位。
+     * @return 两个参数的差
+     */
+    public static Double sub(Number value1, Number value2, Integer scale) {
+        BigDecimal b1 = new BigDecimal(Double.toString(value1.doubleValue()));
+        BigDecimal b2 = new BigDecimal(Double.toString(value2.doubleValue()));
+        BigDecimal subtract = b1.subtract(b2);
+        BigDecimal setScale = subtract.setScale(scale, BigDecimal.ROUND_HALF_UP);
+        return setScale.doubleValue();
+    }
+
+    /**
+     * 提供精确的乘法运算。
+     *
+     * @param value1
+     *            被乘数
+     * @param value2
+     *            乘数
+     * @return 两个参数的积
+     */
+    public static Double mul(Number value1, Number value2) {
+        return mul(value1, value2, DEF_DIV_SCALE);
+    }
+
+    /**
+     * 提供精确的乘法运算。
+     *
+     * @param value1
+     *            被乘数
+     * @param value2
+     *            乘数
+     * @param scale
+     *            表示需要精确到小数点以后几位。
+     * @return 两个参数的积
+     */
+    public static Double mul(Number value1, Number value2, Integer scale) {
+        BigDecimal b1 = new BigDecimal(Double.toString(value1.doubleValue()));
+        BigDecimal b2 = new BigDecimal(Double.toString(value2.doubleValue()));
+        BigDecimal multiply = b1.multiply(b2);
+        BigDecimal setScale = multiply.setScale(scale, BigDecimal.ROUND_HALF_UP);
+        return setScale.doubleValue();
+    }
+
+    /**
+     * 提供精确的乘法运算。
+     *
+     * @param value1
+     *            被乘数
+     * @param value2
+     *            乘数
+     * @param scale
+     *            表示需要精确到小数点以后几位。
+     *
+     * @return 两个参数的积
+     */
+    public static Double mul(Number value1, Number value2, int scale, int roundingMode) {
+        BigDecimal b1 = new BigDecimal(Double.toString(value1.doubleValue()));
+        BigDecimal b2 = new BigDecimal(Double.toString(value2.doubleValue()));
+        BigDecimal multiply = b1.multiply(b2);
+        BigDecimal setScale = multiply.setScale(scale, roundingMode);
+        return setScale.doubleValue();
+    }
+
+    /**
+     * 提供(相对)精确的除法运算,当发生除不尽的情况时, 精确到小数点以后2位,以后的数字四舍五入。
+     *
+     * @param dividend
+     *            被除数
+     * @param divisor
+     *            除数
+     * @return 两个参数的商
+     */
+    public static Double div(Number dividend, Number divisor) {
+        return DoubleUtils.div(dividend, divisor, DEF_DIV_SCALE);
+    }
+
+    /**
+     * 提供(相对)精确的除法运算。 当发生除不尽的情况时,由scale参数指定精度,以后的数字四舍五入。
+     *
+     * @param dividend
+     *            被除数
+     * @param divisor
+     *            除数
+     * @param scale
+     *            表示需要精确到小数点以后几位。
+     * @return 两个参数的商
+     */
+    public static Double div(Number dividend, Number divisor, Integer scale) {
+        if (scale < 0) {
+            throw new IllegalArgumentException("The scale must be a positive integer or zero");
+        }
+        BigDecimal b1 = new BigDecimal(Double.toString(dividend.doubleValue()));
+        BigDecimal b2 = new BigDecimal(Double.toString(divisor.doubleValue()));
+        return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
+    }
+
+    /**
+     * 提供(相对)精确的除法运算。 当发生除不尽的情况时,由scale参数指定精度,以后的数字四舍五入。
+     *
+     * @param dividend
+     *            被除数
+     * @param divisor
+     *            除数
+     * @param scale
+     *            表示需要精确到小数点以后几位。
+     * @return 两个参数的商
+     */
+    public static Double div(Number dividend, Number divisor, Integer scale, int roundingMode) {
+        if (scale < 0) {
+            throw new IllegalArgumentException("The scale must be a positive integer or zero");
+        }
+        BigDecimal b1 = new BigDecimal(Double.toString(dividend.doubleValue()));
+        BigDecimal b2 = new BigDecimal(Double.toString(divisor.doubleValue()));
+        return b1.divide(b2, scale, roundingMode).doubleValue();
+    }
+
+    /**
+     * 提供精确的小数位四舍五入处理。
+     *
+     * @param value
+     *            需要四舍五入的数字
+     * @param scale
+     *            小数点后保留几位
+     * @return 四舍五入后的结果
+     */
+    public static Double round(Double value, Integer scale) {
+        if (scale < 0) {
+            throw new IllegalArgumentException("The scale must be a positive integer or zero");
+        }
+        BigDecimal b = new BigDecimal(Double.toString(value));
+        BigDecimal one = new BigDecimal("1");
+        return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
+    }
+
+}

+ 7 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/utils/ToolsUtils.java

@@ -9,6 +9,9 @@ import java.util.Iterator;
 import java.util.Random;
 
 public class ToolsUtils {
+
+    public static final int EMU_PER_PX = 9525;
+
     /**
      * 获取模块编码参数
      */
@@ -36,4 +39,8 @@ public class ToolsUtils {
         }
         return sb.toString();
     }
+
+    public static final int emuToPx(double emu) {
+        return DoubleUtils.div(emu, EMU_PER_PX).intValue();
+    }
 }

+ 4 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/alioss/service/impl/OssServiceImpl.java

@@ -210,6 +210,9 @@ public class OssServiceImpl implements OssService {
             case 7:
                 RandomFilename = "certificate" + "/" + prefixName + (Validator.isNotEmpty(prefixName) ? "" : (sdf.format(new Date()))) + "/" + now;
                 break;
+            case 8:
+                RandomFilename = "question" + "/" + prefixName + (Validator.isNotEmpty(prefixName) ? "" : (sdf.format(new Date()))) + "/" + now;
+                break;
         }
 
         return RandomFilename;
@@ -270,7 +273,7 @@ public class OssServiceImpl implements OssService {
     private String uploadInputStreamAction(InputStream inputStream, Integer imageStatus) throws Exception {
         try {
             OssRequest ossRequest = new OssRequest();
-            ossRequest.setImageStatus(7);
+            ossRequest.setImageStatus(imageStatus);
             String fileName = generateRandomFilename(ossRequest) + ".jpg";
 
             //调用oss方法实现上传

File diff suppressed because it is too large
+ 593 - 184
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionServiceImpl.java


+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/bo/ActionLockQueryBo.java

@@ -25,4 +25,7 @@ public class ActionLockQueryBo extends BaseEntity {
 	@NotBlank(message = "行为不能为空")
 	private String action;
 
+	@ApiModelProperty("识别号")
+	private String uuid;
+
 }

Some files were not shown because too many files changed in this diff