Bladeren bron

后台登录

523096025 2 jaren geleden
bovenliggende
commit
2985079028

+ 2 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/SubsidyApplication.java

@@ -8,8 +8,10 @@ import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
+import org.springframework.boot.web.servlet.ServletComponentScan;
 import org.springframework.context.annotation.Bean;
 
+@ServletComponentScan
 @SpringBootApplication
 @MapperScan("com.huimv.farm.damsubsidy.mapper")
 public class SubsidyApplication {

+ 25 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/common/utils/PageUtils.java

@@ -0,0 +1,25 @@
+package com.huimv.farm.damsubsidy.common.utils;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.farm.damsubsidy.entity.BaseVeterStation;
+import org.springframework.util.StringUtils;
+
+import java.util.Map;
+
+public class PageUtils {
+
+    public static Page getPage(Map map){
+        map.get("pageSize");
+
+        String pageNum = (String) map.get("pageNum");
+        String pageSize = (String) map.get("pageSize");
+        if (StringUtils.isEmpty(pageNum)){
+            pageNum ="1";
+        }
+        if (StringUtils.isEmpty(pageSize)){
+            pageSize ="10";
+        }
+       return new Page(Long.parseLong(pageNum), Long.parseLong(pageSize));
+    }
+}

+ 31 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/config/XssFilter.java

@@ -0,0 +1,31 @@
+package com.huimv.farm.damsubsidy.config;
+
+import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+
+/**
+ * @Author: zjhang
+ * @Date: 2021/6/19 14:37
+ * @Description: 拦截防止注入漏洞(即防止XSS的跨站脚本攻击)
+ */
+@WebFilter(urlPatterns = "/*", filterName = "xssFilter")
+public class XssFilter implements Filter {
+    private FilterConfig filterConfig = null;
+
+    @Override
+    public void init(FilterConfig filterConfig) throws ServletException {
+        this.filterConfig = filterConfig;
+    }
+
+    @Override
+    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+        filterChain.doFilter(new XssHttpServletRequestWrapper((HttpServletRequest) servletRequest), servletResponse);
+    }
+
+    @Override
+    public void destroy() {
+        this.filterConfig = null;
+    }
+}

+ 130 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/config/XssHttpServletRequestWrapper.java

@@ -0,0 +1,130 @@
+package com.huimv.farm.damsubsidy.config;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HtmlUtil;
+import cn.hutool.json.JSONUtil;
+
+import javax.servlet.ReadListener;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.io.*;
+import java.nio.charset.Charset;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * @Author: zjhang
+ * @Date: 2021/6/19 14:37
+ * @Description: 使用HttpServletRequestWrapper重新request参数
+ */
+public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper {
+
+    public XssHttpServletRequestWrapper(HttpServletRequest request) {
+        super(request);
+    }
+
+    @Override
+    public String getParameter(String name) {
+        String value = super.getParameter(name);
+        if (!StrUtil.hasEmpty(value)) {
+            value = HtmlUtil.filter(value);
+        }
+        return value;
+    }
+
+    @Override
+    public String[] getParameterValues(String name) {
+        String[] values = super.getParameterValues(name);
+        if (values != null) {
+            for (int i = 0; i < values.length; i++) {
+                String value = values[i];
+                if (!StrUtil.hasEmpty(value)) {
+                    value = HtmlUtil.filter(value);
+                }
+                values[i] = value;
+            }
+        }
+        return values;
+    }
+
+    @Override
+    public Map<String, String[]> getParameterMap() {
+        Map<String, String[]> parameters = super.getParameterMap();
+        Map<String, String[]> map = new LinkedHashMap<>();
+        if (parameters != null) {
+            for (String key : parameters.keySet()) {
+                String[] values = parameters.get(key);
+                for (int i = 0; i < values.length; i++) {
+                    String value = values[i];
+                    if (!StrUtil.hasEmpty(value)) {
+                        value = HtmlUtil.filter(value);
+                    }
+                    values[i] = value;
+                }
+                map.put(key, values);
+            }
+        }
+        return map;
+    }
+
+    @Override
+    public String getHeader(String name) {
+        String value = super.getHeader(name);
+        if (!StrUtil.hasEmpty(value)) {
+            value = HtmlUtil.filter(value);
+        }
+        return value;
+    }
+
+    @Override
+    public ServletInputStream getInputStream() throws IOException {
+        InputStream in = super.getInputStream();
+        StringBuffer body = new StringBuffer();
+        InputStreamReader reader = new InputStreamReader(in, Charset.forName("UTF-8"));
+        BufferedReader buffer = new BufferedReader(reader);
+        String line = buffer.readLine();
+        while (line != null) {
+            body.append(line);
+            line = buffer.readLine();
+        }
+        buffer.close();
+        reader.close();
+        in.close();
+
+        Map<String, Object> map = JSONUtil.parseObj(body.toString());
+        Map<String, Object> resultMap = new HashMap(map.size());
+        for (String key : map.keySet()) {
+            Object val = map.get(key);
+            if (map.get(key) instanceof String) {
+                resultMap.put(key, HtmlUtil.filter(val.toString()));
+            } else {
+                resultMap.put(key, val);
+            }
+        }
+        String str = JSONUtil.toJsonStr(resultMap);
+        final ByteArrayInputStream bain = new ByteArrayInputStream(str.getBytes());
+        return new ServletInputStream() {
+            @Override
+            public int read() throws IOException {
+                return bain.read();
+            }
+
+            @Override
+            public boolean isFinished() {
+                return false;
+            }
+
+            @Override
+            public boolean isReady() {
+                return false;
+            }
+
+            @Override
+            public void setReadListener(ReadListener listener) {
+            }
+        };
+    }
+
+}

+ 8 - 1
admin/src/main/java/com/huimv/farm/damsubsidy/controller/BaseVeterStationController.java

@@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
 
 /**
  * <p>
@@ -43,7 +44,13 @@ public class BaseVeterStationController {
     }
 
     @PostMapping("/list")
-    public Result optimizeList() {
+    public Result list() {
         return new Result(ResultCode.SUCCESS,baseVeterStationService.list());
     }
+
+
+    @PostMapping("/page")
+    public Result page( @RequestBody Map map) {
+        return baseVeterStationService.page(map);
+    }
 }

+ 1 - 1
admin/src/main/java/com/huimv/farm/damsubsidy/controller/ImagesTest.java

@@ -52,7 +52,7 @@ public class ImagesTest {
         } catch (Exception e) {
             e.printStackTrace();
         }
-//        String content = "http://139.9.167.178/images" + path + "/" + imgname;
+//        String content = "https://img.ifarmcloud.com/images" + path + "/" + imgname;
         String content = "https://img.ifarmcloud.com/images/" + path + "/" + imgname;
 
         return content;

+ 23 - 4
admin/src/main/java/com/huimv/farm/damsubsidy/controller/SysUserController.java

@@ -12,6 +12,7 @@ import com.huimv.farm.damsubsidy.config.CharacterEncodingFilter;
 import com.huimv.farm.damsubsidy.entity.AccessToken;
 import com.huimv.farm.damsubsidy.entity.SysUser;
 import com.huimv.farm.damsubsidy.service.ISysUserService;
+import org.apache.poi.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
@@ -21,6 +22,7 @@ import javax.servlet.http.HttpServletRequest;
 import java.io.BufferedInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -120,7 +122,8 @@ public class SysUserController {
                       @RequestParam("type") String type,
                       @RequestParam("userName") String userName,
                       @RequestParam("idCord") String idCord,
-                      @RequestParam("phone") String phone) {
+                      @RequestParam("phone") String phone) throws UnsupportedEncodingException {
+        req.setCharacterEncoding("UTF-8");
         String imgname = "成功";
         String originalFilename = idCordFrontUrl.getOriginalFilename();
         String filenameExtension = StringUtils.getFilenameExtension(originalFilename);
@@ -190,6 +193,11 @@ public class SysUserController {
         }
     }
 
+    @PostMapping(value = "/addTest")
+    public void addTest( @RequestParam("userName") String userName) {
+        System.out.println(userName);
+    }
+
     @PostMapping(value = "/edit")
     public Result edit(HttpServletRequest req, @RequestBody SysUser user) {
         return new Result(ResultCode.SUCCESS, iSysUserService.edit(req, user));
@@ -230,8 +238,14 @@ public class SysUserController {
     @PostMapping("/listSubordinate")
     public Result listSubordinate(@RequestBody Map map , HttpServletRequest request) {
         Long userId = TokenSign.getMemberIdByJwtToken(request);
-        int pageNum = (Integer) map.get("pageNum");
-        int pageSize = (Integer) map.get("pageSize");
+        String pageNum = (String) map.get("pageNum");
+        String pageSize = (String) map.get("pageSize");
+        if (StringUtils.isEmpty(pageNum)){
+            pageNum ="1";
+        }
+        if (StringUtils.isEmpty(pageSize)){
+            pageSize ="10";
+        }
         String searchStr = (String) map.get("searchStr");
         return iSysUserService.listSubordinate(searchStr,pageNum,pageSize,userId);
     }
@@ -239,7 +253,12 @@ public class SysUserController {
     @PostMapping("/addXiang")
     public Result addXiang(@RequestBody SysUser sysUser , HttpServletRequest request) {
         Long userId = TokenSign.getMemberIdByJwtToken(request);
-
         return iSysUserService.addXiang(sysUser,userId);
     }
+
+    @PostMapping("/remove")
+    public Result remove(@RequestBody SysUser sysUser , HttpServletRequest request) {
+        Long userId = TokenSign.getMemberIdByJwtToken(request);
+        return iSysUserService.remove(sysUser,userId);
+    }
 }

+ 5 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/service/IBaseVeterStationService.java

@@ -1,8 +1,11 @@
 package com.huimv.farm.damsubsidy.service;
 
+import com.huimv.farm.damsubsidy.common.utils.Result;
 import com.huimv.farm.damsubsidy.entity.BaseVeterStation;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IBaseVeterStationService extends IService<BaseVeterStation> {
 
+    Result page(Map map);
+
 }

+ 3 - 1
admin/src/main/java/com/huimv/farm/damsubsidy/service/ISysUserService.java

@@ -43,11 +43,13 @@ public interface ISysUserService extends IService<SysUser> {
 
     List<Long> getAllChildId(Long userId);
 
-    Result listSubordinate(String searchStr, int pageNum, int pageSize, Long userId);
+    Result listSubordinate(String searchStr, String pageNum, String pageSize, Long userId);
 
     Result getLastFarmId(Integer userId);
 
     Result loginMultilevelClient(String accountName, String password);
 
     Result addXiang(SysUser sysUser, Long userId);
+
+    Result remove(SysUser sysUser, Long userId);
 }

+ 14 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/service/impl/BaseVeterStationServiceImpl.java

@@ -1,10 +1,19 @@
 package com.huimv.farm.damsubsidy.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.farm.damsubsidy.common.utils.PageUtils;
+import com.huimv.farm.damsubsidy.common.utils.Result;
+import com.huimv.farm.damsubsidy.common.utils.ResultCode;
 import com.huimv.farm.damsubsidy.entity.BaseVeterStation;
+import com.huimv.farm.damsubsidy.entity.SysUser;
 import com.huimv.farm.damsubsidy.mapper.BaseVeterStationMapper;
 import com.huimv.farm.damsubsidy.service.IBaseVeterStationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.Map;
 
 /**
  * <p>
@@ -17,4 +26,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class BaseVeterStationServiceImpl extends ServiceImpl<BaseVeterStationMapper, BaseVeterStation> implements IBaseVeterStationService {
 
+    @Override
+    public Result page(Map map) {
+        Page page = PageUtils.getPage(map);
+        return new Result(ResultCode.SUCCESS,this.page(page));
+    }
 }

+ 6 - 6
admin/src/main/java/com/huimv/farm/damsubsidy/service/impl/BillBuyInfoServiceImpl.java

@@ -71,7 +71,7 @@ public class BillBuyInfoServiceImpl extends ServiceImpl<BillBuyInfoMapper, BillB
         } catch (Exception e) {
             e.printStackTrace();
         }
-        String content = "http://139.9.167.178/images/"+path +"/"+imgname;
+        String content = "https://img.ifarmcloud.com/images/"+path +"/"+imgname;
 
         String imgname2 = "成功";
         String originalFilename2 = image2.getOriginalFilename();
@@ -94,7 +94,7 @@ public class BillBuyInfoServiceImpl extends ServiceImpl<BillBuyInfoMapper, BillB
         } catch (Exception e) {
             e.printStackTrace();
         }
-        String content2 = "http://139.9.167.178/images/"+path2 +"/"+imgname2;
+        String content2 = "https://img.ifarmcloud.com/images/"+path2 +"/"+imgname2;
 
         String imgname3 = "成功";
         String originalFilename3 = image3.getOriginalFilename();
@@ -117,7 +117,7 @@ public class BillBuyInfoServiceImpl extends ServiceImpl<BillBuyInfoMapper, BillB
         } catch (Exception e) {
             e.printStackTrace();
         }
-        String content3 = "http://139.9.167.178/images/"+path3 +"/"+imgname3;
+        String content3 = "https://img.ifarmcloud.com/images/"+path3 +"/"+imgname3;
 
         BillBuyInfo billBuyInfo1 = billBuyInfoMapper.selectOne(new QueryWrapper<BillBuyInfo>().eq("create_user", TokenSign.getUserName(httpServletRequest)).eq("bill_buy_status",1));
         if (ObjectUtil.isEmpty(billBuyInfo1)){
@@ -258,7 +258,7 @@ public class BillBuyInfoServiceImpl extends ServiceImpl<BillBuyInfoMapper, BillB
 //        } catch (Exception e) {
 //            e.printStackTrace();
 //        }
-//        String content = "http://139.9.167.178/images/"+path +"/"+imgname;
+//        String content = "https://img.ifarmcloud.com/images/"+path +"/"+imgname;
 //
 //        String imgname2 = "成功";
 //        String originalFilename2 = image2.getOriginalFilename();
@@ -281,7 +281,7 @@ public class BillBuyInfoServiceImpl extends ServiceImpl<BillBuyInfoMapper, BillB
 //        } catch (Exception e) {
 //            e.printStackTrace();
 //        }
-//        String content2 = "http://139.9.167.178/images/"+path2 +"/"+imgname2;
+//        String content2 = "https://img.ifarmcloud.com/images/"+path2 +"/"+imgname2;
 //
 //        String imgname3 = "成功";
 //        String originalFilename3 = image3.getOriginalFilename();
@@ -304,7 +304,7 @@ public class BillBuyInfoServiceImpl extends ServiceImpl<BillBuyInfoMapper, BillB
 //        } catch (Exception e) {
 //            e.printStackTrace();
 //        }
-//        String content3 = "http://139.9.167.178/images/"+path3 +"/"+imgname3;
+//        String content3 = "https://img.ifarmcloud.com/images/"+path3 +"/"+imgname3;
 
         BillBuyInfo billBuyInfo1 = billBuyInfoMapper.selectOne(new QueryWrapper<BillBuyInfo>().eq("create_user", TokenSign.getUserName(httpServletRequest)).eq("bill_buy_status",1));
         if (ObjectUtil.isEmpty(billBuyInfo1)){

+ 1 - 1
admin/src/main/java/com/huimv/farm/damsubsidy/service/impl/BillIsolatedServiceImpl.java

@@ -236,7 +236,7 @@ public class BillIsolatedServiceImpl extends ServiceImpl<BillIsolatedMapper, Bil
         } catch (Exception e) {
             e.printStackTrace();
         }
-        String content = "http://139.9.167.178/images/"+path +"/"+imgname;
+        String content = "https://img.ifarmcloud.com/images/"+path +"/"+imgname;
         BillIsolated isolation = this.getById(id);
         isolation.setIsolatedPicUrl(content);
         isolation.setIsolatedSch(2);

+ 32 - 3
admin/src/main/java/com/huimv/farm/damsubsidy/service/impl/SysUserServiceImpl.java

@@ -67,7 +67,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
         Integer accoutType = accountMultilevel.getAccoutType();
 
-        if ( accoutType!= 1  ){
+        if ( accoutType!= 1 ){
             return new Result(ResultCode.DATA_NULL, "账号未启用");
         }
         return new Result(ResultCode.SUCCESS,accountMultilevel);
@@ -77,6 +77,23 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public Result addXiang(SysUser sysUser, Long userId) {
         SysUser byId = this.getById(userId);
 
+        String accountNum = sysUser.getAccountNum();
+        String password = sysUser.getPassword();
+        String phone = sysUser.getPhone();
+
+        if (StringUtils.isBlank(accountNum) || StringUtils.isBlank(password)){
+            return new Result(ResultCode.FAIL,"输入有误,账号密码为空");
+        }
+
+        if (StringUtils.isBlank(phone) || !phone.matches("1[3-9]\\d{9}")) {
+            return new Result(ResultCode.FAIL, "手机号格式不正确");
+        }
+
+        int countNum = this.count(new QueryWrapper<SysUser>().eq("account_num", accountNum));
+        if (countNum>0){
+            return new Result(ResultCode.FAIL,"账号已存在");
+        }
+
         Date date = new Date();
         sysUser.setCreateTime(date);
         sysUser.setUpdateTime(date);
@@ -91,6 +108,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return new Result(ResultCode.SUCCESS,"添加成功");
     }
 
+    @Override
+    public Result remove(SysUser sysUser, Long userId) {
+        Date date = new Date();
+        sysUser.setIsDelete(1);
+        sysUser.setUpdateUser(userId+"");
+        sysUser.setUpdateTime(date);
+        updateById(sysUser);
+        return new Result(ResultCode.SUCCESS, "删除成功");
+    }
+
 
     @Transactional
     @Override
@@ -287,15 +314,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     @Override
-    public Result listSubordinate(String searchStr, int pageNum, int pageSize, Long userId) {
+    public Result listSubordinate(String searchStr, String pageNum, String pageSize, Long userId) {
 
         QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
         wrapper.like("pids",userId);
+        wrapper.ne("id",userId);
+        wrapper.eq("is_delete",0);
         if (StringUtils.isNotBlank(searchStr)){
             wrapper.like("user_name",searchStr);
         }
 
-        IPage<SysUser> page = this.page(new Page<>(pageNum, pageSize), wrapper);
+        IPage<SysUser> page = this.page(new Page<SysUser>(Long.parseLong(pageNum), Long.parseLong(pageSize)), wrapper);
         return new Result(ResultCode.SUCCESS,page);
     }