Compare commits

...

13 Commits

Author SHA1 Message Date
xijue
ec16b3dd8d 简化 2025-08-28 11:49:43 +08:00
MMS
03e404ab51 配置查询优化 2025-08-26 01:27:42 +08:00
MMS
35f2af3131 首页接口 2025-08-26 01:07:47 +08:00
MMS
d6dbcdc7b7 首页接口 2025-08-26 00:41:03 +08:00
MMS
a30152797e 优化doc 2025-08-26 00:34:36 +08:00
xijue
e2cd5a05ce 首页信息 2025-08-25 17:06:56 +08:00
xijue
5b9708a199 演示模式 2025-08-25 13:20:59 +08:00
xijue
b45d9e892a 清理多余的包 2025-08-25 10:44:14 +08:00
xijue
7df50a2d1c 验证码开启升级 2025-08-25 09:41:03 +08:00
xijue
684039cc20 简化 2025-08-25 08:25:05 +08:00
MMS
04cfe055ec 优化 SysSign 2025-08-25 01:04:16 +08:00
MMS
57fdb22006 新增:Dockerfile 2025-08-24 22:43:00 +08:00
MMS
0868c5ceaf 优化powerjob配置 2025-08-24 22:20:41 +08:00
81 changed files with 1246 additions and 760 deletions

View File

@ -81,6 +81,7 @@ public class AuthController extends BaseController {
* @return 退出结果
*/
@Operation(summary = "退出登录", description = "退出当前登录会话")
@SaIgnore
@PostMapping("/logout")
public R<String> logout() {
loginService.logout();

View File

@ -3,7 +3,7 @@ package com.sxpcwlkj.system.controller;
import cn.dev33.satoken.annotation.SaIgnore;
import com.sxpcwlkj.common.code.controller.BaseController;
import com.sxpcwlkj.common.code.entity.CaptchaEntity;
import com.sxpcwlkj.common.properties.MsProperties;
import com.sxpcwlkj.common.properties.MmsAdminProperties;
import com.sxpcwlkj.common.utils.DataUtil;
import com.sxpcwlkj.common.utils.R;
import com.sxpcwlkj.system.service.CaptchaService;
@ -35,7 +35,7 @@ import java.util.Map;
public class CaptchaController extends BaseController {
private final SysTenantService sysTenantService;
private final CaptchaService captchaService;
private final MsProperties msProperties;
private final MmsAdminProperties msProperties;
/**
* 系统配置

View File

@ -1,14 +1,5 @@
package com.sxpcwlkj.system.controller;
import com.sxpcwlkj.common.code.entity.WxCodeBo;
import com.sxpcwlkj.common.constant.Constants;
import com.sxpcwlkj.common.enums.DeviceEnum;
import com.sxpcwlkj.common.enums.WxCodeStatusEnum;
import com.sxpcwlkj.common.utils.MapstructUtil;
import com.sxpcwlkj.framework.sercice.SysSignService;
import com.sxpcwlkj.redis.constant.RedisConstant;
import com.sxpcwlkj.system.entity.SysUser;
import com.sxpcwlkj.system.service.SysLoginService;
import com.sxpcwlkj.wx.service.WxCodeService;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.convert.Convert;
@ -16,26 +7,36 @@ import cn.hutool.core.util.RandomUtil;
import com.sxpcwlkj.authority.LoginObject;
import com.sxpcwlkj.common.code.controller.BaseController;
import com.sxpcwlkj.common.code.entity.ConfigEntity;
import com.sxpcwlkj.common.code.entity.WxCodeBo;
import com.sxpcwlkj.common.constant.Constants;
import com.sxpcwlkj.common.enums.ConfigKeyNum;
import com.sxpcwlkj.common.enums.DeviceEnum;
import com.sxpcwlkj.common.enums.SystemCommonEnum;
import com.sxpcwlkj.common.enums.WxCodeStatusEnum;
import com.sxpcwlkj.common.exception.MmsException;
import com.sxpcwlkj.common.properties.DemoModeProperties;
import com.sxpcwlkj.common.utils.DataUtil;
import com.sxpcwlkj.common.utils.IPUtil;
import com.sxpcwlkj.common.utils.MapstructUtil;
import com.sxpcwlkj.common.utils.R;
import com.sxpcwlkj.email.service.EmailService;
import com.sxpcwlkj.common.utils.IPUtil;
import com.sxpcwlkj.framework.sercice.SysSignService;
import com.sxpcwlkj.redis.RedisUtil;
import com.sxpcwlkj.redis.constant.RedisConstant;
import com.sxpcwlkj.sms.service.SmsService;
import com.sxpcwlkj.system.entity.AdminMenuTree;
import com.sxpcwlkj.system.entity.SysUser;
import com.sxpcwlkj.system.entity.bo.EmailBo;
import com.sxpcwlkj.system.entity.bo.SmsBo;
import com.sxpcwlkj.system.entity.vo.SysUserVo;
import com.sxpcwlkj.system.service.SysDictService;
import com.sxpcwlkj.system.service.SysLoginService;
import com.sxpcwlkj.system.service.SysUserService;
import com.sxpcwlkj.wx.service.WxCodeService;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.*;
@ -62,6 +63,7 @@ public class CommonController extends BaseController {
private final SysDictService sysDictService;
private final WxCodeService wxCodeService;
private final SysSignService sysSignService;
private final DemoModeProperties demoModeProperties;
@Value("${server.port}")
private String port;
@ -105,7 +107,9 @@ public class CommonController extends BaseController {
}
});
map.put("demoMode",demoModeProperties.isEnabled());
map.put("demoAccount",demoModeProperties.isEnabled()?"mms":"");
map.put("demoPassword",demoModeProperties.isEnabled()?"123456":"");
return R.success("base system config.",map);
}

View File

@ -7,17 +7,21 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.sxpcwlkj.authority.LoginObject;
import com.sxpcwlkj.common.code.controller.BaseController;
import com.sxpcwlkj.common.properties.MmsAdminProperties;
import com.sxpcwlkj.common.utils.R;
import com.sxpcwlkj.system.entity.vo.SysConfigVo;
import com.sxpcwlkj.system.entity.vo.SysFunctionVo;
import com.sxpcwlkj.system.service.SysConfigService;
import com.sxpcwlkj.system.service.SysFunctionService;
import com.sxpcwlkj.system.service.SysNoticeService;
import com.sxpcwlkj.system.service.SysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 首页控制台
@ -30,6 +34,34 @@ import java.util.Map;
@RequestMapping("system/home")
public class HomeController extends BaseController {
private final SysUserService sysUserService;
private final SysFunctionService functionService;
private final SysConfigService configService;
private final MmsAdminProperties mmsAdminProperties;
private final SysNoticeService sysNoticeService;
/**
* 控制台默认数据
* @return 数据
*/
@SaCheckLogin
@GetMapping("/homeInit")
public R<Object> homeInit(){
Map<String,Object> map=new HashMap<>();
map.put("userName",sysUserService.selectVoById(LoginObject.getLoginId()).getUserName());
int week = DateUtil.dayOfWeek(new Date());
map.put("week",week==1?"星期日":week==2?"星期一":week==3?"星期二":week==4?"星期三":week==5?"星期四":week==6?"星期五":"星期六");
List<SysFunctionVo> fastList= functionService.selectIsFast(9);
map.put("fastList",fastList);
List<SysConfigVo> eventList = configService.selectEventList(12);
map.put("eventList",eventList);
map.put("systemInfo",mmsAdminProperties);
map.put("userTool",sysUserService.selectTool());
map.put("newsTool",sysNoticeService.selectTool());
map.put("task","0/0");
return R.success(map);
}
/**
* 会员类别
*/

View File

@ -3,15 +3,15 @@ package com.sxpcwlkj.system.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.sxpcwlkj.common.annotation.MssSafety;
import com.sxpcwlkj.common.code.controller.BaseController;
import com.sxpcwlkj.common.code.entity.PrintObject;
import com.sxpcwlkj.common.code.entity.ThreeQueryBo;
import com.sxpcwlkj.common.utils.MapstructUtil;
import com.sxpcwlkj.common.utils.R;
import com.sxpcwlkj.common.code.entity.PrintObject;
import com.sxpcwlkj.framework.config.ValidatedGroupConfig;
import com.sxpcwlkj.framework.utils.ExcelUtil;
import com.sxpcwlkj.common.code.entity.ThreeQueryBo;
import com.sxpcwlkj.system.entity.bo.SysDeptBo;
import com.sxpcwlkj.system.entity.vo.SysDeptVo;
import com.sxpcwlkj.system.entity.export.SysDeptExport;
import com.sxpcwlkj.system.entity.vo.SysDeptVo;
import com.sxpcwlkj.system.service.SysDeptService;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;

View File

@ -4,7 +4,6 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import com.sxpcwlkj.common.annotation.MssSafety;
import com.sxpcwlkj.common.code.controller.BaseController;
import com.sxpcwlkj.common.utils.R;
import com.sxpcwlkj.datasource.entity.page.PageQuery;
import com.sxpcwlkj.datasource.entity.page.TableDataInfo;
import com.sxpcwlkj.framework.config.ValidatedGroupConfig;
import com.sxpcwlkj.system.entity.bo.SysDictBo;

View File

@ -3,15 +3,15 @@ package com.sxpcwlkj.system.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.sxpcwlkj.common.annotation.MssSafety;
import com.sxpcwlkj.common.code.controller.BaseController;
import com.sxpcwlkj.common.code.entity.PrintObject;
import com.sxpcwlkj.common.utils.MapstructUtil;
import com.sxpcwlkj.common.utils.R;
import com.sxpcwlkj.common.code.entity.PrintObject;
import com.sxpcwlkj.datasource.entity.page.TableDataInfo;
import com.sxpcwlkj.framework.config.ValidatedGroupConfig;
import com.sxpcwlkj.framework.utils.ExcelUtil;
import com.sxpcwlkj.system.entity.bo.SysNoticeBo;
import com.sxpcwlkj.system.entity.vo.SysNoticeVo;
import com.sxpcwlkj.system.entity.export.SysNoticeExport;
import com.sxpcwlkj.system.entity.vo.SysNoticeVo;
import com.sxpcwlkj.system.service.SysNoticeService;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;

View File

@ -31,7 +31,10 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
/**
* 系统用户

View File

@ -1,13 +1,12 @@
package com.sxpcwlkj.system.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sxpcwlkj.datasource.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.baomidou.mybatisplus.annotation.*;
import com.sxpcwlkj.datasource.entity.BaseEntity;
import java.util.Date;
/**
* 系统部门

View File

@ -94,4 +94,8 @@ public class SysFunction extends BaseEntity {
* 是否总是显示
*/
private Integer alwaysShow;
/**
* 是否快捷菜单
*/
private Integer isFast;
}

View File

@ -1,14 +1,12 @@
package com.sxpcwlkj.system.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sxpcwlkj.datasource.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.baomidou.mybatisplus.annotation.*;
import com.sxpcwlkj.datasource.entity.BaseEntity;
import java.util.Date;
/**
* 系统公告

View File

@ -2,7 +2,6 @@ package com.sxpcwlkj.system.entity.bo;
import com.sxpcwlkj.framework.config.ValidatedGroupConfig;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

View File

@ -1,15 +1,16 @@
package com.sxpcwlkj.system.entity.bo;
import java.io.Serial;
import com.sxpcwlkj.datasource.entity.BaseEntity;
import com.sxpcwlkj.framework.config.ValidatedGroupConfig;
import com.sxpcwlkj.system.entity.SysDept;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import io.github.linpeilie.annotations.AutoMapper;
import com.sxpcwlkj.system.entity.SysDept;
import java.util.Date;
import com.sxpcwlkj.datasource.entity.BaseEntity;
import java.io.Serial;
/**
* 系统部门Bo

View File

@ -97,6 +97,12 @@ public class SysFunctionBo extends BaseEntity {
* 是否总是显示
*/
private Integer alwaysShow;
/**
* 级别
*/
private Integer level=0;
/**
* 是否快捷菜单
*/
private Integer isFast;
}

View File

@ -1,13 +1,14 @@
package com.sxpcwlkj.system.entity.bo;
import java.io.Serial;
import com.sxpcwlkj.datasource.entity.BaseEntity;
import com.sxpcwlkj.system.entity.SysNotice;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import io.github.linpeilie.annotations.AutoMapper;
import com.sxpcwlkj.system.entity.SysNotice;
import java.util.Date;
import com.sxpcwlkj.datasource.entity.BaseEntity;
import java.io.Serial;
/**
* 系统公告Bo

View File

@ -1,14 +1,14 @@
package com.sxpcwlkj.system.entity.export;
import java.io.Serial;
import com.alibaba.excel.annotation.ExcelProperty;
import com.sxpcwlkj.framework.entity.BaseEntityVo;
import com.sxpcwlkj.system.entity.SysDept;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.github.linpeilie.annotations.AutoMapper;
import com.sxpcwlkj.system.entity.SysDept;
import com.sxpcwlkj.framework.entity.BaseEntityVo;
import com.alibaba.excel.annotation.ExcelProperty;
import java.util.Date;
import java.io.Serial;
/**
* 系统部门Export

View File

@ -1,14 +1,14 @@
package com.sxpcwlkj.system.entity.export;
import java.io.Serial;
import com.alibaba.excel.annotation.ExcelProperty;
import com.sxpcwlkj.framework.entity.BaseEntityVo;
import com.sxpcwlkj.system.entity.SysNotice;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.github.linpeilie.annotations.AutoMapper;
import com.sxpcwlkj.system.entity.SysNotice;
import com.sxpcwlkj.framework.entity.BaseEntityVo;
import com.alibaba.excel.annotation.ExcelProperty;
import java.util.Date;
import java.io.Serial;
/**
* 系统公告Export

View File

@ -1,15 +1,15 @@
package com.sxpcwlkj.system.entity.vo;
import java.io.Serial;
import com.alibaba.excel.annotation.ExcelProperty;
import com.sxpcwlkj.framework.entity.BaseEntityVo;
import com.sxpcwlkj.system.entity.SysDept;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.github.linpeilie.annotations.AutoMapper;
import com.sxpcwlkj.system.entity.SysDept;
import com.sxpcwlkj.framework.entity.BaseEntityVo;
import com.alibaba.excel.annotation.ExcelProperty;
import java.io.Serial;
import java.util.List;
import java.util.Date;
/**
* 系统部门Vo

View File

@ -91,7 +91,10 @@ public class SysFunctionVo {
* 是否总是显示
*/
private Integer alwaysShow;
/**
* 是否快捷菜单
*/
private Integer isFast;
private String revision;

View File

@ -1,15 +1,14 @@
package com.sxpcwlkj.system.entity.vo;
import java.io.Serial;
import com.alibaba.excel.annotation.ExcelProperty;
import com.sxpcwlkj.framework.entity.BaseEntityVo;
import com.sxpcwlkj.system.entity.SysNotice;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.github.linpeilie.annotations.AutoMapper;
import com.sxpcwlkj.system.entity.SysNotice;
import com.sxpcwlkj.framework.entity.BaseEntityVo;
import com.alibaba.excel.annotation.ExcelProperty;
import java.util.List;
import java.util.Date;
import java.io.Serial;
/**
* 系统公告Vo

View File

@ -1,7 +1,7 @@
package com.sxpcwlkj.system.entity.vo;
import com.sxpcwlkj.common.properties.MsProperties;
import com.sxpcwlkj.common.properties.MmsAdminProperties;
import lombok.Data;
@ -23,7 +23,7 @@ public class SysTenantVo {
*/
private String name;
private MsProperties properties;
private MmsAdminProperties properties;
private String revision;
}

View File

@ -27,4 +27,11 @@ public interface SysConfigService extends BaseService<SysConfig, SysConfigVo, Sy
Boolean initEmail();
Boolean initWx();
/**
* 查询项目列表
* @param size 数量
* @return 数据
*/
List<SysConfigVo> selectEventList(int size);
}

View File

@ -3,8 +3,9 @@ package com.sxpcwlkj.system.service;
import com.sxpcwlkj.framework.sercice.BaseService;
import com.sxpcwlkj.system.entity.SysDept;
import com.sxpcwlkj.system.entity.bo.SysDeptBo;
import com.sxpcwlkj.system.entity.vo.SysDeptVo;
import com.sxpcwlkj.system.entity.export.SysDeptExport;
import com.sxpcwlkj.system.entity.vo.SysDeptVo;
import java.util.List;
import java.util.Set;

View File

@ -45,4 +45,10 @@ public interface SysFunctionService {
List<AdminMenuTree> getAllMenuTree();
/**
* 快捷菜单
* @param size 查询数量
* @return 数据
*/
List<SysFunctionVo> selectIsFast(int size);
}

View File

@ -3,9 +3,9 @@ package com.sxpcwlkj.system.service;
import com.sxpcwlkj.framework.sercice.BaseService;
import com.sxpcwlkj.system.entity.SysNotice;
import com.sxpcwlkj.system.entity.bo.SysNoticeBo;
import com.sxpcwlkj.system.entity.vo.SysNoticeVo;
import com.sxpcwlkj.system.entity.export.SysNoticeExport;
import java.util.List;
import com.sxpcwlkj.system.entity.vo.SysNoticeVo;
import java.util.Set;
/**
@ -22,4 +22,6 @@ public interface SysNoticeService extends BaseService<SysNotice, SysNoticeVo, Sy
* @return true成功 false 失败
*/
Boolean imports(Set<SysNoticeExport> list);
Long selectTool();
}

View File

@ -182,4 +182,6 @@ public interface SysUserService {
* @return true成功 false 失败
*/
boolean bindingOpenId(String openId);
Long selectTool();
}

View File

@ -9,6 +9,7 @@ import com.sxpcwlkj.common.code.entity.CaptchaEntity;
import com.sxpcwlkj.common.code.entity.ConfigEntity;
import com.sxpcwlkj.common.constant.Constants;
import com.sxpcwlkj.common.enums.ConfigKeyNum;
import com.sxpcwlkj.common.enums.SystemCommonEnum;
import com.sxpcwlkj.common.properties.CaptchaProperties;
import com.sxpcwlkj.common.utils.DataUtil;
import com.sxpcwlkj.redis.RedisUtil;
@ -22,6 +23,7 @@ import java.time.Duration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicBoolean;
@Slf4j
@ -45,12 +47,12 @@ public class CaptchaServiceImpl implements CaptchaService {
}
convert.forEach(smsConfigEntity -> {
if("sys_base_captcha_state".equals(smsConfigEntity.getConfigKey())){
if(Convert.toInt(smsConfigEntity.getConfigValue()) == 1){
if(Objects.equals(Convert.toInt(smsConfigEntity.getConfigValue()), SystemCommonEnum.SYS_COMMON_STATE_OPEN.getValue())){
isOpen.set(true);
}
}
});
if (!captchaProperties.isStatus()||!isOpen.get()) {
if (!isOpen.get()) {
data.put(CaptchaEntity.CODE.CAPTCHA_MSG.getValue(), "系统验证码未开启!");
return data;
}

View File

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sxpcwlkj.common.code.entity.ConfigEntity;
import com.sxpcwlkj.common.constant.CacheConstants;
import com.sxpcwlkj.common.enums.ConfigKeyNum;
import com.sxpcwlkj.common.enums.SystemCommonEnum;
import com.sxpcwlkj.common.exception.MmsException;
@ -139,7 +138,14 @@ public class SysConfigServiceImpl extends BaseServiceImpl<SysConfig, SysConfigVo
LambdaQueryWrapper<SysConfig> wrapper = Wrappers.lambdaQuery();
wrapper.like(StringUtil.isNotEmpty(query.getConfigName()), SysConfig::getConfigName, query.getConfigName());
wrapper.eq(StringUtil.isNotEmpty(query.getConfigKey()), SysConfig::getConfigKey, query.getConfigKey());
wrapper.eq(StringUtil.isNotEmpty(query.getConfigType()), SysConfig::getConfigType, query.getConfigType());
if(StringUtil.isNotEmpty(query.getConfigType())&&query.getConfigType()==2){
//查询 configType=2 自定义 or configType=3 项目
wrapper.or().eq(SysConfig::getConfigType,2);
wrapper.or().eq(SysConfig::getConfigType,3);
}else {
wrapper.eq(StringUtil.isNotEmpty(query.getConfigType()), SysConfig::getConfigType, query.getConfigType());
}
wrapper.eq(StringUtil.isNotEmpty(query.getStatus()), SysConfig::getStatus, query.getStatus());
return wrapper;
}
@ -254,4 +260,12 @@ public class SysConfigServiceImpl extends BaseServiceImpl<SysConfig, SysConfigVo
RedisUtil.expire(ConfigKeyNum.config_wx.getKey(), Duration.ofDays(99999999));
return true;
}
@Override
public List<SysConfigVo> selectEventList(int size) {
return baseMapper.selectVoList(new LambdaQueryWrapper<SysConfig>()
.eq(SysConfig::getConfigType,3)
.last("LIMIT "+size)
);
}
}

View File

@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sxpcwlkj.common.enums.SystemCommonEnum;
import com.sxpcwlkj.common.utils.MapstructUtil;
import com.sxpcwlkj.common.utils.DataUtil;
import com.sxpcwlkj.common.utils.MapstructUtil;
import com.sxpcwlkj.common.utils.StringUtil;
import com.sxpcwlkj.datasource.entity.page.PageQuery;
import com.sxpcwlkj.datasource.entity.page.TableDataInfo;
@ -13,19 +13,20 @@ import com.sxpcwlkj.datasource.mapper.BaseMapperPlus;
import com.sxpcwlkj.framework.sercice.impl.BaseServiceImpl;
import com.sxpcwlkj.system.entity.SysDept;
import com.sxpcwlkj.system.entity.bo.SysDeptBo;
import com.sxpcwlkj.system.entity.vo.SysDeptVo;
import com.sxpcwlkj.system.entity.export.SysDeptExport;
import com.sxpcwlkj.system.entity.vo.SysDeptVo;
import com.sxpcwlkj.system.mapper.SysDeptMapper;
import com.sxpcwlkj.system.service.SysDeptService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.Set;
import java.util.ArrayList;
import java.util.List;
import java.util.Collections;
import java.util.List;
import java.util.Set;
/**
* 系统部门-接口实现
*

View File

@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sxpcwlkj.common.constant.CacheConstants;
import com.sxpcwlkj.common.enums.SystemCommonEnum;
import com.sxpcwlkj.common.utils.MapstructUtil;
import com.sxpcwlkj.datasource.entity.page.PageQuery;
import com.sxpcwlkj.datasource.entity.page.TableDataInfo;

View File

@ -17,9 +17,7 @@ import org.springframework.stereotype.Service;
import java.util.*;
/**
* @Description TODO
* @Author sxpcwlkj
* @Version v1.0.0
* 系统菜单
*/
@RequiredArgsConstructor
@Service("sysFunction")
@ -86,6 +84,15 @@ public class SysFunctionServiceImpl implements SysFunctionService {
return getAdminMenuTree(functionVos, "0");
}
@Override
public List<SysFunctionVo> selectIsFast(int size) {
return baseMapper.selectVoList(new LambdaQueryWrapper<SysFunction>()
.eq(SysFunction::getIsFast, 1)
.ne(SysFunction::getComponent,"")
.last("LIMIT "+size)
);
}
/**
* 资源格式化
*

View File

@ -13,7 +13,6 @@ import com.sxpcwlkj.common.utils.IPUtil;
import com.sxpcwlkj.common.utils.StringUtil;
import com.sxpcwlkj.framework.utils.SignUtil;
import com.sxpcwlkj.redis.RedisUtil;
import com.sxpcwlkj.redis.constant.RedisConstant;
import com.sxpcwlkj.system.entity.SysTenant;
import com.sxpcwlkj.system.entity.SysUser;
import com.sxpcwlkj.system.entity.bo.LoginBodyBo;
@ -27,7 +26,6 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.time.Duration;
import java.util.Date;
import java.util.Map;

View File

@ -3,9 +3,8 @@ package com.sxpcwlkj.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sxpcwlkj.common.enums.SystemCommonEnum;
import com.sxpcwlkj.common.utils.MapstructUtil;
import com.sxpcwlkj.common.utils.DataUtil;
import com.sxpcwlkj.common.utils.MapstructUtil;
import com.sxpcwlkj.common.utils.StringUtil;
import com.sxpcwlkj.datasource.entity.page.PageQuery;
import com.sxpcwlkj.datasource.entity.page.TableDataInfo;
@ -13,19 +12,19 @@ import com.sxpcwlkj.datasource.mapper.BaseMapperPlus;
import com.sxpcwlkj.framework.sercice.impl.BaseServiceImpl;
import com.sxpcwlkj.system.entity.SysNotice;
import com.sxpcwlkj.system.entity.bo.SysNoticeBo;
import com.sxpcwlkj.system.entity.vo.SysNoticeVo;
import com.sxpcwlkj.system.entity.export.SysNoticeExport;
import com.sxpcwlkj.system.entity.vo.SysNoticeVo;
import com.sxpcwlkj.system.mapper.SysNoticeMapper;
import com.sxpcwlkj.system.service.SysNoticeService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.Set;
import java.util.ArrayList;
import java.util.List;
import java.util.Collections;
import java.util.Set;
/**
* 系统公告-接口实现
*
@ -96,4 +95,9 @@ public class SysNoticeServiceImpl extends BaseServiceImpl<SysNotice, SysNoticeVo
public Boolean imports(Set<SysNoticeExport> list) {
return true;
}
@Override
public Long selectTool() {
return baseMapper.selectCount(new LambdaQueryWrapper<SysNotice>().eq(SysNotice::getStatus,0));
}
}

View File

@ -30,7 +30,6 @@ import java.io.Serializable;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**

View File

@ -25,7 +25,10 @@ import com.sxpcwlkj.system.entity.bo.ResetPwdSuperBo;
import com.sxpcwlkj.system.entity.bo.SetUserRoleSuperBo;
import com.sxpcwlkj.system.entity.bo.SysUserBo;
import com.sxpcwlkj.system.entity.export.SysUserExportVo;
import com.sxpcwlkj.system.entity.vo.*;
import com.sxpcwlkj.system.entity.vo.SysDeptVo;
import com.sxpcwlkj.system.entity.vo.SysFunctionVo;
import com.sxpcwlkj.system.entity.vo.SysRoleVo;
import com.sxpcwlkj.system.entity.vo.SysUserVo;
import com.sxpcwlkj.system.mapper.*;
import com.sxpcwlkj.system.service.SysDeptService;
import com.sxpcwlkj.system.service.SysUserService;
@ -442,6 +445,11 @@ public class SysUserServiceImpl implements SysUserService {
return baseMapper.update(null, new LambdaUpdateWrapper<SysUser>().set(SysUser::getWxOpenid, openId).eq(SysUser::getUserId, LoginObject.getLoginId())) > 0;
}
@Override
public Long selectTool() {
return baseMapper.selectCount(new LambdaQueryWrapper<SysUser>().eq(SysUser::getStatus, 0));
}
@Override
public List<AdminMenuTree> getAdminMenuTree(String userId) {

View File

@ -1,8 +1,3 @@
--- # 项目基础信息
sxpcwlkj:
# 开启验证码: true开启 false 关闭
isOpenCaptcha: false
--- # powerjob 配置
powerjob:
worker:
@ -10,7 +5,6 @@ powerjob:
enabled: false
# 需要先在 powerjob 登录页执行应用注册后才能使用
app-name: mms
enable-test-mode: false
max-appended-wf-context-length: 4096
max-result-length: 4096
# 28080 端口 随着主应用端口飘逸 避免集群冲突
@ -44,42 +38,45 @@ spring:
primary: master
# 严格模式 匹配不到数据源则报错
strict: true
public-key: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJssgtfcBfc+d8Et0FBGQRBonRRQBD8jB1UHTRbk3diOliGlec9lJxbGR/qp7Jp8uYozCr96lvpnIIJM59fNoeUCAwEAAQ==
# 账号密码
datasource:
# 主库数据源
master:
type: ${spring.datasource.type}
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
username: root
password: 123456
# 从库数据源
slave:
lazy: true
type: ${spring.datasource.type}
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
username: root
password: 123456
# oracle:
# type: ${spring.datasource.type}
# driverClassName: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@//localhost:1521/XE
# username: ROOT
# password: root
# hikari:
# connectionTestQuery: SELECT 1 FROM DUAL
# postgres:
# type: ${spring.datasource.type}
# driverClassName: org.postgresql.Driver
# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
# username: root
# password: root
# sqlserver:
# type: ${spring.datasource.type}
# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
# username: SA
# password: root
url: jdbc:mysql://119.28.10.247:3306/mms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
username: mms
# 由GeneratePassword.java 生成, public-key 和 password 要匹配
password: ENC(c6FYwkk1dtKxfAcOED4g4mAgzCoK6XTr6+VTXVfQYly9I02yiND8aK5vTeYJ+oJCGH4beQyZLl9H2kt1ZCXqJg==)
# # 从库数据源
# slave:
# lazy: true
# type: ${spring.datasource.type}
# driverClassName: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://localhost:3306/mms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
# username: root
# password: 123456
# oracle:
# type: ${spring.datasource.type}
# driverClassName: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@//localhost:1521/XE
# username: ROOT
# password: root
# hikari:
# connectionTestQuery: SELECT 1 FROM DUAL
# postgres:
# type: ${spring.datasource.type}
# driverClassName: org.postgresql.Driver
# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
# username: root
# password: root
# sqlserver:
# type: ${spring.datasource.type}
# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
# username: SA
# password: root
hikari:
# 最大连接池数量
maxPoolSize: 20

View File

@ -1,8 +1,3 @@
--- # 项目基础信息
sxpcwlkj:
# 开启验证码: true开启 false 关闭
isOpenCaptcha: false
--- # powerjob 配置
powerjob:
worker:
@ -10,7 +5,6 @@ powerjob:
enabled: false
# 需要先在 powerjob 登录页执行应用注册后才能使用
app-name: mms
enable-test-mode: false
max-appended-wf-context-length: 4096
max-result-length: 4096
# 28080 端口 随着主应用端口飘逸 避免集群冲突
@ -44,8 +38,7 @@ spring:
primary: master
# 严格模式 匹配不到数据源则报错
strict: true
# 账号加密,公钥
# 账号密码
datasource:
# 主库数据源
master:

View File

@ -1,8 +1,3 @@
--- # 项目基础信息
sxpcwlkj:
# 开启验证码: true开启 false 关闭
isOpenCaptcha: true
--- # powerjob 配置
powerjob:
worker:
@ -10,7 +5,6 @@ powerjob:
enabled: false
# 需要先在 powerjob 登录页执行应用注册后才能使用
app-name: mms
enable-test-mode: false
max-appended-wf-context-length: 4096
max-result-length: 4096
# 28080 端口 随着主应用端口飘逸 避免集群冲突

View File

@ -12,8 +12,6 @@ sxpcwlkj:
copyrightYear: 2018
# 机构团队
organization: 陕西品创网络
# 开启验证码: true开启 false 关闭
isOpenCaptcha: false
# 演示模式配置
demo:
@ -23,12 +21,11 @@ demo:
allowed-users: # 白名单用户
- admin
allowed-methods:
- initSign
- updateIpById
--- # 验证码配置
captcha:
# 是否开启验证码: true 开启 false 关闭
status: true
# 页面 <参数设置> 可开启关闭 验证码校验
# 线段干扰 LINE 圆圈干扰 CIRCLE 扭曲干扰 SHEAR 计算题型 CALCULATE
type: LINE

View File

@ -133,24 +133,19 @@
</template>
//ModuleName ${tableComment}
<script setup lang="ts" name="${moduleName}${FunctionName}Dialog">
import { reactive, ref, nextTick } from "vue";
import { CURDEnum } from '/@/enums/CURDEnum';
import {${FunctionName}Bo,${FunctionName}Vo } from '/@/views/${moduleName}/${functionName}/type';
import {nextTick, reactive, ref} from "vue";
import {CURDEnum} from '/@/enums/CURDEnum';
import {${FunctionName}Bo, ${FunctionName}Vo} from '/@/views/';
const dialogWidth = ref('50vw');
<#list fastList as field>
<#if field == 'editor'>
dialogWidth.value = '75vw';
import FastEditor from "/@/components/fast-editor/src/fast-editor.vue";
<#elseif field == 'select'>
import FastSelect from "/@/components/fast-select/src/fast-select.vue";
<#elseif field == 'file'>
import FastFile from "/@/components/fast-upload/file.vue";
<#elseif field == 'image'>
import FastImg from "/@/components/fast-upload/img.vue";
<#elseif field == 'images'>
import FastImgs from "/@/components/fast-upload/imgs.vue";
<#elseif field == 'radio'>
import FastSwitch from "/@/components/fast-switch/src/fast-switch.vue";
</#if>
</#list>
// 定义子组件向父组件传值/事件

View File

@ -184,18 +184,16 @@
</template>
//ModuleName ${tableComment}
<script setup lang="ts" name="${moduleName}${FunctionName}">
import { defineAsyncComponent, reactive, onMounted, ref } from "vue";
import { ElMessageBox, ElMessage } from "element-plus";
import { CURDEnum } from "/@/enums/CURDEnum";
import { isEmpty, generateUUID } from "/@/utils/mms";
import {defineAsyncComponent, onMounted, reactive, ref} from "vue";
import {ElMessage, ElMessageBox} from "element-plus";
import {CURDEnum} from "/@/enums/CURDEnum";
import {generateUUID, isEmpty} from "/@/utils/mms";
import {NextLoading} from "/@/utils/loading";
import FastSelect from "/@/components/fast-select/src/fast-select.vue";
import {${functionName}Api} from '/@/views/${moduleName}/${functionName}';
import {${FunctionName}Bo,${FunctionName}Vo } from '/@/views/${moduleName}/${functionName}/type';
import {${functionName}Api, ${FunctionName}Bo, ${FunctionName}Vo} from '/@/views/';
const baseApi = ${functionName}Api();
<#list formList as field>
<#if field.formDict??>
import FastTableColumn from "/@/components/fast-table-column";
<#break>
</#if>
</#list>

View File

@ -1,24 +1,16 @@
package com.sxpcwlkj.ai.service;
import cn.hutool.core.util.IdUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.sxpcwlkj.ai.type.AIProvider;
import com.sxpcwlkj.ai.utils.DequeUtil;
import com.sxpcwlkj.ai.utils.FileParserUtil;
import com.sxpcwlkj.common.utils.DataUtil;
import com.sxpcwlkj.common.utils.IPUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import okhttp3.*;
import okhttp3.sse.EventSource;
import okhttp3.sse.EventSourceListener;
import okhttp3.sse.EventSources;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

View File

@ -1,6 +1,5 @@
package com.sxpcwlkj.ai.type;
import com.sxpcwlkj.common.enums.DeviceEnum;
import com.sxpcwlkj.common.utils.StringUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;

View File

@ -9,7 +9,6 @@ import org.springframework.web.multipart.MultipartFile;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Set;

View File

@ -20,7 +20,6 @@ import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.time.Duration;
import java.util.Objects;
/**

View File

@ -1,7 +1,6 @@
package com.sxpcwlkj.common.code.entity;
import cn.hutool.json.JSONUtil;
import com.sxpcwlkj.common.enums.SystemCommonEnum;
import com.sxpcwlkj.common.enums.WxCodeStatusEnum;
import lombok.Data;
import lombok.Getter;

View File

@ -14,12 +14,6 @@ import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "captcha")
public class CaptchaProperties {
/**
* 是否开启验证码
*/
private boolean status;
/**
* 验证码类型
*/

View File

@ -3,6 +3,7 @@ package com.sxpcwlkj.common.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Set;
/**
* @author mmsAdmin

View File

@ -13,7 +13,7 @@ import org.springframework.stereotype.Component;
@Data
@Component
@ConfigurationProperties(prefix = "sxpcwlkj")
public class MsProperties {
public class MmsAdminProperties {
/**
* 名称
*/
@ -34,7 +34,11 @@ public class MsProperties {
*/
private String organization;
/**
* 是否开启验证码
* 版本
*/
private Boolean isOpenCaptcha;
private String version;
/**
* 描述
*/
private String describe;
}

View File

@ -92,6 +92,8 @@ public class SpringDocProperties {
*/
private String version = null;
}
}

View File

@ -1,7 +1,6 @@
package com.sxpcwlkj.common.utils;
import com.baomidou.mybatisplus.annotation.IEnum;
import lombok.Getter;
/**
* 计算密码强度

View File

@ -3,7 +3,6 @@ package com.sxpcwlkj.common.utils;
import cn.hutool.core.convert.Convert;
import cn.hutool.extra.servlet.JakartaServletUtil;
import cn.hutool.http.HttpStatus;
import com.sxpcwlkj.common.utils.StringUtil;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@ -22,7 +21,6 @@ import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* web服务工具

View File

@ -1,6 +1,8 @@
package com.sxpcwlkj.datasource.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.Version;
import com.sxpcwlkj.datasource.entity.page.PageQuery;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
import com.sxpcwlkj.authority.LoginObject;
import com.sxpcwlkj.common.exception.DemoModeException;
import com.sxpcwlkj.common.properties.DemoModeProperties;
import lombok.RequiredArgsConstructor;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.SqlCommandType;
@ -17,10 +16,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* @author mmsAdmin
*/

View File

@ -1,9 +1,6 @@
package com.sxpcwlkj.demo.controller;
import lombok.RequiredArgsConstructor;
import org.dromara.sms4j.api.SmsBlend;
import org.dromara.sms4j.api.entity.SmsResponse;
import org.dromara.sms4j.core.factory.SmsFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

View File

@ -6,16 +6,13 @@ import com.sxpcwlkj.common.enums.ConfigKeyNum;
import com.sxpcwlkj.redis.RedisUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.email.jakarta.api.MailClient;
import org.dromara.email.jakarta.comm.config.MailSmtpConfig;
import org.dromara.email.jakarta.core.factory.MailFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.context.event.EventListener;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
/**
* JavaMail 配置

View File

@ -1,7 +1,6 @@
package com.sxpcwlkj.email.config;
import lombok.Data;
import org.springframework.stereotype.Component;
/**
* JavaMail 配置属性

View File

@ -1,15 +1,12 @@
package com.sxpcwlkj.framework.controller;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.lang.Console;
import com.sxpcwlkj.common.annotation.RateLimit;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
/**
* 系统框架

View File

@ -1,12 +1,6 @@
package com.sxpcwlkj.framework.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.Version;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sxpcwlkj.common.annotation.IgnoreSign;
import com.sxpcwlkj.common.utils.DateUtil;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -7,17 +7,12 @@ import com.alibaba.ttl.TransmittableThreadLocal;
import com.sxpcwlkj.common.utils.JsonUtil;
import com.sxpcwlkj.common.utils.SpringUtil;
import com.sxpcwlkj.common.utils.StringUtil;
import com.sxpcwlkj.common.properties.DemoModeProperties;
import com.sxpcwlkj.datasource.handler.DemoModeContextHolder;
import com.sxpcwlkj.datasource.handler.DemoModeInterceptor;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.StopWatch;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
@ -26,7 +21,6 @@ import org.springframework.web.servlet.ModelAndView;
import java.io.BufferedReader;
import java.lang.reflect.Method;
import java.util.Map;
import java.util.Objects;
/**
* @author mmsAdmin

View File

@ -4,7 +4,6 @@ package com.sxpcwlkj.framework.handler;
import com.sxpcwlkj.common.properties.WebThymeleafProperties;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.autoconfigure.web.WebProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;

View File

@ -2,6 +2,7 @@ package com.sxpcwlkj.framework.mapper;
import com.sxpcwlkj.datasource.mapper.BaseMapperPlus;
import com.sxpcwlkj.framework.entity.SysSign;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@ -13,4 +14,6 @@ import org.springframework.stereotype.Repository;
@Repository
public interface SysSignMapper extends BaseMapperPlus<SysSign,SysSign> {
@Insert("insert into sys_sign(id,user_id,app_id,secret_key,public_key,private_key,time_out,created_time,created_by) values(#{id},#{userId},#{appId},#{secretKey},#{publicKey},#{privateKey},#{timeOut},#{createdTime},#{createdBy})")
int initSign(SysSign sysSign);
}

View File

@ -2,15 +2,16 @@ package com.sxpcwlkj.framework.sercice.impl;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.sxpcwlkj.authority.LoginObject;
import com.sxpcwlkj.common.constant.Constants;
import com.sxpcwlkj.common.exception.MmsException;
import com.sxpcwlkj.common.utils.CookieUtil;
import com.sxpcwlkj.common.utils.StringUtil;
import com.sxpcwlkj.framework.entity.SysSign;
import com.sxpcwlkj.framework.mapper.SysSignMapper;
import com.sxpcwlkj.framework.sercice.SysSignService;
import com.sxpcwlkj.common.utils.CookieUtil;
import com.sxpcwlkj.framework.utils.SignUtil;
import com.sxpcwlkj.redis.RedisUtil;
import com.sxpcwlkj.redis.constant.RedisConstant;
@ -53,11 +54,14 @@ public class SysSignServiceImpl implements SysSignService {
SysSign sysSign = getSign();
if(sysSign==null){
sysSign=new SysSign();
sysSign.setId(IdUtil.getSnowflakeNextId());
sysSign.setAppId(appid);
sysSign.setSecretKey(Objects.requireNonNull(SignUtil.getAesKey()).getSecretKey());
sysSign.setTimeOut(DateUtil.offset(new Date(), DateField.SECOND, timeOut));
sysSign.setUserId(LoginObject.getLoginId());
boolean flag = sysSignMapper.insert(sysSign)>0;
sysSign.setCreatedBy(LoginObject.isLogin()?Long.parseLong(Objects.requireNonNull(LoginObject.getLoginId())):0);
sysSign.setCreatedTime(new Date());
boolean flag = sysSignMapper.initSign(sysSign)>0;
if(flag){
RedisUtil.setCacheObject(RedisConstant.ENCRYPTION_APP_ID+LoginObject.getLoginId(), sysSign);
RedisUtil.expire(RedisConstant.ENCRYPTION_APP_ID+LoginObject.getLoginId(), Duration.ofSeconds(10));

View File

@ -1,6 +1,5 @@
package com.sxpcwlkj.gen.controller;
import cn.dev33.satoken.annotation.SaCheckRole;
import com.sxpcwlkj.common.utils.R;
import com.sxpcwlkj.datasource.entity.page.TableDataInfo;
import com.sxpcwlkj.gen.common.GenQueryBo;
@ -23,36 +22,36 @@ import java.util.List;
@AllArgsConstructor
public class BaseClassController {
private final BaseClassService baseClassService;
@SaCheckRole("super_admin")
@GetMapping("page")
public TableDataInfo<BaseClassEntity> page(GenQueryBo query) {
return baseClassService.page(query);
}
@SaCheckRole("super_admin")
@GetMapping("list")
public R<List<BaseClassEntity>> list() {
List<BaseClassEntity> list = baseClassService.getList();
return R.success(list);
}
@SaCheckRole("super_admin")
@GetMapping("{id}")
public R<BaseClassEntity> get(@PathVariable("id") Long id) {
BaseClassEntity data = baseClassService.getById(id);
return R.success(data);
}
@SaCheckRole("super_admin")
@PostMapping
public R<String> save(@RequestBody BaseClassEntity entity) {
baseClassService.save(entity);
return R.success();
}
@SaCheckRole("super_admin")
@PutMapping
public R<String> update(@RequestBody BaseClassEntity entity) {
baseClassService.updateById(entity);
return R.success();
}
@SaCheckRole("super_admin")
@DeleteMapping
public R<String> delete(@RequestBody Long[] ids) {
baseClassService.removeBatchByIds(Arrays.asList(ids));

View File

@ -1,6 +1,5 @@
package com.sxpcwlkj.gen.controller;
import cn.dev33.satoken.annotation.SaCheckRole;
import com.sxpcwlkj.common.utils.R;
import com.sxpcwlkj.datasource.entity.page.TableDataInfo;
import com.sxpcwlkj.gen.common.GenQueryBo;
@ -23,36 +22,36 @@ import java.util.Set;
@AllArgsConstructor
public class FieldTypeController {
private final FieldTypeService fieldTypeService;
@SaCheckRole("super_admin")
@GetMapping("page")
public TableDataInfo<FieldTypeEntity> page(GenQueryBo query) {
return fieldTypeService.page(query);
}
@SaCheckRole("super_admin")
@GetMapping("{id}")
public R<FieldTypeEntity> get(@PathVariable("id") Long id) {
FieldTypeEntity data = fieldTypeService.getById(id);
return R.success(data);
}
@SaCheckRole("super_admin")
@GetMapping("list")
public R<Set<String>> list() {
Set<String> set = fieldTypeService.getList();
return R.success(set);
}
@SaCheckRole("super_admin")
@PostMapping
public R<String> save(@RequestBody FieldTypeEntity entity) {
fieldTypeService.save(entity);
return R.success();
}
@SaCheckRole("super_admin")
@PutMapping
public R<String> update(@RequestBody FieldTypeEntity entity) {
fieldTypeService.updateById(entity);
return R.success();
}
@SaCheckRole("super_admin")
@DeleteMapping
public R<String> delete(@RequestBody Long[] ids) {
fieldTypeService.removeBatchByIds(Arrays.asList(ids));

View File

@ -1,6 +1,5 @@
package com.sxpcwlkj.gen.controller;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.hutool.core.io.IoUtil;
import com.sxpcwlkj.common.utils.R;
import com.sxpcwlkj.gen.entity.Preview;
@ -28,7 +27,7 @@ public class GeneratorController {
/**
* 生成代码zip压缩包
*/
@SaCheckRole("super_admin")
@PostMapping("download")
public void download(String tableIds, HttpServletResponse response) throws Exception {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
@ -54,7 +53,6 @@ public class GeneratorController {
/**
* 生成代码自定义目录
*/
@SaCheckRole("super_admin")
@ResponseBody
@PostMapping("code")
public R<String> code(@RequestBody Long[] tableIds) throws Exception {
@ -68,7 +66,6 @@ public class GeneratorController {
/**
* 预览代码
*/
@SaCheckRole("super_admin")
@GetMapping("/preview/{tableId}")
public R<List<Preview>> preview(@PathVariable("tableId") Long tableId) throws Exception {
List<Preview> results = generatorService.preview(tableId);

View File

@ -1,6 +1,5 @@
package com.sxpcwlkj.gen.controller;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.hutool.core.io.IoUtil;
import com.sxpcwlkj.common.utils.R;
import com.sxpcwlkj.datasource.entity.page.TableDataInfo;
@ -24,30 +23,30 @@ import java.util.List;
@AllArgsConstructor
public class ProjectModifyController {
private final ProjectModifyService projectModifyService;
@SaCheckRole("super_admin")
@GetMapping("page")
public TableDataInfo<ProjectModifyEntity> page(GenQueryBo query) {
return projectModifyService.page(query);
}
@SaCheckRole("super_admin")
@GetMapping("{id}")
public R<ProjectModifyEntity> get(@PathVariable("id") Long id) {
ProjectModifyEntity entity = projectModifyService.getById(id);
return R.success(entity);
}
@SaCheckRole("super_admin")
@PostMapping
public R<String> save(@RequestBody ProjectModifyEntity entity) {
projectModifyService.save(entity);
return R.success();
}
@SaCheckRole("super_admin")
@PutMapping
public R<String> update(@RequestBody ProjectModifyEntity entity) {
projectModifyService.updateById(entity);
return R.success();
}
@SaCheckRole("super_admin")
@DeleteMapping
public R<String> delete(@RequestBody List<Long> idList) {
projectModifyService.removeByIds(idList);
@ -57,7 +56,7 @@ public class ProjectModifyController {
/**
* 源码下载
*/
@SaCheckRole("super_admin")
@GetMapping("download/{id}")
public void download(@PathVariable("id") Long id, HttpServletResponse response) throws Exception {
// 项目信息

View File

@ -1,6 +1,5 @@
package com.sxpcwlkj.gen.controller;
import cn.dev33.satoken.annotation.SaCheckRole;
import com.sxpcwlkj.common.code.controller.BaseController;
import com.sxpcwlkj.common.enums.SystemCommonEnum;
import com.sxpcwlkj.common.utils.R;
@ -36,7 +35,6 @@ public class TableController extends BaseController {
*
* @param query 查询参数
*/
@SaCheckRole("super_admin")
@GetMapping("page")
public TableDataInfo<TableEntity> page(GenQueryBo query) {
return baseService.page(query);
@ -47,7 +45,6 @@ public class TableController extends BaseController {
*
* @param id 表ID
*/
@SaCheckRole("super_admin")
@GetMapping("{id}")
public R<TableEntity> get(@PathVariable("id") Long id) {
TableEntity table = baseService.selectVoById(id);
@ -63,7 +60,6 @@ public class TableController extends BaseController {
*
* @param table 表信息
*/
@SaCheckRole("super_admin")
@PutMapping
public R<String> update(@RequestBody TableEntity table) {
baseService.updateById(table);
@ -75,7 +71,6 @@ public class TableController extends BaseController {
*
* @param ids 表id数组
*/
@SaCheckRole("super_admin")
@DeleteMapping
public R<String> delete(@RequestBody Long[] ids) {
baseService.deleteBatchIds(ids);
@ -87,7 +82,6 @@ public class TableController extends BaseController {
*
* @param id 表ID
*/
@SaCheckRole("super_admin")
@PostMapping("sync/{id}")
public R<String> sync(@PathVariable("id") Long id) {
baseService.sync(id);
@ -100,7 +94,6 @@ public class TableController extends BaseController {
* @param datasourceId 数据源ID
* @param tableNameList 表名列表
*/
@SaCheckRole("super_admin")
@PostMapping("import/{datasourceId}")
public R<String> tableImport(@PathVariable("datasourceId") Long datasourceId, @RequestBody List<String> tableNameList) {
for (String tableName : tableNameList) {
@ -115,7 +108,6 @@ public class TableController extends BaseController {
* @param tableId 表ID
* @param tableFieldList 字段列表
*/
@SaCheckRole("super_admin")
@PutMapping("field/{tableId}")
public R<String> updateTableField(@PathVariable("tableId") Long tableId, @RequestBody List<TableFieldEntity> tableFieldList) {
tableFieldService.updateTableField(tableId, tableFieldList);

View File

@ -2,7 +2,6 @@ package com.sxpcwlkj.gen.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sxpcwlkj.gen.common.annotation.EncryptParameter;
import lombok.Data;
import java.util.Date;

View File

@ -1,9 +1,7 @@
package com.sxpcwlkj.gen.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sxpcwlkj.datasource.mapper.BaseMapperPlus;
import com.sxpcwlkj.gen.entity.TableEntity;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

View File

@ -19,7 +19,6 @@ import com.sxpcwlkj.gen.service.*;
import com.sxpcwlkj.gen.utils.TemplateUtils;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

View File

@ -1,6 +1,5 @@
package com.sxpcwlkj.gen.service.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.text.NamingCase;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@ -1,9 +1,5 @@
package com.sxpcwlkj.oss.service;
import com.sxpcwlkj.common.code.entity.FileStorageConfig;
import java.util.List;
/**
* @author mms
*/

View File

@ -1,7 +1,6 @@
package com.sxpcwlkj.sms.enums;
import com.baomidou.mybatisplus.annotation.IEnum;
import lombok.Getter;
/**
* 短信服务商

View File

@ -1,19 +1,6 @@
package com.sxpcwlkj.wx.config;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.WxMaConfig;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.service.WxPayService;
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
import io.swagger.v3.oas.models.security.SecurityScheme;
import lombok.Data;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**

View File

@ -142,12 +142,12 @@ public class WeChatController {
if (encType == null) {
// 明文传输的消息
WxMpXmlMessage inMessage = WxMpXmlMessage.fromXml(requestBody);
log.error("\n消息内容为:\n{} ", inMessage.toString());
log.error("\n微信公众号扫码后的回调消息内容为:\n{} ", inMessage.toString());
return wxCodeService.scanCallBack(inMessage);
} else if ("aes".equalsIgnoreCase(encType)) {
// aes加密的消息
WxMpXmlMessage inMessage = WxMpXmlMessage.fromEncryptedXml(requestBody, wxService.getWxMpService().getWxMpConfigStorage(), timestamp, nonce, msgSignature);
log.error("\n消息解密后内容为:\n{} ", inMessage.toString());
log.error("\n微信公众号扫码后的回调消息解密后内容为:\n{} ", inMessage.toString());
return wxCodeService.scanCallBack(inMessage);
}
return "";

View File

@ -4,7 +4,6 @@ import cn.binarywang.wx.miniapp.api.WxMaService;
import com.github.binarywang.wxpay.service.WxPayService;
import com.sxpcwlkj.wx.config.WxProperties;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
/**
* @author mmsAdmin

View File

@ -4,13 +4,12 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.sxpcwlkj.common.code.entity.WxCodeBo;
import com.sxpcwlkj.common.enums.WxCodeStatusEnum;
import com.sxpcwlkj.common.utils.DataUtil;
import com.sxpcwlkj.common.utils.R;
import com.sxpcwlkj.redis.RedisUtil;
import com.sxpcwlkj.redis.constant.RedisConstant;
import com.sxpcwlkj.wx.config.WxProperties;
import com.sxpcwlkj.common.code.entity.WxCodeBo;
import com.sxpcwlkj.wx.entity.WechatEventEnum;
import com.sxpcwlkj.wx.service.WxCodeService;
import com.sxpcwlkj.wx.service.WxService;
@ -25,7 +24,6 @@ import org.springframework.stereotype.Service;
import java.time.Duration;
import java.util.Date;
import java.util.Map;
/**
*

View File

@ -3,11 +3,9 @@ package com.sxpcwlkj.wx.service.impl;
import cn.hutool.extra.qrcode.QrCodeUtil;
import com.ijpay.core.enums.SignType;
import com.ijpay.core.enums.TradeType;
import com.ijpay.core.kit.QrCodeKit;
import com.ijpay.core.kit.WxPayKit;
import com.ijpay.wxpay.WxPayApi;
import com.ijpay.wxpay.WxPayApiConfig;
import com.ijpay.wxpay.WxPayApiConfigKit;
import com.ijpay.wxpay.model.UnifiedOrderModel;
import com.sxpcwlkj.common.utils.FileUtil;
import com.sxpcwlkj.common.utils.JsonUtil;

View File

@ -0,0 +1,27 @@
#FROM findepi/graalvm:java17-native
FROM openjdk:17.0.2-oraclelinux8
MAINTAINER SXPCWLKJ
RUN mkdir -p /sxpcwlkj \
/sxpcwlkj/mms-monitor \
/sxpcwlkj/mms-monitor/logs \
/sxpcwlkj/mms-monitor/files \
/sxpcwlkj/mms-monitor/temp \
/sxpcwlkj/mms-monitor/skywalking/agent
WORKDIR /sxpcwlkj/mms-monitor
ENV SERVER_PORT=9001 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
EXPOSE ${SERVER_PORT}
ADD ./target/mms-monitor.jar ./app.jar
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
# 应用名称 如果想区分集群节点监控 改成不同的名称即可
#-Dskywalking.agent.service_name=sxpcwlkj-mms \
#-javaagent:/sxpcwlkj/mms/skywalking/agent/skywalking-agent.jar \
-jar app.jar \
-XX:+HeapDumpOnOutOfMemoryError -Xlog:gc*,:time,tags,level -XX:+UseZGC ${JAVA_OPTS}

File diff suppressed because it is too large Load Diff