From ee5523cd6069b5b8f0e4b97c2f06fafa30b699b6 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Wed, 22 Jan 2025 15:36:37 +0800 Subject: [PATCH] 01/22 --- .../apiadmin/OrganizationAppKeyRest.java | 63 +++++++++++++ .../OrganizationAppKey.java | 17 ++++ .../OrganizationAppKeyDto.java | 15 +++ .../OrganizationAppKeyMapper.java | 21 +++++ .../OrganizationAppKeyMapper.xml | 16 ++++ .../OrganizationAppKeyQuery.java | 14 +++ .../OrganizationAppKeyService.java | 91 +++++++++++++++++++ .../OrganizationAppKeyVo.java | 21 +++++ 8 files changed, 258 insertions(+) create mode 100644 src/main/java/com/yxt/portal/apiadmin/OrganizationAppKeyRest.java create mode 100644 src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKey.java create mode 100644 src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyDto.java create mode 100644 src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyMapper.java create mode 100644 src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyMapper.xml create mode 100644 src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyQuery.java create mode 100644 src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyService.java create mode 100644 src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyVo.java diff --git a/src/main/java/com/yxt/portal/apiadmin/OrganizationAppKeyRest.java b/src/main/java/com/yxt/portal/apiadmin/OrganizationAppKeyRest.java new file mode 100644 index 0000000..4558353 --- /dev/null +++ b/src/main/java/com/yxt/portal/apiadmin/OrganizationAppKeyRest.java @@ -0,0 +1,63 @@ +package com.yxt.portal.apiadmin; + +import cn.hutool.crypto.digest.MD5; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.portal.biz.organizationappkey.*; +import com.yxt.portal.biz.region.RegionChildTwoVo; +import com.yxt.portal.biz.sysmenu.SysMenuQuery; +import com.yxt.portal.biz.sysmenu.SysMenuVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2025/1/21 10:42 + */ +@Api(tags = "申请组织appkey") +@RestController +@RequestMapping("apiadmin/organizationappkey") +public class OrganizationAppKeyRest { + + @Autowired + OrganizationAppKeyService organizationAppKeyService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = organizationAppKeyService.listPageVo(pq); + return rb.success().setData(pv); + } + /** + * 申请appkey + * + * @return 申请appkey + */ + @ApiOperation("申请appkey") + @ResponseBody + @PostMapping("/saveAppKey") + public ResultBean saveAppKey(@RequestBody OrganizationAppKeyDto dto) { + return organizationAppKeyService.saveAppKey(dto); + } + @ApiOperation("根据组织查询appeky") + @ResponseBody + @GetMapping("/initialization/{orgSid}") + public ResultBean initialization(@PathVariable("orgSid") String orgSid) { + return organizationAppKeyService.getAppkeyByOrgSid(orgSid); + } + @ApiOperation("校验是否存在") + @ResponseBody + @GetMapping("/checkByAppKey/{appKey}") + public ResultBean checkByAppKey(@PathVariable("appKey") String appKey) { + return organizationAppKeyService.checkByAppKey(appKey); + } + + +} diff --git a/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKey.java b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKey.java new file mode 100644 index 0000000..8f9f177 --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKey.java @@ -0,0 +1,17 @@ +package com.yxt.portal.biz.organizationappkey; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2025/1/21 11:19 + */ +@Data +@TableName("organization_appkey") +public class OrganizationAppKey extends BaseEntity { + private String orgSid; + private String appKey; + private String secret; +} diff --git a/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyDto.java b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyDto.java new file mode 100644 index 0000000..ff11a3f --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyDto.java @@ -0,0 +1,15 @@ +package com.yxt.portal.biz.organizationappkey; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2025/1/21 11:19 + */ +@Data +public class OrganizationAppKeyDto { + private String orgSid; + private String appKey; + private String secret; + private String state; +} diff --git a/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyMapper.java b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyMapper.java new file mode 100644 index 0000000..988df54 --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyMapper.java @@ -0,0 +1,21 @@ +package com.yxt.portal.biz.organizationappkey; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.portal.biz.sysauthorizegroup.SysAuthorizeGroup; +import com.yxt.portal.biz.sysauthorizegroup.SysAuthorizeGroupVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2025/1/21 11:19 + */ +@Mapper +public interface OrganizationAppKeyMapper extends BaseMapper { + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + +} diff --git a/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyMapper.xml b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyMapper.xml new file mode 100644 index 0000000..f74a353 --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyQuery.java b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyQuery.java new file mode 100644 index 0000000..4462318 --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyQuery.java @@ -0,0 +1,14 @@ +package com.yxt.portal.biz.organizationappkey; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2025/1/21 14:53 + */ +@Data +public class OrganizationAppKeyQuery implements Query { + private String state; + private String orgName; +} diff --git a/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyService.java b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyService.java new file mode 100644 index 0000000..a22619f --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyService.java @@ -0,0 +1,91 @@ +package com.yxt.portal.biz.organizationappkey; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.portal.biz.sysauthorizegroup.SysAuthorizeGroup; +import com.yxt.portal.biz.sysauthorizegroup.SysAuthorizeGroupMapper; +import com.yxt.portal.biz.sysmenu.SysMenu; +import com.yxt.portal.biz.sysmenu.SysMenuQuery; +import com.yxt.portal.biz.sysmenu.SysMenuVo; +import com.yxt.portal.biz.sysorgregister.SysOrgRegister; +import com.yxt.portal.biz.sysorgregister.SysOrgRegisterService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; + +/** + * @author wangpengfei + * @date 2025/1/21 11:19 + */ +@Service +public class OrganizationAppKeyService extends MybatisBaseService { + @Autowired + SysOrgRegisterService sysOrgRegisterService; + + + private QueryWrapper createQueryWrapper(OrganizationAppKeyQuery query) { + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getOrgName())) { + qw.like("b.name",query.getOrgName()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + OrganizationAppKeyQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean saveAppKey(OrganizationAppKeyDto dto){ + ResultBean rb= new ResultBean().fail(); + List orgSid = sysOrgRegisterService.list(new QueryWrapper().eq("orgSid", dto.getOrgSid())); + if(orgSid.stream().filter(s->s.getRegType().equals("1")).collect(Collectors.toList()).size()==orgSid.size()){ + return rb.setMsg("请先购买正式版本"); + } + if(orgSid.stream().filter(s->s.getExpireDate().compareTo(new Date())==-1).collect(Collectors.toList()).size()==orgSid.size()){ + return rb.setMsg("正式已过有效期"); + } + OrganizationAppKey organiz = baseMapper.selectOne(new QueryWrapper().eq("orgSid", orgSid.get(0).getOrgSid())); + if(organiz!=null){ + return rb.setMsg("此组织已申请过appkey"); + } + OrganizationAppKey organizationAppKey=new OrganizationAppKey(); + BeanUtil.copyProperties(dto,organizationAppKey); + organizationAppKey.setAppKey(organizationAppKey.getSid().substring(organizationAppKey.getSid().length()-10)); + organizationAppKey.setSecret(organizationAppKey.getSid().substring(0,8)); + organizationAppKey.setState(1); + baseMapper.insert(organizationAppKey); + return new ResultBean().success().setMsg("成功"); + } + + public static void main(String[] args) { + Date date = new Date("2025-08-10 00:00:00"); + System.out.println(date); + + } + public ResultBean getAppkeyByOrgSid(String orgSid){ + OrganizationAppKey organizationAppKey = baseMapper.selectOne(new QueryWrapper().eq("orgSid", orgSid)); + return new ResultBean().success().setData(organizationAppKey); + } + public ResultBean checkByAppKey(String appKey){ + OrganizationAppKey organizationAppKey = baseMapper.selectOne(new QueryWrapper().eq("appKey", appKey)); + return new ResultBean().success().setData(organizationAppKey); + } + +} diff --git a/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyVo.java b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyVo.java new file mode 100644 index 0000000..402b7c2 --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/organizationappkey/OrganizationAppKeyVo.java @@ -0,0 +1,21 @@ +package com.yxt.portal.biz.organizationappkey; + +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2025/1/21 11:19 + */ +@Data +public class OrganizationAppKeyVo { + private String orgSid; + private String appKey; + private String secret; + private String state; + private String stateValue; + private String orgName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private String createTime; +}