From d4720be89f077a91f2c59d4bd97a66f1c2340ea7 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Mon, 29 Jan 2024 09:12:20 +0800 Subject: [PATCH] =?UTF-8?q?2024=2001=2029=20=E9=A6=96=E6=AC=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AccessSiteController.java | 50 +++++++++++++++++++ .../modules/factory/dao/AccessSiteMapper.java | 24 +++++++++ .../modules/factory/entity/AccessSite.java | 27 ++++++++++ .../entity/vo/AccessSiteAuthorize.java | 28 +++++++++++ .../factory/service/AccessSiteService.java | 30 +++++++++++ .../service/impl/AccessSiteServiceImpl.java | 39 +++++++++++++++ 6 files changed, 198 insertions(+) create mode 100644 src/main/java/com/jianteng/modules/factory/controller/AccessSiteController.java create mode 100644 src/main/java/com/jianteng/modules/factory/dao/AccessSiteMapper.java create mode 100644 src/main/java/com/jianteng/modules/factory/entity/AccessSite.java create mode 100644 src/main/java/com/jianteng/modules/factory/entity/vo/AccessSiteAuthorize.java create mode 100644 src/main/java/com/jianteng/modules/factory/service/AccessSiteService.java create mode 100644 src/main/java/com/jianteng/modules/factory/service/impl/AccessSiteServiceImpl.java diff --git a/src/main/java/com/jianteng/modules/factory/controller/AccessSiteController.java b/src/main/java/com/jianteng/modules/factory/controller/AccessSiteController.java new file mode 100644 index 0000000..7ff74e3 --- /dev/null +++ b/src/main/java/com/jianteng/modules/factory/controller/AccessSiteController.java @@ -0,0 +1,50 @@ +package com.jianteng.modules.factory.controller; + + +import com.jianteng.common.utils.R; +import com.jianteng.modules.factory.entity.AccessSite; +import com.jianteng.modules.factory.entity.vo.AccessSiteAuthorize; +import com.jianteng.modules.factory.service.AccessSiteService; +import com.jianteng.modules.sys.controller.AbstractController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RequestMapping("accessSite") +@RestController +public class AccessSiteController extends AbstractController { + + @Autowired + private AccessSiteService accessSiteService; + + /** + * @Author SXM + * @Description 获取用户授权工厂 + * @Date 14:16 2022/5/27 + * @Param [accessSite] + * @return com.spring.common.utils.R + **/ + @PostMapping("list") + public R getUserAccessSiteList(@RequestBody AccessSite accessSite){ + List siteVoList = accessSiteService.getUserAccessSiteList(accessSite); + return R.ok().put("dataList",siteVoList); + } + + /** + * @Author SXM + * @Description 保存用户授权工厂 + * @Date 14:16 2022/5/27 + * @Param [accessSiteList] + * @return com.spring.common.utils.R + **/ + @PostMapping("saveUserAccessSiteList") + public R saveUserAccessSiteList(@RequestBody AccessSiteAuthorize accessSiteAuthorize){ + accessSiteService.saveUserAccessSiteList(accessSiteAuthorize); + return R.ok(); + } + +} diff --git a/src/main/java/com/jianteng/modules/factory/dao/AccessSiteMapper.java b/src/main/java/com/jianteng/modules/factory/dao/AccessSiteMapper.java new file mode 100644 index 0000000..fb94f81 --- /dev/null +++ b/src/main/java/com/jianteng/modules/factory/dao/AccessSiteMapper.java @@ -0,0 +1,24 @@ +package com.jianteng.modules.factory.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jianteng.modules.base.entity.AccessSiteData; +import com.jianteng.modules.factory.entity.AccessSite; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface AccessSiteMapper extends BaseMapper { + /** + * @Description 检查权限 + * @Title checkAccessSite + * @param site +  * @param username + * @author rq + * @date 2022/11/1 16:53 + * @return List + * @throw + */ + List checkAccessSite(@Param("site") String site, @Param("username") String username); +} diff --git a/src/main/java/com/jianteng/modules/factory/entity/AccessSite.java b/src/main/java/com/jianteng/modules/factory/entity/AccessSite.java new file mode 100644 index 0000000..a433392 --- /dev/null +++ b/src/main/java/com/jianteng/modules/factory/entity/AccessSite.java @@ -0,0 +1,27 @@ +package com.jianteng.modules.factory.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +@TableName("access_site") +public class AccessSite { + + private String userId; + + private String site; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } +} diff --git a/src/main/java/com/jianteng/modules/factory/entity/vo/AccessSiteAuthorize.java b/src/main/java/com/jianteng/modules/factory/entity/vo/AccessSiteAuthorize.java new file mode 100644 index 0000000..792c7e5 --- /dev/null +++ b/src/main/java/com/jianteng/modules/factory/entity/vo/AccessSiteAuthorize.java @@ -0,0 +1,28 @@ +package com.jianteng.modules.factory.entity.vo; + + + +import com.jianteng.modules.factory.entity.AccessSite; + +import java.util.List; + +public class AccessSiteAuthorize { + private String userid; + private List accessSiteList; + + public String getUserid() { + return userid; + } + + public void setUserid(String userid) { + this.userid = userid; + } + + public List getAccessSiteList() { + return accessSiteList; + } + + public void setAccessSiteList(List accessSiteList) { + this.accessSiteList = accessSiteList; + } +} diff --git a/src/main/java/com/jianteng/modules/factory/service/AccessSiteService.java b/src/main/java/com/jianteng/modules/factory/service/AccessSiteService.java new file mode 100644 index 0000000..e85582e --- /dev/null +++ b/src/main/java/com/jianteng/modules/factory/service/AccessSiteService.java @@ -0,0 +1,30 @@ +package com.jianteng.modules.factory.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.jianteng.modules.factory.entity.AccessSite; +import com.jianteng.modules.factory.entity.vo.AccessSiteAuthorize; + +import java.util.List; + +public interface AccessSiteService extends IService { + + + /** + * @Author SXM + * @Description 获取用户授权工厂 + * @Date 14:16 2022/5/27 + * @Param [accessSite] + * @return com.spring.common.utils.R + **/ + List getUserAccessSiteList(AccessSite accessSite); + + /** + * @Author SXM + * @Description 保存用户授权工厂 + * @Date 14:16 2022/5/27 + * @Param [AccessSiteAuthorize] + * @return com.spring.common.utils.R + **/ + void saveUserAccessSiteList(AccessSiteAuthorize accessSiteAuthorize); +} diff --git a/src/main/java/com/jianteng/modules/factory/service/impl/AccessSiteServiceImpl.java b/src/main/java/com/jianteng/modules/factory/service/impl/AccessSiteServiceImpl.java new file mode 100644 index 0000000..60f87f4 --- /dev/null +++ b/src/main/java/com/jianteng/modules/factory/service/impl/AccessSiteServiceImpl.java @@ -0,0 +1,39 @@ +package com.jianteng.modules.factory.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jianteng.modules.factory.dao.AccessSiteMapper; +import com.jianteng.modules.factory.entity.AccessSite; +import com.jianteng.modules.factory.entity.vo.AccessSiteAuthorize; +import com.jianteng.modules.factory.service.AccessSiteService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class AccessSiteServiceImpl extends ServiceImpl implements AccessSiteService { + + @Override + public List getUserAccessSiteList(AccessSite accessSite) { + // 获取用户已授权的 工厂编号 (只返回site) + List siteList = lambdaQuery().eq(AccessSite::getUserId, accessSite.getUserId()) + .list().stream().map(item -> { + return item.getSite(); + }).collect(Collectors.toList()); + return siteList; + } + + @Override + @Transactional + public void saveUserAccessSiteList(AccessSiteAuthorize accessSiteAuthorize) { + + // 删除用户授权工厂 + lambdaUpdate().eq(AccessSite::getUserId,accessSiteAuthorize.getUserid()) + .remove(); + // 插入用户授权工厂 + for (AccessSite accessSite : accessSiteAuthorize.getAccessSiteList()) { + save(accessSite); + } + } +}