xiaochan преди 1 година
родител
ревизия
c9bd909356

+ 3 - 1
src/main/java/thyyxxk/webserver/config/auth/AuthenticationInterceptor.java

@@ -61,7 +61,9 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
             throw new BizException(ExceptionEnum.TOKEN_ERROR);
         }
         try {
-            TokenUtil.getInstance().verifyToken(token);
+            if (!TokenUtil.getInstance().verifyToken(token)) {
+                throw new BizException(ExceptionEnum.TOKEN_EXPIRED);
+            }
         } catch (JWTVerificationException e) {
             if (e.getMessage().contains(EXPIRED)) {
                 throw new BizException(ExceptionEnum.TOKEN_EXPIRED);

+ 2 - 1
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyisheng/ShouShuShenQingDao.java

@@ -266,7 +266,8 @@ public interface ShouShuShenQingDao extends BaseMapper<OpRecord> {
 
     @Delete("delete op_record where record_id = #{reqNo};" +
             "delete op_record_join where record_id = #{reqNo};" +
-            "delete yz_act_order where act_order_no = #{orderNo}")
+            "delete yz_act_order where act_order_no = #{orderNo};" +
+            "delete t_req_surgical_diag where req_no = #{reqNo};")
     void delOpRecord(Integer reqNo, BigDecimal orderNo);
 
 

+ 2 - 6
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/ShouShuShenQingService.java

@@ -1,6 +1,5 @@
 package thyyxxk.webserver.service.zhuyuanyisheng;
 
-import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
@@ -9,7 +8,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.constants.GetDateFormat;
 import thyyxxk.webserver.dao.his.zhuyuanyisheng.ShouShuShenQingDao;
@@ -21,7 +19,6 @@ import thyyxxk.webserver.entity.zhuyuanyisheng.query.ChaXunJianChaHeJianYan;
 import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.*;
 import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.XinZhenYiZhu;
 import thyyxxk.webserver.service.PublicServer;
-import thyyxxk.webserver.service.jianyanjiekou.JianYanJieKouService;
 import thyyxxk.webserver.utils.*;
 
 import java.util.*;
@@ -132,7 +129,7 @@ public class ShouShuShenQingService {
                 setSort(1);
                 setCode(op.getDiagBeforeCode());
                 setName(op.getDiagBeforeOp());
-                setType(1);
+                setType(2);
             }};
             list.add(tReqSurgicalDiag2);
         }
@@ -254,7 +251,7 @@ public class ShouShuShenQingService {
                 "手术时间:<span style='color:#409eff'>【%tF %<tT】</span><br>", op.getOpName(), op.getOpDatetime());
 
         XinZhenYiZhu patInfo = yiZhuLuRuDao.queryPatientInfo(ss.getInpatientNo(), ss.getAdmissTimes());
-        String yzCode = ss.getGenerateRejectedOrders() ? "10399" : "06054";
+        String yzCode = ss.getGenerateRejectedOrders() ? "06054" : "10399";
 
         List<TReqSurgicalDiag> reqSurgicalDiagList = new ArrayList<>();
         reqSurgicalDiagList.addAll(surgicalDiagnosisFor(ss.getOpCodeList(), recordId, TReqSurgicalDiag.SURGERY));
@@ -274,7 +271,6 @@ public class ShouShuShenQingService {
             dao.insertYzOrderData(op, patInfo, userCode, ss.getExecDept(), yzCode);
             dao.insertReqSurgicalDiag(reqSurgicalDiagList);
         } catch (Exception e) {
-            e.printStackTrace();
             dao.delOpRecord(op.getRecordId(), op.getActOrderNo());
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "手术申请错误,请联系管理员", e.getMessage());
         }

+ 33 - 4
src/main/java/thyyxxk/webserver/utils/TokenUtil.java

@@ -1,6 +1,15 @@
 package thyyxxk.webserver.utils;
 
+import cn.hutool.core.util.CharsetUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.SecureUtil;
+import cn.hutool.crypto.SmUtil;
+import cn.hutool.crypto.asymmetric.KeyType;
+import cn.hutool.crypto.asymmetric.SM2;
+import cn.hutool.crypto.asymmetric.Sign;
+import cn.hutool.crypto.asymmetric.SignAlgorithm;
+import cn.hutool.crypto.symmetric.SymmetricAlgorithm;
+import cn.hutool.crypto.symmetric.SymmetricCrypto;
 import cn.hutool.jwt.JWT;
 import cn.hutool.jwt.JWTUtil;
 import org.springframework.stereotype.Component;
@@ -8,6 +17,9 @@ import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
+import java.nio.charset.StandardCharsets;
+import java.security.KeyPair;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
@@ -19,7 +31,8 @@ import java.util.Objects;
 public class TokenUtil {
     private static final String PRIVATE_KEY = "w2XS014bk6Ma7tYh";
 
-    private TokenUtil() {}
+    private TokenUtil() {
+    }
 
     private static volatile TokenUtil INSTANCE = null;
 
@@ -34,15 +47,17 @@ public class TokenUtil {
         return INSTANCE;
     }
 
+
     public String createToken(String code) {
         Map<String, Object> map = new HashMap<>();
         map.put("code", code);
         map.put("expire_time", System.currentTimeMillis() + 60 * 60 * 1000 * 240);
-        return JWTUtil.createToken(map, PRIVATE_KEY.getBytes());
+        map.put("companyLogo", "thyyxxkzy");
+        return JWTUtil.createToken(map, PRIVATE_KEY.getBytes(StandardCharsets.UTF_8));
     }
 
-    public void verifyToken(String token) {
-        JWTUtil.verify(token, PRIVATE_KEY.getBytes());
+    public boolean verifyToken(String token) {
+        return JWTUtil.verify(token, PRIVATE_KEY.getBytes(StandardCharsets.UTF_8));
     }
 
     public String getTokenUserId() {
@@ -72,4 +87,18 @@ public class TokenUtil {
                 .getRequestAttributes();
         return requestAttributes == null ? null : requestAttributes.getRequest();
     }
+
+    public static void main(String[] args) {
+        String text = "thyyxxkzy";
+        KeyPair pair = SecureUtil.generateKeyPair("SM2");
+        byte[] privateKey = pair.getPrivate().getEncoded();
+        byte[] publicKey = pair.getPublic().getEncoded();
+        SM2 sm2 = SmUtil.sm2(privateKey, publicKey);
+        // 公钥加密,私钥解密
+        String encryptStr = sm2.encryptBcd(text, KeyType.PublicKey);
+        String decryptStr = StrUtil.utf8Str(sm2.decryptFromBcd(encryptStr, KeyType.PrivateKey));
+        System.out.println(encryptStr);
+        System.out.println(decryptStr);
+    }
+
 }