From f823fa4a9283debfa7cb6d79fc1f3c7099f9b3ae Mon Sep 17 00:00:00 2001
From: liuxm <liuxm_a@163.com>
Date: 星期四, 13 六月 2024 14:22:55 +0800
Subject: [PATCH] 去掉原controller中的try catch 和BindingResult

---
 pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/user/UserSv.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 47 insertions(+), 4 deletions(-)

diff --git a/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/user/UserSv.java b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/user/UserSv.java
index ac488f7..3c041a8 100644
--- a/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/user/UserSv.java
+++ b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/user/UserSv.java
@@ -1,17 +1,24 @@
 package com.dy.pmsBase.user;
 
+import cn.hutool.core.codec.Base64;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pmsGlobal.daoBa.BaUserMapper;
 import com.dy.pmsGlobal.daoBa.BaUserRoleMapper;
 import com.dy.pmsGlobal.pojoBa.BaUser;
 import com.dy.pmsGlobal.pojoBa.BaUserRole;
+import com.dy.pmsGlobal.util.QrCodeUtil;
+import com.google.zxing.WriterException;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.*;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
 
 @Slf4j
 @Service
@@ -20,6 +27,7 @@
     private BaUserMapper dao;
     @Autowired
     private BaUserRoleMapper urDao;
+    private static final String stationPrefix = "101" ;
 
     /**
      * 鐢熸垚鎸囧畾浣嶆暟闅忔満鏁板瓧瀵嗙爜
@@ -68,6 +76,16 @@
 
         //鏌ヨ绗﹀悎鏉′欢鐨勮褰�
         rsVo.obj = this.dao.selectSome(params) ;
+        rsVo.obj.parallelStream().forEach(item->{
+            try {
+                byte[] codes = QrCodeUtil.genQrCode(stationPrefix+item.id);
+                item.qrCode = "data:image/jpeg;base64," + Base64.encode(codes);
+            } catch (IOException e) {
+                e.printStackTrace();
+            } catch (WriterException e) {
+                e.printStackTrace();
+            }
+        });
         return rsVo ;
     }
 
@@ -79,7 +97,12 @@
      */
     @Transactional
     public Long save(BaUser po){
-        this.dao.insertSelective(po) ;
+        try{
+            dao.insertSelective(po) ;
+        }catch(DuplicateKeyException e){
+            log.error(e.getMessage());
+            throw new RuntimeException("鎵嬫満鍙风爜閲嶅");
+        }
         Long id = po.getId();
         this.saveUserRoles(id, po.roleIds) ;
         return id ;
@@ -92,9 +115,29 @@
      */
     @Transactional
     public int update(BaUser po) {
-        int count = this.dao.updateByPrimaryKeySelective(po);
+        int count=0;
+        try{
+            count = this.dao.updateByPrimaryKeySelective(po);
+        }catch(DuplicateKeyException e){
+            log.error(e.getMessage());
+            throw new RuntimeException("鎵嬫満鍙风爜閲嶅");
+        }
         this.saveUserRoles(po.id, po.roleIds) ;
         return count ;
+    }
+
+    /**
+     * 绂佺敤鎴栧惎鐢ㄧ敤鎴蜂俊鎭�
+     * @param id
+     * @param disabled
+     * @return
+     */
+    @Transactional
+    public int disabled(Long id,Boolean disabled) {
+        BaUser user=new BaUser();
+        user.id=id;
+        user.disabled=disabled;
+        return dao.updateByPrimaryKeySelective(user);
     }
 
     /**
@@ -117,7 +160,7 @@
      * @return 鎻掑叆鐢ㄦ埛涓庤鑹插叧鑱旇褰曟暟閲�
      */
     @Transactional
-    private int saveUserRoles(Long userId, String[] roleIds) {
+    public int saveUserRoles(Long userId, String[] roleIds) {
         this.urDao.deleteByUserId(userId);
         int count = 0;
         if (roleIds != null && roleIds.length > 0) {

--
Gitblit v1.8.0