From 864c18c46c2db1ae92220181e40b291b3b0d9446 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期一, 27 十月 2025 09:57:48 +0800
Subject: [PATCH] #1

---
 src/main/webapp/static/js/locDetl/locDetl.js                       |   49 ++++++++++++++++
 src/main/webapp/views/locDetl/locDetl.html                         |    4 +
 src/main/java/com/zy/asrs/entity/ImageView.java                    |   13 ++++
 src/main/java/com/zy/common/web/AuthController.java                |   13 ++++
 src/main/java/com/zy/system/mapper/UserMapper.java                 |    5 +
 src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java |    8 ++
 src/main/java/com/zy/asrs/controller/ImagePreviewController.java   |   58 +++++++++++++++----
 src/main/java/com/zy/common/config/AdminInterceptor.java           |    2 
 src/main/java/com/zy/system/service/UserService.java               |    3 +
 src/main/java/com/zy/system/service/UserLoginService.java          |    3 +
 src/main/java/com/zy/system/service/impl/UserServiceImpl.java      |   10 +++
 src/main/java/com/zy/system/mapper/UserLoginMapper.java            |    5 +
 12 files changed, 157 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ImagePreviewController.java b/src/main/java/com/zy/asrs/controller/ImagePreviewController.java
index ae763f0..75ca0e0 100644
--- a/src/main/java/com/zy/asrs/controller/ImagePreviewController.java
+++ b/src/main/java/com/zy/asrs/controller/ImagePreviewController.java
@@ -1,10 +1,14 @@
 package com.zy.asrs.controller;
 
+import com.core.common.R;
+import com.sun.prism.Image;
+import com.zy.asrs.entity.ImageView;
 import com.zy.asrs.utils.ImagePreviewUtils;
 import com.zy.common.web.BaseController;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -14,14 +18,16 @@
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.util.*;
 
+@Slf4j
 @RestController
 @RequestMapping()
 public class ImagePreviewController extends BaseController {
     //涓婁紶鍥剧墖
     @ApiResponses({@ApiResponse(code = 200, message = "涓婁紶鎴愬姛"), @ApiResponse(code = 400, message = "涓婁紶澶辫触"), @ApiResponse(code = 500, message = "鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�")})
-    //@RequestMapping(value = "/saveImage", method = RequestMethod.POST)
+    @RequestMapping(value = "/saveImage", method = RequestMethod.POST)
     public Map<String, Object> saveImage(@RequestParam("files") MultipartFile[] files) {
         Map<String, Object> map = new HashMap<>();
         List<String> list = new ArrayList<>();
@@ -30,14 +36,14 @@
             //鑾峰彇鏂囦欢鍚庣紑
             String suffixName = ImagePreviewUtils.getSaveImagePath(mfile);
             //鐢熸垚鏂版枃浠跺悕绉�
-            String newFileName = ImagePreviewUtils.getNewImageFileName(suffixName);
+            //String newFileName = ImagePreviewUtils.getNewImageFileName(suffixName);
             //淇濆瓨鏂囦欢
-            File file = new File(ImagePreviewUtils.getNewImagePath(newFileName));
+            File file = new File(ImagePreviewUtils.getNewImagePath(mfile.getOriginalFilename()));
             boolean state = ImagePreviewUtils.saveImage(mfile, file);
             if (state) {
 //                 list.add(ImageUtil.getNewImagePath(newFileName));
                 //淇濆瓨鏁版嵁搴撶殑鍥剧墖璺緞涓�  鐩稿璺緞
-                list.add("uploadimage/" + newFileName);
+                list.add("uploadimage/" + mfile.getOriginalFilename());
             }
         }
         map.put("imgList", list);
@@ -46,18 +52,16 @@
     }
 
     //棰勮鍥剧墖
-    //@RequestMapping("previewImage")
+    @RequestMapping("/previewImage")
     @ApiOperation(value = "鏍规嵁鏂囦欢鍚嶅疄鐜伴瑙堝姛鑳�")
-    public void previewFile(
-            HttpServletResponse response) throws IOException {
-        showImg("D:\\"+"images\\"+"20251022efda188c-56b3-4c38-9940-78d0b61b43a1.png", response);
-    }
-
-    public static void showImg(String path, HttpServletResponse response){
-        if(path!=null&&!path.equals("")){
+    public String previewFile(
+            HttpServletResponse response,String maktx) throws IOException {
+//        String[] s = matnr.split("__");
+        showImg("D:\\"+"images\\"+maktx+".png", response,maktx);
+        if("D:\\"+"images\\"+maktx+".png"!=null){
 
             try {
-                FileInputStream fis = new FileInputStream(path);
+                FileInputStream fis = new FileInputStream("D:\\"+"images\\"+maktx+".png");
                 ServletOutputStream os = response.getOutputStream();
 
                 byte [] b = new byte[1024*8];
@@ -66,9 +70,37 @@
                 }
             } catch (FileNotFoundException e) {
                 e.printStackTrace();
+                return "璇ョ畝鍥句笉瀛樺湪锛岃涓婁紶";
             } catch (IOException e) {
                 e.printStackTrace();
             }
         }
+        return "";
+    }
+
+    public static void showImg(String path, HttpServletResponse response,String maktx){
+
+    }
+    public static R showImgToBase64(String path, HttpServletResponse response,String maktx){
+            byte[] imageBytes = null;
+            try {
+                File file =new File(path);
+                imageBytes = Files.readAllBytes(file.toPath());
+            }catch (IOException e){
+                e.printStackTrace();
+                return null;
+            }
+            String pics = Base64.getEncoder().encodeToString(imageBytes);
+            List<String> list = new ArrayList<>();
+            List<ImageView> imageViewList = new ArrayList<>();
+            ImageView imageView = new ImageView();
+            //String s = "http://192.168.0.2/image/"+pics+".jpg";
+            list.add(pics);
+            imageView.setPics(list);
+            imageView.setMaktx(maktx);
+            imageViewList.add(imageView);
+            //log.info(s);
+            log.info(pics);
+            return R.ok().add(imageViewList);
     }
 }
diff --git a/src/main/java/com/zy/asrs/entity/ImageView.java b/src/main/java/com/zy/asrs/entity/ImageView.java
new file mode 100644
index 0000000..05b57a6
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ImageView.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ImageView {
+    //鍥剧墖鐨刡ase64
+    private List<String> pics;
+
+    private String maktx;
+}
diff --git a/src/main/java/com/zy/common/config/AdminInterceptor.java b/src/main/java/com/zy/common/config/AdminInterceptor.java
index 3932e07..4a2d242 100644
--- a/src/main/java/com/zy/common/config/AdminInterceptor.java
+++ b/src/main/java/com/zy/common/config/AdminInterceptor.java
@@ -116,7 +116,7 @@
 //            String deToken = Cools.deTokn(token, user.getPassword());
 //            long timestamp = Long.parseLong(deToken.substring(0, 13));
             // 15鍒嗛挓鍚庤繃鏈�
-            if (System.currentTimeMillis() - userLogin.getCreateTime().getTime() > 900000){
+            if (System.currentTimeMillis() - userLogin.getCreateTime().getTime() > 86400000){
                 Http.response(response, BaseRes.DENIED);
                 return false;
             }
diff --git a/src/main/java/com/zy/common/web/AuthController.java b/src/main/java/com/zy/common/web/AuthController.java
index c8bca4a..173de67 100644
--- a/src/main/java/com/zy/common/web/AuthController.java
+++ b/src/main/java/com/zy/common/web/AuthController.java
@@ -18,6 +18,7 @@
 import com.zy.system.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
@@ -382,4 +383,16 @@
         return R.ok("婵�娲绘垚鍔燂紝鏈夋晥鏈熻嚦"+DateUtils.convert(exprTime));
     }
 
+//    @Scheduled(cron = "*/30 * * * * *")
+//    public void deleteToken(){
+//        List<User> userList = userService.selectAll();
+//        for (User user : userList) {
+//           UserLogin userLogin = userLoginService.selectByUserId(user.getId());
+//            if (System.currentTimeMillis() - userLogin.getCreateTime().getTime() > 30){
+//                    userLoginService.delete(new EntityWrapper<UserLogin>().eq("user_id", userLogin.getId()));
+//                }
+//        }
+//    }
+
+
 }
diff --git a/src/main/java/com/zy/system/mapper/UserLoginMapper.java b/src/main/java/com/zy/system/mapper/UserLoginMapper.java
index b275758..fc37f41 100644
--- a/src/main/java/com/zy/system/mapper/UserLoginMapper.java
+++ b/src/main/java/com/zy/system/mapper/UserLoginMapper.java
@@ -6,6 +6,8 @@
 import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Mapper
 @Repository
 public interface UserLoginMapper extends BaseMapper<UserLogin> {
@@ -13,4 +15,7 @@
     @Select("select count(1) from sys_user_login where yearweek(date_format(create_time,'%Y-%m-%d')) = yearweek(now())")
     int selectCountByCurrentWeek();
 
+    @Select("select * from sys_user_login where user_id = #{userId}")
+    UserLogin selectByUserId(Long id);
+
 }
diff --git a/src/main/java/com/zy/system/mapper/UserMapper.java b/src/main/java/com/zy/system/mapper/UserMapper.java
index 0e40b22..0230106 100644
--- a/src/main/java/com/zy/system/mapper/UserMapper.java
+++ b/src/main/java/com/zy/system/mapper/UserMapper.java
@@ -3,10 +3,15 @@
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.system.entity.User;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Mapper
 @Repository
 public interface UserMapper extends BaseMapper<User> {
 
+    @Select("select * from sys_user;")
+    List<User> selectAll();
 }
diff --git a/src/main/java/com/zy/system/service/UserLoginService.java b/src/main/java/com/zy/system/service/UserLoginService.java
index 8bfa7b0..6def4b3 100644
--- a/src/main/java/com/zy/system/service/UserLoginService.java
+++ b/src/main/java/com/zy/system/service/UserLoginService.java
@@ -3,8 +3,11 @@
 import com.baomidou.mybatisplus.service.IService;
 import com.zy.system.entity.UserLogin;
 
+import java.util.List;
+
 public interface UserLoginService extends IService<UserLogin> {
 
     int selectCountByCurrentWeek();
 
+    UserLogin selectByUserId(Long id);
 }
diff --git a/src/main/java/com/zy/system/service/UserService.java b/src/main/java/com/zy/system/service/UserService.java
index adf1253..262fba3 100644
--- a/src/main/java/com/zy/system/service/UserService.java
+++ b/src/main/java/com/zy/system/service/UserService.java
@@ -3,6 +3,9 @@
 import com.baomidou.mybatisplus.service.IService;
 import com.zy.system.entity.User;
 
+import java.util.List;
+
 public interface UserService extends IService<User> {
 
+    List<User> selectAll();
 }
diff --git a/src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java b/src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java
index ebe5908..282b1f9 100644
--- a/src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java
+++ b/src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java
@@ -7,6 +7,9 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
+import java.util.List;
+
 @Service("userLoginService")
 public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper, UserLogin> implements UserLoginService {
 
@@ -17,4 +20,9 @@
     public int selectCountByCurrentWeek() {
         return userLoginMapper.selectCountByCurrentWeek();
     }
+
+    @Override
+    public UserLogin selectByUserId(Long id) {
+        return userLoginMapper.selectByUserId(id);
+    }
 }
diff --git a/src/main/java/com/zy/system/service/impl/UserServiceImpl.java b/src/main/java/com/zy/system/service/impl/UserServiceImpl.java
index 67c0ce4..30214b2 100644
--- a/src/main/java/com/zy/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/zy/system/service/impl/UserServiceImpl.java
@@ -4,9 +4,19 @@
 import com.zy.system.entity.User;
 import com.zy.system.mapper.UserMapper;
 import com.zy.system.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
 
 @Service("userService")
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
+    @Autowired
+    private UserMapper userMapper;
 
+    @Override
+    public List<User> selectAll() {
+        return userMapper.selectAll();
+    }
 }
diff --git a/src/main/webapp/static/js/locDetl/locDetl.js b/src/main/webapp/static/js/locDetl/locDetl.js
index d46cb7c..7130954 100644
--- a/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/src/main/webapp/static/js/locDetl/locDetl.js
@@ -17,7 +17,12 @@
         ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true}
         ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
         ,{field: 'price', align: 'center',title: '鍗曚环', hide: true}
-        ,{field: 'sku', align: 'center',title: '绠�鍥�', hide: false}
+        // ,{fixed: 'right', title:'绠�鍥�', align: 'center', toolbar: '#operate1', width: 300}
+        ,{field: 'right', align: 'center',title: '绠�鍥�', templet:function(row){
+                var html = "<img  src='http://127.0.0.1:8080/czkhasrs/previewImage?maktx=" +row.maktx+"'/>";
+
+                return html;
+            }}
         ,{field: 'units', align: 'center',title: '鍗曚綅閲�', hide: true}
         ,{field: 'barcode', align: 'center',title: '鏉$爜', hide: true}
         ,{field: 'origin', align: 'center',title: '浜у湴', hide: true}
@@ -371,6 +376,48 @@
                    });
                 }
                 break;
+            // 鏌ョ湅绠�鍥�
+            case 'showPic':
+                let imgHtml = '<div style="height:100%;display: flex;justify-content: space-around;align-items: center;flex-wrap: wrap;">';
+                $.ajax({
+                    url: baseUrl+"/previewImage",
+                    headers: {'token': localStorage.getItem('token')},
+                    data: {
+                        maktx: data.maktx
+                    },
+                    method: 'GET',
+                    traditional:true,
+                    success: function (res) {
+                        if (res.code === 200){
+                            res.data.forEach((item) => {
+                                let maktx = item.maktx;
+                                let pics = item.pics;
+                                pics.forEach((pic) => {
+                                    let tmp = '<div><div><img width="600" src="' + pic + '" /></div><div>' + maktx + '</div></div>';
+                                    imgHtml += tmp;
+                                })
+                            })
+                            imgHtml += "</div>";
+
+                            layer.open({
+                                type: 1,
+                                title: '鏌ョ湅绠�鍥�',
+                                area: [top.detailWidth, top.detailHeight],
+                                shadeClose: true,
+                                content: imgHtml,
+                                success: function(layero, index){
+                                }
+                            });
+
+                        } else if (res.code === 403){
+                            top.location.href = baseUrl+"/";
+                        } else {
+                            layer.msg(res.msg)
+                        }
+                    }
+                });
+                console.log(imgHtml)
+                break;
 
         }
     });
diff --git a/src/main/webapp/views/locDetl/locDetl.html b/src/main/webapp/views/locDetl/locDetl.html
index 5c139e9..c4351f8 100644
--- a/src/main/webapp/views/locDetl/locDetl.html
+++ b/src/main/webapp/views/locDetl/locDetl.html
@@ -88,7 +88,9 @@
 <script type="text/html" id="operate">
     <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>
 </script>
-
+<script type="text/html" id="operate1">
+    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="showPic" >鏌ョ湅绠�鍥�</a>
+</script>
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
 <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>

--
Gitblit v1.9.1