From 4525db077789d82f0e667d047863348a31e9b6b9 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 10 七月 2023 11:25:00 +0800 Subject: [PATCH] 代理过滤器添加用户、令牌、IP等验证功能 --- src/main/java/com/moon/server/controller/sys/ResController.java | 125 +++++------ src/main/java/com/moon/server/service/sys/ResService.java | 45 ++-- src/main/java/com/moon/server/interceptor/AuthInterceptor.java | 16 src/main/resources/mapper/sys/ResMapper.xml | 68 +++--- src/main/java/com/moon/server/entity/sys/ResEntity.java | 153 +++++++------- src/main/java/com/moon/server/interceptor/ProxyFilter.java | 103 ++++++++++ src/main/java/com/moon/server/mapper/sys/ResMapper.java | 58 +++-- 7 files changed, 337 insertions(+), 231 deletions(-) diff --git a/src/main/java/com/moon/server/controller/sys/ResController.java b/src/main/java/com/moon/server/controller/sys/ResController.java index 9f6ad96..a99890f 100644 --- a/src/main/java/com/moon/server/controller/sys/ResController.java +++ b/src/main/java/com/moon/server/controller/sys/ResController.java @@ -5,9 +5,7 @@ import com.moon.server.entity.all.ResponseMsg; import com.moon.server.entity.sys.ResEntity; import com.moon.server.entity.sys.UserEntity; -import com.moon.server.service.all.PermsService; import com.moon.server.service.all.UploadAttachService; -import com.moon.server.service.data.DownloadService; import com.moon.server.service.sys.ResService; import com.moon.server.service.sys.TokenService; import io.swagger.annotations.Api; @@ -23,9 +21,8 @@ import java.util.List; /** - * 璧勬簮琛� - * @author SWS - * @date 2022-09.28 + * 璧勬簮绠$悊 + * @author WWW */ @Api(tags = "杩愮淮绠$悊\\璧勬簮绠$悊") @RestController @@ -38,12 +35,6 @@ TokenService tokenService; @Autowired - PermsService permsService; - - @Autowired - DownloadService downloadService; - - @Autowired UploadAttachService uploadAttachService; private final static String TAB_NAME = "lf.sys_res"; @@ -51,7 +42,7 @@ @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ - @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "sys_res") + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "") }) @GetMapping({"/selectCount"}) public ResponseMsg<Integer> selectCount(String name) { @@ -67,7 +58,7 @@ @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ - @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "sys_res"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") }) @@ -89,7 +80,7 @@ @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ - @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "sys_res"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") }) @@ -104,7 +95,9 @@ if (count == 0) { return success(0, null); } + List<ResEntity> rs = resService.selectByPage(name, pageSize, pageSize * (pageIndex - 1)); + return success(count, rs); } catch (Exception ex) { return fail(ex, null); @@ -139,22 +132,35 @@ } @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<ResEntity> selectById(int id) { + try { + ResEntity entity = resService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() @ApiOperation(value = "鎻掑叆涓�鏉�") @ApiImplicitParams({ - @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "ResEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "ResEntity", paramType = "body") }) - @PostMapping(value = "/insertRes", produces = "application/json; charset=UTF-8") - public ResponseMsg<Integer> insertRes(@RequestBody ResEntity entity, HttpServletRequest req) { + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody ResEntity entity, HttpServletRequest req) { try { UserEntity ue = tokenService.getCurrentUser(req); if (ue != null) { entity.setCreateUser(ue.getId()); } - int count = resService.insertRes(entity); - if (count > 0) { - permsService.clearResCache(); - } + int count = resService.insert(entity); return success(count); } catch (Exception ex) { @@ -165,10 +171,10 @@ @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯") @ApiImplicitParams({ - @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "List<ResEntity>", paramType = "body", example = "") + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "ResEntity", paramType = "body") }) - @PostMapping(value = "/insertRess", produces = "application/json; charset=UTF-8") - public ResponseMsg<Integer> insertRess(@RequestBody List<ResEntity> list, HttpServletRequest req) { + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<ResEntity> list, HttpServletRequest req) { try { UserEntity ue = tokenService.getCurrentUser(req); if (ue != null) { @@ -177,10 +183,7 @@ } } - int count = resService.insertRess(list); - if (count > 0) { - permsService.clearResCache(); - } + int count = resService.inserts(list); return success(count); } catch (Exception ex) { @@ -193,13 +196,10 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") }) - @GetMapping(value = "/deleteRes") - public ResponseMsg<Integer> deleteRes(int id) { + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { try { - int count = resService.deleteRes(id); - if (count > 0) { - permsService.clearResCache(); - } + int count = resService.delete(id); return success(count); } catch (Exception ex) { @@ -210,19 +210,16 @@ @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯") @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "List<Integer>", paramType = "query", example = "1,2") + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") }) - @GetMapping(value = "/deleteRess") - public ResponseMsg<Integer> deleteRess(@RequestParam List<Integer> ids) { + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { try { if (ids == null || ids.isEmpty()) { return fail("id鏁扮粍涓嶈兘涓虹┖", -1); } - int count = resService.deleteRess(ids); - if (count > 0) { - permsService.clearResCache(); - } + int count = resService.deletes(ids); return success(count); } catch (Exception ex) { @@ -233,21 +230,18 @@ @SysLog() @ApiOperation(value = "鏇存柊涓�鏉�") @ApiImplicitParams({ - @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "ResEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "ResEntity", paramType = "body") }) @ResponseBody - @PostMapping(value = "/updateRes", produces = "application/json; charset=UTF-8") - public ResponseMsg<Integer> updateRes(@RequestBody ResEntity entity, HttpServletRequest req) { + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody ResEntity entity, HttpServletRequest req) { try { UserEntity ue = tokenService.getCurrentUser(req); if (ue != null) { entity.setUpdateUser(ue.getId()); } - int count = resService.updateRes(entity); - if (count > 0) { - permsService.clearResCache(); - } + int count = resService.update(entity); return success(count); } catch (Exception ex) { @@ -256,31 +250,26 @@ } @SysLog() - @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiOperation(value = "鏇存柊澶氭潯") @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "ResEntity", paramType = "body") }) - @GetMapping(value = "/selectRes") - public ResponseMsg<ResEntity> selectRes(int id) { + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<ResEntity> list, HttpServletRequest req) { try { - ResEntity resEntity = resService.selectRes(id); + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (ResEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } - return success(resEntity); + int count = resService.updates(list); + + return success(count); } catch (Exception ex) { - return fail(ex, null); - } - } - - @SysLog() - @ApiOperation(value = "鏌ヨ鎵�鏈�") - @GetMapping(value = "/selectResAll") - public ResponseMsg<List<ResEntity>> selectResAll() { - try { - List<ResEntity> list = resService.selectResAll(); - - return success(list); - } catch (Exception ex) { - return fail(ex, null); + return fail(ex, -1); } } diff --git a/src/main/java/com/moon/server/entity/sys/ResEntity.java b/src/main/java/com/moon/server/entity/sys/ResEntity.java index 708cd6a..0b1e3e0 100644 --- a/src/main/java/com/moon/server/entity/sys/ResEntity.java +++ b/src/main/java/com/moon/server/entity/sys/ResEntity.java @@ -1,60 +1,57 @@ package com.moon.server.entity.sys; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - import java.io.Serializable; import java.sql.Timestamp; /** - * @author user + * 璧勬簮 + * @author WWW */ -@Data -@AllArgsConstructor -@NoArgsConstructor public class ResEntity implements Serializable { - private static final long serialVersionUID = 9047079519693255710L; + private static final long serialVersionUID = -286579305905187168L; private int id; private String name; - private String server; + private int type; - private String source; + private int status; - private int depid; + private String manufacturer; - private String depName; + private String url; - private int dirid; + private String test; - private String dirName; - - private String code; + private String proxy; private String descr; + private String depid; + + private String dirid; + private String img; - private int createUser; + private String guid; - private String createName; + private int createUser; private Timestamp createTime; private int updateUser; - private String updateName; - private Timestamp updateTime; private String bak; + private String createName; + private String updateName; - private String fileGuid; + public ResEntity() { + } public int getId() { return id; @@ -72,60 +69,52 @@ this.name = name; } - public String getServer() { - return server; + public int getType() { + return type; } - public void setServer(String server) { - this.server = server; + public void setType(int type) { + this.type = type; } - public String getSource() { - return source; + public int getStatus() { + return status; } - public void setSource(String source) { - this.source = source; + public void setStatus(int status) { + this.status = status; } - public int getDepid() { - return depid; + public String getManufacturer() { + return manufacturer; } - public void setDepid(int depid) { - this.depid = depid; + public void setManufacturer(String manufacturer) { + this.manufacturer = manufacturer; } - public String getDepName() { - return depName; + public String getUrl() { + return url; } - public void setDepName(String depName) { - this.depName = depName; + public void setUrl(String url) { + this.url = url; } - public int getDirid() { - return dirid; + public String getTest() { + return test; } - public void setDirid(int dirid) { - this.dirid = dirid; + public void setTest(String test) { + this.test = test; } - public String getDirName() { - return dirName; + public String getProxy() { + return proxy; } - public void setDirName(String dirName) { - this.dirName = dirName; - } - - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; + public void setProxy(String proxy) { + this.proxy = proxy; } public String getDescr() { @@ -136,6 +125,22 @@ this.descr = descr; } + public String getDepid() { + return depid; + } + + public void setDepid(String depid) { + this.depid = depid; + } + + public String getDirid() { + return dirid; + } + + public void setDirid(String dirid) { + this.dirid = dirid; + } + public String getImg() { return img; } @@ -144,20 +149,20 @@ this.img = img; } + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + public int getCreateUser() { return createUser; } public void setCreateUser(int createUser) { this.createUser = createUser; - } - - public String getCreateName() { - return createName; - } - - public void setCreateName(String createName) { - this.createName = createName; } public Timestamp getCreateTime() { @@ -176,14 +181,6 @@ this.updateUser = updateUser; } - public String getUpdateName() { - return updateName; - } - - public void setUpdateName(String updateName) { - this.updateName = updateName; - } - public Timestamp getUpdateTime() { return updateTime; } @@ -200,11 +197,19 @@ this.bak = bak; } - public String getFileGuid() { - return fileGuid; + public String getCreateName() { + return createName; } - public void setFileGuid(String fileGuid) { - this.fileGuid = fileGuid; + public void setCreateName(String createName) { + this.createName = createName; + } + + public String getUpdateName() { + return updateName; + } + + public void setUpdateName(String updateName) { + this.updateName = updateName; } } diff --git a/src/main/java/com/moon/server/interceptor/AuthInterceptor.java b/src/main/java/com/moon/server/interceptor/AuthInterceptor.java index d583207..f959f0f 100644 --- a/src/main/java/com/moon/server/interceptor/AuthInterceptor.java +++ b/src/main/java/com/moon/server/interceptor/AuthInterceptor.java @@ -29,19 +29,19 @@ private static final Log log = LogFactory.getLog(AuthInterceptor.class); - private static final String NO_TOKEN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.TOKEN_ERROR, "鎵句笉鍒颁护鐗�")); + public static final String NO_TOKEN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.TOKEN_ERROR, "鎵句笉鍒颁护鐗�")); - private static final String NO_LOGIN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NO_LOGIN_ERROR, "鐢ㄦ埛鏈櫥褰�")); + public static final String NO_LOGIN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NO_LOGIN_ERROR, "鐢ㄦ埛鏈櫥褰�")); - private static final String USER_LOCK = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.USER_LOCK_ERROR, "鐢ㄦ埛ID宸茬鐢�")); + public static final String USER_LOCK = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.USER_LOCK_ERROR, "鐢ㄦ埛ID宸茬鐢�")); - private static final String NO_AUTH = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NO_AUTH_ERROR, "鏃犳潈闄愯闂�")); + public static final String NO_AUTH = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NO_AUTH_ERROR, "鏃犳潈闄愯闂�")); - private static final String IP_NULL = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "IP鍦板潃涓虹┖")); + public static final String IP_NULL = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "IP鍦板潃涓虹┖")); - private static final String BLACK_LIST = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "璇P鍏ラ粦鍚嶅崟")); + public static final String BLACK_LIST = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "璇P鍏ラ粦鍚嶅崟")); - private static final String ILLEGAL_TOKEN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "浠ょ墝鏉ユ簮闈炴硶")); + public static final String ILLEGAL_TOKEN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "浠ょ墝鏉ユ簮闈炴硶")); public AuthInterceptor(SysService sysService) { this.sysService = sysService; @@ -65,7 +65,7 @@ return WebHelper.writeStr2Page(response, NO_TOKEN); } - // 3.鑾峰彇鐢ㄦ埛浠ょ墝 + // 3.鑾峰彇鐢ㄦ埛 UserEntity ue = sysService.tokenService.getCurrentUser(request); if (ue == null) { return WebHelper.writeStr2Page(response, NO_LOGIN); diff --git a/src/main/java/com/moon/server/interceptor/ProxyFilter.java b/src/main/java/com/moon/server/interceptor/ProxyFilter.java index d620fc3..5b14606 100644 --- a/src/main/java/com/moon/server/interceptor/ProxyFilter.java +++ b/src/main/java/com/moon/server/interceptor/ProxyFilter.java @@ -1,7 +1,18 @@ package com.moon.server.interceptor; +import com.moon.server.entity.all.StaticData; +import com.moon.server.entity.sys.TokenEntity; +import com.moon.server.entity.sys.UserEntity; +import com.moon.server.helper.StringHelper; +import com.moon.server.helper.WebHelper; +import com.moon.server.service.all.SysService; + +import javax.annotation.Resource; import javax.servlet.*; import javax.servlet.annotation.WebFilter; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 浠g悊杩囨护鍣� @@ -10,16 +21,106 @@ */ @WebFilter(urlPatterns = {"/proxy/*"}) public class ProxyFilter implements Filter { + @Resource + private SysService sysService; + @Override public void init(FilterConfig filterConfig) { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) { - // + HttpServletRequest req = (HttpServletRequest) request; + HttpServletResponse res = (HttpServletResponse) response; + if (!check(req, res)) { + return; + } + + int i = 0; } @Override public void destroy() { } + + private boolean check(HttpServletRequest req, HttpServletResponse res) { + // 2.鑾峰彇浠ょ墝 + String token = WebHelper.getToken(req); + if (StringHelper.isNull(token)) { + return WebHelper.writeStr2Page(res, AuthInterceptor.NO_TOKEN); + } + + // 3.鑾峰彇鐢ㄦ埛 + UserEntity ue = sysService.tokenService.getCurrentUser(req); + if (ue == null) { + return WebHelper.writeStr2Page(res, AuthInterceptor.NO_LOGIN); + } + + // 4.鑾峰彇IP + String ip = WebHelper.getIpAddress(req); + if (StringHelper.isEmpty(ip)) { + return WebHelper.writeStr2Page(res, AuthInterceptor.IP_NULL); + } + + // 5.妫�鏌ラ粦鍚嶅崟 + if (!checkBlackList(ip, req)) { + return WebHelper.writeStr2Page(res, AuthInterceptor.BLACK_LIST); + } + + // 6.admin璺宠繃鏉冮檺妫�娴� + if (StaticData.ADMIN.equals(ue.getUid())) { + return true; + } + + // 7.妫�鏌ョ櫧鍚嶅崟 + if (!checkWhiteList(ip, req)) { + // 妫�鏌P涓�鑷存�� + if (!checkIpSource(ip, token)) { + return WebHelper.writeStr2Page(res, AuthInterceptor.ILLEGAL_TOKEN); + } + } + + // 8.妫�鏌ョ敤鎴稩D鏄惁绂佺敤 + if (sysService.tokenService.isUidDisable(ue)) { + return WebHelper.writeStr2Page(res, AuthInterceptor.USER_LOCK); + } + + return true; + } + + /** + * 妫�鏌ラ粦鍚嶅崟 + */ + private boolean checkBlackList(String ip, HttpServletRequest request) { + List<String> blackList = sysService.blacklistService.selectIpList(1); + if (blackList == null || blackList.isEmpty()) { + return true; + } + if (blackList.contains(ip)) { + return false; + } + + return true; + } + + /** + * 妫�鏌ョ櫧鍚嶅崟 + */ + private boolean checkWhiteList(String ip, HttpServletRequest request) { + List<String> whiteList = sysService.blacklistService.selectIpList(2); + if (whiteList == null || whiteList.isEmpty()) { + return false; + } + + return whiteList.contains(ip); + } + + /** + * 妫�鏌P涓�鑷存�� + */ + private boolean checkIpSource(String ip, String token) { + TokenEntity te = sysService.tokenService.getEntityByToken(token); + + return te.getIp().equals(ip); + } } diff --git a/src/main/java/com/moon/server/mapper/sys/ResMapper.java b/src/main/java/com/moon/server/mapper/sys/ResMapper.java index 7a5861b..ae4c5e3 100644 --- a/src/main/java/com/moon/server/mapper/sys/ResMapper.java +++ b/src/main/java/com/moon/server/mapper/sys/ResMapper.java @@ -2,22 +2,21 @@ import com.moon.server.entity.sys.ResEntity; import org.apache.ibatis.annotations.Mapper; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.stereotype.Repository; import java.util.List; /** - * 璧勬簮琛� - * @author sws - * @date 2022-09-28 + * 璧勬簮 + * @author WWW */ @Mapper -@ResponseBody +@Repository public interface ResMapper { /** * 鏌ヨ璁板綍鏁� * - * @param name 琛ㄥ悕 + * @param name 鍚嶇О * @return 璁板綍鏁� */ public Integer selectCount(String name); @@ -25,12 +24,27 @@ /** * 鍒嗛〉鏌ヨ * - * @param name 琛ㄥ悕 + * @param name 鍚嶇О * @param limit 璁板綍鏁� * @param offset 鍋忕Щ閲� * @return 鍒楄〃 */ public List<ResEntity> selectByPage(String name, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<ResEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public ResEntity selectById(int id); /** * 鏍规嵁瑙掕壊鏌ヨ璁板綍鏁� @@ -53,10 +67,10 @@ /** * 鎻掑叆涓�鏉� * - * @param resEntity + * @param entity * @return */ - public Integer insertRes(ResEntity resEntity); + public Integer insert(ResEntity entity); /** * 鎻掑叆澶氭潯 @@ -64,7 +78,7 @@ * @param list * @return */ - public Integer insertRess(List<ResEntity> list); + public Integer inserts(List<ResEntity> list); /** * 鍒犻櫎涓�鏉� @@ -72,7 +86,7 @@ * @param id * @return */ - public Integer deleteRes(int id); + public Integer delete(int id); /** * 鍒犻櫎澶氭潯 @@ -80,31 +94,21 @@ * @param ids * @return */ - public Integer deleteRess(List<Integer> ids); + public Integer deletes(List<Integer> ids); /** * 鏇存柊涓�鏉� * - * @param resEntity + * @param entity * @return */ - public Integer updateRes(ResEntity resEntity); + public Integer update(ResEntity entity); /** - * 鏌ヨ鍗曟潯鏁版嵁 + * 鏇存柊澶氭潯 * - * @param id + * @param list * @return */ - public ResEntity selectRes(int id); - - /** - * 鏌ヨ鎵�鏈� - * - * @return - */ - public List<ResEntity> selectResAll(); - - - + public Integer updates(List<ResEntity> list); } diff --git a/src/main/java/com/moon/server/service/sys/ResService.java b/src/main/java/com/moon/server/service/sys/ResService.java index e6cf0e7..a885396 100644 --- a/src/main/java/com/moon/server/service/sys/ResService.java +++ b/src/main/java/com/moon/server/service/sys/ResService.java @@ -9,9 +9,8 @@ import java.util.List; /** - * 浠ょ墝琛� - * @author sws - * @date 2022-09-28 + * 璧勬簮 + * @author WWW */ @Service public class ResService implements ResMapper { @@ -33,6 +32,16 @@ } @Override + public List<ResEntity> selectAll() { + return resMapper.selectAll(); + } + + @Override + public ResEntity selectById(int id) { + return resMapper.selectById(id); + } + + @Override public Integer selectCountForRole(Integer roleid) { return resMapper.selectCountForRole(roleid); } @@ -43,38 +52,32 @@ } @Override - public Integer insertRes(ResEntity resEntity) { - return resMapper.insertRes(resEntity); + public Integer insert(ResEntity entity) { + return resMapper.insert(entity); } @Override - public Integer insertRess(List<ResEntity> resEntity) { - return resMapper.insertRess(resEntity); + public Integer inserts(List<ResEntity> list) { + return resMapper.inserts(list); } @Override - public Integer deleteRes(int id) { - return resMapper.deleteRes(id); + public Integer delete(int id) { + return resMapper.delete(id); } @Override - public Integer deleteRess(List<Integer> ids) { - return resMapper.deleteRess(ids); + public Integer deletes(List<Integer> ids) { + return resMapper.deletes(ids); } @Override - public Integer updateRes(ResEntity resEntity) { - return resMapper.updateRes(resEntity); + public Integer update(ResEntity entity) { + return resMapper.update(entity); } @Override - public ResEntity selectRes(int id) { - return resMapper.selectRes(id); + public Integer updates(List<ResEntity> list) { + return resMapper.updates(list); } - - @Override - public List<ResEntity> selectResAll() { - return resMapper.selectResAll(); - } - } diff --git a/src/main/resources/mapper/sys/ResMapper.xml b/src/main/resources/mapper/sys/ResMapper.xml index c111b38..3b117e4 100644 --- a/src/main/resources/mapper/sys/ResMapper.xml +++ b/src/main/resources/mapper/sys/ResMapper.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.moon.server.mapper.sys.ResMapper"> <select id="selectCount" resultType="java.lang.Integer"> select count(*) from lf.sys_res @@ -11,7 +11,7 @@ </select> <select id="selectByPage" resultType="com.moon.server.entity.sys.ResEntity"> - select a.*,fn_rec_query(a.depid, 'dep') depName,fn_rec_query(a.dirid, 'dir') dirName,fn_uname(a.create_user) createName,fn_uname(a.update_user) updateName from lf.sys_res a + select a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName from lf.sys_res a <where> <if test="name != null"> upper(a.name) like #{name} @@ -19,6 +19,14 @@ </where> order by a.id desc limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.moon.server.entity.sys.ResEntity"> + select * from lf.sys_res order by id desc; + </select> + + <select id="selectById" resultType="com.moon.server.entity.sys.ResEntity"> + select * from lf.sys_res where id = #{id} </select> <select id="selectCountForRole" resultType="java.lang.Integer"> @@ -45,48 +53,44 @@ limit #{limit} offset #{offset} </select> - <select id="selectResAll" resultType="com.moon.server.entity.sys.ResEntity"> - select * from lf.sys_res order by id desc - </select> - - <select id="selectRes" resultType="com.moon.server.entity.sys.ResEntity"> - select * from lf.sys_res where id = #{id} - </select> - - <insert id="insertRes" parameterType="com.moon.server.entity.data.DictEntity"> - insert into lf.sys_res - (name,server,source,depid,dirid,code,descr,img,create_user,create_time,bak) - values - (#{name},#{server},#{source},#{depid},#{dirid},#{code},#{descr},#{img},#{createUser},now(),#{bak}); + <insert id="insert" parameterType="com.moon.server.entity.sys.ResEntity"> + insert into lf.sys_res + (name,type,status,manufacturer,url,test,proxy,descr,depid,dirid,img,guid,create_user,create_time,bak) + values + (#{name},#{type},#{status},#{manufacturer},#{url},#{test},#{proxy},#{descr},#{depid},#{dirid},#{img},#{guid},#{createUser},now(),#{bak}) </insert> - <insert id="insertRess"> - insert into lf.sys_res - (name,server,source,depid,dirid,code,descr,img,create_user,create_time,bak) - values + <insert id="inserts"> + insert into lf.sys_res + (name,type,status,manufacturer,url,test,proxy,descr,depid,dirid,img,guid,create_user,create_time,bak) + values <foreach collection="list" item="item" index="index" separator=","> - #{item.name},#{item.server},#{item.source},#{item.depid},#{item.dirid},#{item.code},#{item.descr},#{item.img},#{item.createUser},now(),#{item.bak}) + (#{item.name},#{item.type},#{item.status},#{item.manufacturer},#{item.url},#{item.test},#{item.proxy},#{item.descr},#{item.depid},#{item.dirid},#{item.img},#{item.guid},#{item.createUser},now(),#{item.bak}) </foreach> </insert> - <delete id="deleteRes"> - delete from lf.sys_role_res where resid = #{id}; - delete from lf.sys_res where id = #{id}; + <delete id="delete"> + delete from lf.sys_res where id = #{id} </delete> - <delete id="deleteRess"> - delete from lf.sys_role_res where resid in - <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> - #{id} - </foreach>; + <delete id="deletes"> delete from lf.sys_res where id in <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> #{id} - </foreach>; + </foreach> </delete> - <update id="updateRes"> - update lf.sys_res set name=#{name},server=#{server},source=#{source},depid=#{depid},dirid=#{dirid},code=#{code},descr=#{descr},img=#{img}, - update_user=#{updateUser},update_time=now(),bak=#{bak} where id=#{id} + <update id="update"> + update lf.sys_res + set name=#{name},type=#{type},status=#{status},manufacturer=#{manufacturer},url=#{url},test=#{test},proxy=#{proxy},descr=#{descr},depid=#{depid},dirid=#{dirid},img=#{img},guid=#{guid},update_user=#{updateUser},update_time=now(),bak=#{bak} + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_res + set name=#{item.name},type=#{item.type},status=#{item.status},manufacturer=#{item.manufacturer},url=#{item.url},test=#{item.test},proxy=#{item.proxy},descr=#{item.descr},depid=#{item.depid},dirid=#{item.dirid},img=#{item.img},guid=#{item.guid},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak} + where id = #{item.id} + </foreach> </update> </mapper> \ No newline at end of file -- Gitblit v1.9.3