From 57391775d5f5ae8a93b308d0b261b2244eb7579a Mon Sep 17 00:00:00 2001
From: 刘小明 <liuxm_a@163.com>
Date: 星期四, 16 一月 2025 09:24:26 +0800
Subject: [PATCH] 追溯小程序:产品列表,产品详情接口
---
pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/user/UserSv.java | 44 +++++++++++++++++++++++++++++++++++++-------
1 files changed, 37 insertions(+), 7 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 4b034da..4dd42d7 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
@@ -4,17 +4,22 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pmsGlobal.daoBa.BaUserMapper;
import com.dy.pmsGlobal.daoBa.BaUserRoleMapper;
+import com.dy.pmsGlobal.daoSta.StaAssemblyWorkLastMapper;
import com.dy.pmsGlobal.pojoBa.BaUser;
import com.dy.pmsGlobal.pojoBa.BaUserRole;
+import com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast;
+import com.dy.pmsGlobal.util.QrCodeConstant;
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.io.IOException;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
@@ -26,8 +31,8 @@
private BaUserMapper dao;
@Autowired
private BaUserRoleMapper urDao;
- private static final String stationPrefix = "101" ;
-
+ @Autowired
+ private StaAssemblyWorkLastMapper assemblyWorkLastDao;
/**
* 鐢熸垚鎸囧畾浣嶆暟闅忔満鏁板瓧瀵嗙爜
*
@@ -77,7 +82,7 @@
rsVo.obj = this.dao.selectSome(params) ;
rsVo.obj.parallelStream().forEach(item->{
try {
- byte[] codes = QrCodeUtil.genQrCode(stationPrefix+item.id);
+ byte[] codes = QrCodeUtil.genQrCode(QrCodeConstant.TypeWorker+item.id);
item.qrCode = "data:image/jpeg;base64," + Base64.encode(codes);
} catch (IOException e) {
e.printStackTrace();
@@ -96,7 +101,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 ;
@@ -109,7 +119,13 @@
*/
@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 ;
}
@@ -122,6 +138,7 @@
*/
@Transactional
public int disabled(Long id,Boolean disabled) {
+ checkStationLogin(id);
BaUser user=new BaUser();
user.id=id;
user.disabled=disabled;
@@ -166,8 +183,21 @@
*/
@Transactional
public int delete(Long id) {
+ checkStationLogin(id);
return this.dao.deleteLogicById(id);
}
-
-}
+ public void checkStationLogin(Long id){
+ //濡傛灉鏈夊伐绔欑櫥褰曚俊鎭�,鍒欐彁绀哄厛鍒拌Е灞忕鐧诲綍椤甸潰logout
+ Map<String, Object> params = new HashMap<>();
+ params.put("userId", id);
+ List<StaAssemblyWorkLast> workLasts = assemblyWorkLastDao.selectSome(params);
+ if (workLasts.size() > 0) {
+ String stationStr = "(";
+ for (StaAssemblyWorkLast workLast:workLasts) {
+ stationStr += workLast.getStationName() +",";
+ }
+ throw new RuntimeException("璇ョ敤鎴峰湪"+ stationStr +")宸ョ珯瀛樺湪鐧诲綍淇℃伅,璇峰厛鍒拌Е灞忕鐧诲綍椤甸潰logout,鎴栬仈绯荤鐞嗗憳鍒犻櫎");
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0