【admin】新增#菜单管理、字典管理

dev
renfan 2024-07-22 17:48:41 +08:00
parent 265ef2f968
commit 1f20e73125
1479 changed files with 86692 additions and 0 deletions

8
.idea/.gitignore vendored 100644
View File

@ -0,0 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

18
.idea/compiler.xml 100644
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="admin" />
<module name="generator" />
<module name="front" />
<module name="common" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel target="8" />
</component>
</project>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="yuehao_test@114.132.227.196" uuid="ec39e546-443a-4baa-bcd8-87392c248a4d">
<driver-ref>mysql.8</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mysql://114.132.227.196:3306/yuehao_test?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true&amp;useSSL=false</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/admin/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/admin/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/common/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/common/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/front/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/front/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/generator/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/generator/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component>
</project>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>

11
.idea/misc.xml 100644
View File

@ -0,0 +1,11 @@
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>

View File

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

6
.idea/vcs.xml 100644
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

55
admin/pom.xml 100644
View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 父工程 -->
<parent>
<artifactId>charging_pile</artifactId>
<groupId>org.hcy</groupId>
<version>1.0.0</version>
</parent>
<!-- 模块信息 -->
<modelVersion>4.0.0</modelVersion>
<artifactId>admin</artifactId>
<packaging>jar</packaging>
<!-- 项目管理 -->
<dependencies>
<!-- 公共依赖 -->
<dependency>
<groupId>org.hcy</groupId>
<artifactId>common</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.hcy</groupId>
<artifactId>generator</artifactId>
<version>1.0.0</version>
</dependency>
<!-- Quartz-Scheduler -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
</dependency>
</dependencies>
<!-- 插件管理 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,28 @@
package com.hcy.admin;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
*
*/
@Configuration
@ComponentScan(basePackages = {"com.hcy"})
@MapperScan(basePackages = {"com.hcy.*.mapper"})
@EnableTransactionManagement
@EnableScheduling
@SpringBootApplication(exclude = {RedisRepositoriesAutoConfiguration.class})
public class AdminApplication {
public static void main(String[] args) {
SpringApplication.run(AdminApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ AuditingBureau启动成功 ლ(´ڡ`ლ)゙");
}
}

View File

@ -0,0 +1,156 @@
package com.hcy.admin;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.hcy.admin.config.AdminConfig;
import com.hcy.admin.service.system.ISystemAuthAdminService;
import com.hcy.admin.service.system.ISystemAuthPermService;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.enums.HttpEnum;
import com.hcy.common.utils.RedisUtil;
import com.hcy.common.utils.ToolsUtil;
import com.hcy.common.utils.YmlUtil;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
*
*/
@Component
public class AdminInterceptor implements HandlerInterceptor {
@Resource
ISystemAuthAdminService iSystemAuthAdminService;
@Resource
ISystemAuthPermService iSystemAuthPermService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 404拦截
response.setContentType("application/json;charset=utf-8");
if (response.getStatus() == 404) {
AjaxResult result = AjaxResult.failed(HttpEnum.REQUEST_404_ERROR.getCode(), HttpEnum.REQUEST_404_ERROR.getMsg());
response.getWriter().print(JSON.toJSONString(result));
return false;
}
// 判断请求接口
if (!(handler instanceof HandlerMethod)) {
return HandlerInterceptor.super.preHandle(request, response, handler);
}
// 路由转权限
String prefix = "/api/";
String route = request.getRequestURI().replaceFirst(prefix, "");
String auths = route.replace("/", ":");
// 免登录接口
List<String> notLoginUri = Arrays.asList(AdminConfig.notLoginUri);
if (notLoginUri.contains(auths)) {
return HandlerInterceptor.super.preHandle(request, response, handler);
}
// 演示环境拦截
String env = YmlUtil.get("like.production");
if (org.apache.commons.lang3.StringUtils.isNotEmpty(env) && env.equals("true")) {
List<String> ignoreUrl = Arrays.asList("system:login", "system:logout");
if (!auths.contains("list") && request.getMethod().equals("POST") && !ignoreUrl.contains(auths)) {
String message = "演示环境不支持修改数据,请下载源码本地部署体验";
AjaxResult result = AjaxResult.failed(HttpEnum.NO_PERMISSION.getCode(), message);
response.getWriter().print(com.alibaba.fastjson2.JSON.toJSONString(result));
return false;
}
}
// Token是否为空
String token = request.getHeader("token");
if (StringUtils.isBlank(token)) {
AjaxResult result = AjaxResult.failed(HttpEnum.TOKEN_EMPTY.getCode(), HttpEnum.TOKEN_EMPTY.getMsg());
response.getWriter().print(JSON.toJSONString(result));
return false;
}
// Token是否过期
token = AdminConfig.backstageTokenKey + token;
if (!RedisUtil.exists(token)) {
AjaxResult result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg());
response.getWriter().print(JSON.toJSONString(result));
return false;
}
// 用户信息缓存
String uid = RedisUtil.get(token).toString();
if (!RedisUtil.hExists(AdminConfig.backstageManageKey, uid)) {
iSystemAuthAdminService.cacheAdminUserByUid(Integer.parseInt(uid));
}
// 校验用户被删除
Map<String, String> map = ToolsUtil.jsonToMap(RedisUtil.hGet(AdminConfig.backstageManageKey, uid).toString());
if (map == null || map.get("isDelete").equals("1")) {
RedisUtil.del(token);
RedisUtil.hDel(AdminConfig.backstageManageKey, uid);
AjaxResult result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg());
response.getWriter().print(JSON.toJSONString(result));
return false;
}
// 校验用户被禁用
if (map.get("isDisable").equals("1")) {
AjaxResult result = AjaxResult.failed(HttpEnum.LOGIN_DISABLE_ERROR.getCode(), HttpEnum.LOGIN_DISABLE_ERROR.getMsg());
response.getWriter().print(JSON.toJSONString(result));
return false;
}
// 令牌剩余30分钟自动续签
if (RedisUtil.ttl(token) < 1800) {
RedisUtil.expire(token, 7200L);
}
// 写入本地线程
AdminThreadLocal.put("adminId", uid);
AdminThreadLocal.put("roleId", map.get("role"));
AdminThreadLocal.put("username", map.get("username"));
AdminThreadLocal.put("nickname", map.get("nickname"));
// 免权限验证接口
List<String> notAuthUri = Arrays.asList(AdminConfig.notAuthUri);
if (notAuthUri.contains(auths) || Integer.parseInt(uid) == 1) {
return HandlerInterceptor.super.preHandle(request, response, handler);
}
// 校验角色权限是否存在
String roleId = map.get("role");
if (!RedisUtil.hExists(AdminConfig.backstageRolesKey, roleId)) {
iSystemAuthPermService.cacheRoleMenusByRoleId(Integer.parseInt(roleId));
}
// 验证是否有权限操作
// roleId=0为系统管理员角色的id配置了所有的权限标识
String adminMenus = RedisUtil.hGet(AdminConfig.backstageRolesKey, roleId).toString();
String menus = RedisUtil.hGet(AdminConfig.backstageRolesKey, roleId).toString();
List<String> list = Arrays.asList(adminMenus.split(","));
if(!list.isEmpty() && list.contains(auths) && !Arrays.asList(menus.split(",")).contains(auths)){
AjaxResult result = AjaxResult.failed(HttpEnum.NO_PERMISSION.getCode(), HttpEnum.NO_PERMISSION.getMsg());
response.getWriter().print(JSON.toJSONString(result));
return false;
}
// 验证通过继续操作
return HandlerInterceptor.super.preHandle(request, response, handler);
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
AdminThreadLocal.remove();
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
}
}

View File

@ -0,0 +1,69 @@
package com.hcy.admin;
import java.util.LinkedHashMap;
/**
* 线
*/
public class AdminThreadLocal {
/**
*
*/
public AdminThreadLocal() {}
/**
* 线
*/
private static final java.lang.ThreadLocal<LinkedHashMap<String, Object>> MY_LOCAL = new java.lang.ThreadLocal<>();
/**
* 线
*/
public static void put(String key, Object val) {
LinkedHashMap<String, Object> map = MY_LOCAL.get();
if (map == null) {
map = new LinkedHashMap<>();
}
map.put(key, val);
MY_LOCAL.set(map);
}
/**
* 线
*/
public static Object get(String key) {
return MY_LOCAL.get().getOrDefault(key, "");
}
/**
* ID
*/
public static Integer getAdminId() {
String adminId = AdminThreadLocal.get("adminId").toString();
if (adminId.equals("")) {
return 0;
}
return Integer.parseInt(adminId);
}
/**
* ID
*/
public static Integer getRoleId() {
String roleId = AdminThreadLocal.get("roleId").toString();
if (roleId.equals("")) {
return 0;
}
return Integer.parseInt(roleId);
}
/**
* 线
*/
public static void remove() {
MY_LOCAL.remove();
}
}

View File

@ -0,0 +1,41 @@
package com.hcy.admin.config;
/**
*
*/
public class AdminConfig {
// 管理缓存键
public static final String backstageManageKey = "backstage:manage";
// 角色缓存键
public static final String backstageRolesKey = "backstage:roles";
// 令牌缓存键
public static final String backstageTokenKey = "backstage:token:";
// 令牌的集合
public static final String backstageTokenSet = "backstage:token:set:";
// 免登录验证
public static String[] notLoginUri = new String[]{
"system:login", // 登录接口
"common:index:config", // 配置接口
};
// 免权限验证
public static String[] notAuthUri = new String[]{
"system:logout", // 退出登录
"system:menu:menus", // 系统菜单
"system:menu:route", // 菜单路由
"system:admin:upInfo", // 管理员更新
"system:admin:self", // 管理员信息
"system:role:all", // 所有角色
"system:post:all", // 所有岗位
"system:dept:list", // 所有部门
"setting:dict:type:all", // 所有字典类型
"setting:dict:data:all", // 所有字典数据
"article:cate:all", // 所有文章分类
};
}

View File

@ -0,0 +1,23 @@
package com.hcy.admin.config;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* MybatisPlus
*/
@Configuration
public class MybatisPlusConfig {
/**
*
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return interceptor;
}
}

View File

@ -0,0 +1,57 @@
package com.hcy.admin.config;
import com.hcy.admin.AdminInterceptor;
import com.hcy.common.config.GlobalConfig;
import com.hcy.common.utils.YmlUtil;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.annotation.Resource;
/**
* Web
*/
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Resource
AdminInterceptor adminInterceptor;
/**
*
*/
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedHeaders("*")
.allowedMethods("GET", "POST", "DELETE", "PUT")
.maxAge(3600);
}
/**
*
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(adminInterceptor).addPathPatterns("/**");
}
/**
*
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
String directory = YmlUtil.get("like.upload-directory");
if (directory == null || directory.equals("")) {
directory = GlobalConfig.uploadDirectory;
}
registry.addResourceHandler("/"+ GlobalConfig.publicPrefix +"/**")
.addResourceLocations("file:" + directory);
}
}

View File

@ -0,0 +1,16 @@
package com.hcy.admin.config.aop;
import java.lang.annotation.*;
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Log {
/**
*
* @return String
*/
String title() default "";
}

View File

@ -0,0 +1,137 @@
package com.hcy.admin.config.aop;
import com.alibaba.fastjson.JSON;
import com.hcy.admin.AdminThreadLocal;
import com.hcy.common.entity.system.SystemLogOperate;
import com.hcy.common.mapper.system.SystemLogOperateMapper;
import com.hcy.common.utils.IpUtil;
import com.hcy.common.utils.RequestUtil;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
@Aspect
@Component
public class LogAspect {
@Resource
SystemLogOperateMapper systemLogOperateMapper;
private static final Logger log = LoggerFactory.getLogger(LogAspect.class);
private Long beginTime = 0L;
/**
*
*/
@Pointcut("@annotation(com.hcy.admin.config.aop.Log)")
private void pointCutMethodController() {}
/**
*
*/
@Around(value = "pointCutMethodController()")
public Object doAroundService(ProceedingJoinPoint joinPoint) throws Throwable {
// 开始时间
this.beginTime = System.currentTimeMillis();
// 执行方法
Object result = joinPoint.proceed();
// 保存日志
recordLog(joinPoint, null);
// 返回结果
return result;
}
/**
*
*
* @param joinPoint
* @param e
*/
@AfterThrowing(value = "@annotation(controllerLog)", throwing = "e")
public void doAfterThrowing(JoinPoint joinPoint, Log controllerLog, Exception e) {
recordLog(joinPoint, e);
}
/**
*
*
* @param joinPointObj joinPoint
* @param e Exception
*/
private void recordLog(Object joinPointObj, final Exception e) {
try {
long endTime = System.currentTimeMillis();
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (requestAttributes != null) {
// 取得请求对象
HttpServletRequest request = requestAttributes.getRequest();
// 获取当前的用户
Integer adminId = AdminThreadLocal.getAdminId();
// 获取日志注解
ProceedingJoinPoint joinPoint = (ProceedingJoinPoint) joinPointObj;
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
Method method = signature.getMethod();
Log logAnnotation = method.getAnnotation(Log.class);
// 方法名称
String className = joinPoint.getTarget().getClass().getName();
String methodName = joinPoint.getSignature().getName();
// 获取请求参数
String queryString = request.getQueryString();
Object[] args = joinPoint.getArgs();
String params = "";
if(args.length>0){
if("POST".equals(request.getMethod())){
params = JSON.toJSONString(args);
} else if("GET".equals(request.getMethod())){
params = queryString;
}
}
// 错误信息
String error = "";
int status = 1;
if (e != null) {
error = e.getMessage();
status = 2; // 1=成功, 2=失败
}
// 数据库日志
SystemLogOperate model = new SystemLogOperate();
model.setAdminId(adminId);
model.setTitle(logAnnotation.title());
model.setIp(IpUtil.getIpAddress());
model.setType(request.getMethod());
model.setMethod(className + "." + methodName + "()");
model.setUrl(RequestUtil.route());
model.setArgs(params);
model.setError(error);
model.setStatus(status);
model.setStartTime(this.beginTime / 1000);
model.setEndTime(endTime / 1000);
model.setTaskTime(endTime - this.beginTime);
model.setCreateTime(System.currentTimeMillis() / 1000);
systemLogOperateMapper.insert(model);
}
} catch (Exception ex) {
log.error("异常信息:{}", ex.getMessage());
}
}
}

View File

@ -0,0 +1,54 @@
package com.hcy.admin.config.quartz;
import org.quartz.CronExpression;
import java.text.ParseException;
import java.util.Date;
/**
*
*/
public class CronUtils {
/**
*
*
* @param cronExpression
* @return true=,false=
*/
public static boolean isValid(String cronExpression) {
return CronExpression.isValidExpression(cronExpression);
}
/**
*
*
* @param cronExpression
* @return null=, =
*/
public static String invalidMessage(String cronExpression) {
try {
new CronExpression(cronExpression);
return null;
} catch (ParseException pe) {
return pe.getMessage();
}
}
/**
*
*
* @param cronExpression n
* @return Date
*/
public static Date nextExecution(String cronExpression)
{
try {
CronExpression cron = new CronExpression(cronExpression);
return cron.getNextValidTimeAfter(new Date(System.currentTimeMillis()));
} catch (ParseException e) {
throw new IllegalArgumentException(e.getMessage());
}
}
}

View File

@ -0,0 +1,150 @@
package com.hcy.admin.config.quartz;
import com.hcy.common.entity.crontab.Crontab;
import com.hcy.common.utils.SpringUtil;
import com.hcy.common.utils.StringUtil;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.LinkedList;
import java.util.List;
/**
*
*/
public class InvokeUtils {
/**
*
*
* @param crontab
*/
public static void invokeMethod(Crontab crontab) throws Exception {
String invokeTarget = crontab.getCommand();
String beanName = getBeanName(invokeTarget);
String methodName = getMethodName(invokeTarget);
List<Object[]> methodParams = getMethodParams(invokeTarget);
if (!isValidClassName(beanName)) {
Object bean = SpringUtil.getBean(beanName);
invokeMethod(bean, methodName, methodParams);
} else {
Object bean = Class.forName(beanName).newInstance();
invokeMethod(bean, methodName, methodParams);
}
}
/**
*
*
* @param bean
* @param methodName
* @param methodParams
*/
private static void invokeMethod(Object bean, String methodName, List<Object[]> methodParams)
throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException,
InvocationTargetException {
if (StringUtil.isNotNull(methodParams) && methodParams.size() > 0) {
Method method = bean.getClass().getMethod(methodName, getMethodParamsType(methodParams));
method.invoke(bean, getMethodParamsValue(methodParams));
} else {
Method method = bean.getClass().getMethod(methodName);
method.invoke(bean);
}
}
/**
* class
*
* @param invokeTarget
* @return true false
*/
public static boolean isValidClassName(String invokeTarget) {
return StringUtil.countMatches(invokeTarget, ".") > 1;
}
/**
* bean
*
* @param invokeTarget
* @return bean
*/
public static String getBeanName(String invokeTarget) {
String beanName = StringUtil.substringBefore(invokeTarget, "(");
return StringUtil.substringBeforeLast(beanName, ".");
}
/**
* bean
*
* @param invokeTarget
* @return method
*/
public static String getMethodName(String invokeTarget) {
String methodName = StringUtil.substringBefore(invokeTarget, "(");
return StringUtil.substringAfterLast(methodName, ".");
}
/**
* method
*
* @param invokeTarget
* @return method
*/
public static List<Object[]> getMethodParams(String invokeTarget) {
String methodStr = StringUtil.substringBetween(invokeTarget, "(", ")");
if (StringUtil.isEmpty(methodStr)) {
return null;
}
String[] methodParams = methodStr.split(",(?=([^\"']*[\"'][^\"']*[\"'])*[^\"']*$)");
List<Object[]> clazz = new LinkedList<>();
for (String methodParam : methodParams) {
String str = StringUtil.trimToEmpty(methodParam);
if (StringUtil.startsWithAny(str, "'", "\"")) {
clazz.add(new Object[]{StringUtil.substring(str, 1, str.length() - 1), String.class});
} else if ("true".equalsIgnoreCase(str) || "false".equalsIgnoreCase(str)) {
clazz.add(new Object[]{Boolean.valueOf(str), Boolean.class});
} else if (StringUtil.endsWith(str, "L")) {
clazz.add(new Object[]{Long.valueOf(StringUtil.substring(str, 0, str.length() - 1)), Long.class});
} else if (StringUtil.endsWith(str, "D")) {
clazz.add(new Object[]{Double.valueOf(StringUtil.substring(str, 0, str.length() - 1)), Double.class});
} else {
clazz.add(new Object[]{Integer.valueOf(str), Integer.class});
}
}
return clazz;
}
/**
*
*
* @param methodParams
* @return
*/
public static Class<?>[] getMethodParamsType(List<Object[]> methodParams) {
Class<?>[] clazz = new Class<?>[methodParams.size()];
int index = 0;
for (Object[] os : methodParams)
{
clazz[index] = (Class<?>) os[1];
index++;
}
return clazz;
}
/**
*
*
* @param methodParams
* @return
*/
public static Object[] getMethodParamsValue(List<Object[]> methodParams) {
Object[] clazz = new Object[methodParams.size()];
int index = 0;
for (Object[] os : methodParams) {
clazz[index] = os[0];
index++;
}
return clazz;
}
}

View File

@ -0,0 +1,104 @@
package com.hcy.admin.config.quartz;
import com.hcy.admin.config.quartz.exceution.QuartzDisExecution;
import com.hcy.admin.config.quartz.exceution.QuartzJobExecution;
import com.hcy.common.entity.crontab.Crontab;
import com.hcy.common.utils.StringUtil;
import org.quartz.*;
/**
*
*/
public class QuartzUtils {
/**
* quartz
*
* @param crontab
* @return
*/
private static Class<? extends Job> getQuartzJobClass(Crontab crontab) {
boolean isConcurrent = crontab.getConcurrent().equals(0);
return isConcurrent ? QuartzJobExecution.class : QuartzDisExecution.class;
}
/**
* Key
*
* @param jobId (ID)
* @param jobGroup ()
* @return JobKey
*/
public static JobKey getJobKey(Integer jobId, String jobGroup) {
return JobKey.jobKey(TaskConstants.TASK_CLASS_NAME + jobId, jobGroup);
}
/**
* Key
*
* @param jobId (ID)
* @param jobGroup ()
* @return TriggerKey
*/
public static TriggerKey getTriggerKey(Integer jobId, String jobGroup) {
return TriggerKey.triggerKey(TaskConstants.TASK_PROPERTIES + jobId, jobGroup);
}
/**
*
*
* @param scheduler
* @param job
* @throws SchedulerException
*/
public static void createScheduleJob(Scheduler scheduler, Crontab job) throws SchedulerException {
Integer jobId = job.getId();
String jobGroup = job.getTypes();
String expression = job.getRules();
// 构建任务
Class<? extends Job> jobClass = getQuartzJobClass(job);
JobDetail jobDetail = JobBuilder.newJob(jobClass)
.withIdentity(getJobKey(jobId, jobGroup))
.build();
// 构建时间
CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(expression);
switch (job.getStrategy()) {
case 1: // 立即执行
cronScheduleBuilder = cronScheduleBuilder.withMisfireHandlingInstructionIgnoreMisfires();
break;
case 2: // 执行一次
cronScheduleBuilder = cronScheduleBuilder.withMisfireHandlingInstructionFireAndProceed();
break;
case 3: // 放弃执行
cronScheduleBuilder = cronScheduleBuilder.withMisfireHandlingInstructionDoNothing();
break;
}
// 注入参数
jobDetail.getJobDataMap().put(TaskConstants.TASK_PROPERTIES, job);
// 构建目标
CronTrigger trigger = TriggerBuilder.newTrigger()
.withIdentity(getTriggerKey(jobId, jobGroup))
.withSchedule(cronScheduleBuilder)
.build();
// 如果存在则删除
if (scheduler.checkExists(getJobKey(jobId, jobGroup))) {
scheduler.deleteJob(getJobKey(jobId, jobGroup));
}
// 如果过期则调度
if (StringUtil.isNotNull(CronUtils.nextExecution(job.getRules()))) {
scheduler.scheduleJob(jobDetail, trigger);
}
// 如果暂停则停止
if (!job.getStatus().equals(TaskConstants.STATUS_RUN)) {
scheduler.pauseJob(getJobKey(jobId, jobGroup));
}
}
}

View File

@ -0,0 +1,20 @@
package com.hcy.admin.config.quartz;
/**
*
*/
public class TaskConstants {
/** 执行任务名 */
public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME";
/** 执行目标键 */
public static final String TASK_PROPERTIES = "TASK_PROPERTIES";
/** 状态: 运行 */
public static final Integer STATUS_RUN = 1;
/** 状态: 失败 */
public static final Integer STATUS_FAIL = 2;
}

View File

@ -0,0 +1,81 @@
package com.hcy.admin.config.quartz.exceution;
import com.hcy.admin.config.quartz.TaskConstants;
import com.hcy.common.entity.crontab.Crontab;
import com.hcy.common.mapper.crontab.CrontabMapper;
import com.hcy.common.utils.SpringUtil;
import com.hcy.common.utils.StringUtil;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
public abstract class AbstractQuartzJob implements Job {
private static final Logger log = LoggerFactory.getLogger(AbstractQuartzJob.class);
/**
* 线
*/
private static final ThreadLocal<Long> threadLocal = new ThreadLocal<>();
/**
*
*
* @param context
*/
@Override
public void execute(JobExecutionContext context) {
Crontab crontab = new Crontab();
BeanUtils.copyProperties(context.getMergedJobDataMap().get(TaskConstants.TASK_PROPERTIES), crontab);
try {
before();
doExecute(context, crontab);
after(crontab, null);
} catch (Exception e) {
log.error("任务执行异常:", e);
after(crontab, e);
}
}
/**
*
*/
protected void before() {
threadLocal.set(System.currentTimeMillis());
}
/**
*
*
* @param crontab
*/
protected void after(Crontab crontab, Exception e)
{
long startTime = threadLocal.get();
long endTime = System.currentTimeMillis();
threadLocal.remove();
crontab.setError("");
crontab.setStartTime(startTime / 1000);
crontab.setEndTime(endTime / 1000);
crontab.setTaskTime(endTime - startTime);
if (StringUtil.isNotNull(e)) {
crontab.setError(e.getMessage());
crontab.setStatus(TaskConstants.STATUS_FAIL);
}
SpringUtil.getBean(CrontabMapper.class).updateById(crontab);
}
/**
*
*
* @param context
* @param sysJob
* @throws Exception
*/
protected abstract void doExecute(JobExecutionContext context, Crontab sysJob) throws Exception;
}

View File

@ -0,0 +1,31 @@
package com.hcy.admin.config.quartz.exceution;
import com.hcy.admin.config.quartz.InvokeUtils;
import com.hcy.common.entity.crontab.Crontab;
import com.hcy.common.mapper.crontab.CrontabMapper;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import javax.annotation.Resource;
/**
*
*/
@DisallowConcurrentExecution
public class QuartzDisExecution extends AbstractQuartzJob {
@Resource
private CrontabMapper crontabMapper;
@Override
protected void doExecute(JobExecutionContext context, Crontab crontab) throws Exception {
Long startTime = System.currentTimeMillis();
InvokeUtils.invokeMethod(crontab);
Long endTime = System.currentTimeMillis();
if (endTime - startTime > crontab.getTaskMaxTime()){
crontab.setTaskMaxTime(endTime - startTime);
crontabMapper.updateById(crontab);
}
}
}

View File

@ -0,0 +1,17 @@
package com.hcy.admin.config.quartz.exceution;
import com.hcy.admin.config.quartz.InvokeUtils;
import com.hcy.common.entity.crontab.Crontab;
import org.quartz.JobExecutionContext;
/**
*
*/
public class QuartzJobExecution extends AbstractQuartzJob {
@Override
protected void doExecute(JobExecutionContext context, Crontab crontab) throws Exception {
InvokeUtils.invokeMethod(crontab);
}
}

View File

@ -0,0 +1,34 @@
package com.hcy.admin.config.swagger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @author slien.zuo
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket customDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.enable(true) //禁用swagger
.select()
.apis(RequestHandlerSelectors.basePackage("com.hcy.admin.controller")) // 指定路径
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("上门预约")
.version("1.0.0")
.build();
}
}

View File

@ -0,0 +1,31 @@
package com.hcy.admin.config.swagger;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
/**
* @Author slien
* @Description swagger
* @Date 13:39 2022/10/14
* @Param
* @return
**/
//@Configuration
public class WebSwaggerMvcConfigurer extends WebMvcConfigurationSupport {
/**
* WebMvcConfigurationSupportyml
*
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations(
"classpath:/static/");
registry.addResourceHandler("swagger-ui.html").addResourceLocations(
"classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations(
"classpath:/META-INF/resources/webjars/");
super.addResourceHandlers(registry);
}
}

View File

@ -0,0 +1,132 @@
package com.hcy.admin.config.wxpay;
import com.alibaba.fastjson.JSON;
import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.service.WxPayService;
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
import com.hcy.common.entity.pay.DevPay;
import com.hcy.common.entity.system.SystemConfig;
import com.hcy.common.entity.wxpay.SystemWxPayConfig;
import com.hcy.common.enums.OrderPlayTypeEnum;
import com.hcy.common.mapper.pay.DevPayMapper;
import com.hcy.common.mapper.system.SystemConfigMapper;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.annotation.Resource;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author panweiliang
*/
@Configuration
@ConditionalOnClass(WxPayService.class)
@AllArgsConstructor
public class WxPayConfiguration {
@Resource
private DevPayMapper devPayMapper;
@Resource
private SystemConfigMapper systemConfigMapper;
@Bean("mpWxPayService")
public WxPayService mpWxPayService() {
Boolean flag = Boolean.FALSE;
WxPayConfig payConfig = new WxPayConfig();
DevPay devPay = devPayMapper.getEntityByPayWay(OrderPlayTypeEnum.WECHAT_PAY.getType());
String config = devPay.getConfig();
SystemWxPayConfig systemWxPayConfig = JSON.parseObject(config, SystemWxPayConfig.class);
//payConfig.setAppId(StringUtils.trimToNull(systemWxPayConfig.getAppId()));
payConfig.setAppId(StringUtils.trimToNull(this.getAppId("mp_channel")));
payConfig.setMchId(StringUtils.trimToNull(systemWxPayConfig.getMchId()));
payConfig.setApiV3Key(StringUtils.trimToNull(systemWxPayConfig.getPaySignKey()));
if (StringUtils.isNotEmpty(systemWxPayConfig.getApiclientKey())) {
payConfig.setPrivateKeyContent(StringUtils.trimToNull(systemWxPayConfig.getApiclientKey()).getBytes());
flag = Boolean.TRUE;
}
if (StringUtils.isNotEmpty(systemWxPayConfig.getApiclientCert())) {
payConfig.setPrivateCertContent(StringUtils.trimToNull(systemWxPayConfig.getApiclientCert()).getBytes());
flag = Boolean.TRUE;
}
// 可以指定是否使用沙箱环境
payConfig.setUseSandboxEnv(false);
WxPayService wxPayService = new WxPayServiceImpl();
if (flag) {
wxPayService.setConfig(payConfig);
}
return wxPayService;
}
@Bean("oaWxPayService")
public WxPayService oaWxPayService() {
Boolean flag = Boolean.FALSE;
WxPayConfig payConfig = new WxPayConfig();
DevPay devPay = devPayMapper.getEntityByPayWay(OrderPlayTypeEnum.WECHAT_PAY.getType());
String config = devPay.getConfig();
SystemWxPayConfig systemWxPayConfig = JSON.parseObject(config, SystemWxPayConfig.class);
//payConfig.setAppId(StringUtils.trimToNull(systemWxPayConfig.getAppId()));
payConfig.setAppId(StringUtils.trimToNull(this.getAppId("oa_channel")));
payConfig.setMchId(StringUtils.trimToNull(systemWxPayConfig.getMchId()));
payConfig.setApiV3Key(StringUtils.trimToNull(systemWxPayConfig.getPaySignKey()));
if (StringUtils.isNotEmpty(systemWxPayConfig.getApiclientKey())) {
payConfig.setPrivateKeyContent(StringUtils.trimToNull(systemWxPayConfig.getApiclientKey()).getBytes());
flag = Boolean.TRUE;
}
if (StringUtils.isNotEmpty(systemWxPayConfig.getApiclientCert())) {
payConfig.setPrivateCertContent(StringUtils.trimToNull(systemWxPayConfig.getApiclientCert()).getBytes());
flag = Boolean.TRUE;
}
// 可以指定是否使用沙箱环境
payConfig.setUseSandboxEnv(false);
WxPayService wxPayService = new WxPayServiceImpl();
if (flag) {
wxPayService.setConfig(payConfig);
}
return wxPayService;
}
@Bean("h5WxPayService")
public WxPayService h5WxPayService() {
Boolean flag = Boolean.FALSE;
WxPayConfig payConfig = new WxPayConfig();
DevPay devPay = devPayMapper.getEntityByPayWay(OrderPlayTypeEnum.WECHAT_PAY.getType());
String config = devPay.getConfig();
SystemWxPayConfig systemWxPayConfig = JSON.parseObject(config, SystemWxPayConfig.class);
//payConfig.setAppId(StringUtils.trimToNull(systemWxPayConfig.getAppId()));
payConfig.setAppId(StringUtils.trimToNull(this.getAppId("h5_channel")));
payConfig.setMchId(StringUtils.trimToNull(systemWxPayConfig.getMchId()));
payConfig.setApiV3Key(StringUtils.trimToNull(systemWxPayConfig.getPaySignKey()));
if (StringUtils.isNotEmpty(systemWxPayConfig.getApiclientKey())) {
payConfig.setPrivateKeyContent(StringUtils.trimToNull(systemWxPayConfig.getApiclientKey()).getBytes());
flag = Boolean.TRUE;
}
if (StringUtils.isNotEmpty(systemWxPayConfig.getApiclientCert())) {
payConfig.setPrivateCertContent(StringUtils.trimToNull(systemWxPayConfig.getApiclientCert()).getBytes());
flag = Boolean.TRUE;
}
// 可以指定是否使用沙箱环境
payConfig.setUseSandboxEnv(false);
WxPayService wxPayService = new WxPayServiceImpl();
if (flag) {
wxPayService.setConfig(payConfig);
}
return wxPayService;
}
private String getAppId(String channel) {
List<SystemConfig> configs = systemConfigMapper.getAppId(channel);
Map<String, String> map = new LinkedHashMap<>();
for (SystemConfig config : configs) {
map.put(config.getName(), config.getValue());
}
return map.getOrDefault("appId", "");
}
}

View File

@ -0,0 +1,31 @@
package com.hcy.admin.config.wxpay;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* wxpay pay properties.
*
* @author panweiliang
*/
@Data
@Component
@ConfigurationProperties(prefix = "wx.pay")
public class WxPayProperties {
/**
*
*/
private String orderNotifyUrl;
/**
*
*/
private String orderRefundNotifyUrl;
/**
*
*/
private String description;
}

View File

@ -0,0 +1,164 @@
package com.hcy.admin.controller;
import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyResult;
import com.github.binarywang.wxpay.bean.notify.WxScanPayNotifyResult;
import com.github.binarywang.wxpay.bean.result.WxPayOrderQueryV3Result;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.hcy.admin.service.order.IOrderService;
import com.hcy.admin.service.refund.IOrderRefundService;
import com.hcy.common.entity.order.Order;
import com.hcy.common.utils.WxPayServiceUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* @author panweiliang
*/
@Slf4j
@RestController
@RequestMapping("/api/pay/wx")
public class WxPayController {
@Resource
private IOrderService orderService;
@Resource
private IOrderRefundService refundService;
/**
* <pre>
* (https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_2)
*
*
*
*
* APIUSERPAYING
* API
* https://api.mch.weixin.qq.com/pay/orderquery
* </pre>
* <p>
*
*
* @param transactionId
* @param outTradeNo transactionId
*/
@GetMapping("/queryOrder")
public WxPayOrderQueryV3Result queryOrder(@RequestParam(required = false) String transactionId,
@RequestParam(required = false) String outTradeNo)
throws WxPayException {
Order order = orderService.getBySn(outTradeNo);
return WxPayServiceUtils.wxPayService(order.getPayChannel()).queryOrderV3(transactionId, outTradeNo);
}
/*@PostMapping("/queryOrder")
public WxPayOrderQueryV3Result queryOrder(@RequestBody WxPayOrderQueryV3Request wxPayOrderQueryV3Request) throws WxPayException {
return this.wxService.queryOrderV3(wxPayOrderQueryV3Request);
}*/
/**
* <pre>
*
*
*
* 1.
* 2. 退
* 5
* https://api.mch.weixin.qq.com/pay/closeorder
*
* </pre>
*
* @param outTradeNo
*
*/
@GetMapping("/closeOrder")
public void closeOrder(@RequestParam("outTradeNo") String outTradeNo) throws Exception {
Order order = orderService.getBySn(outTradeNo);
WxPayServiceUtils.wxPayService(order.getPayChannel()).closeOrderV3(outTradeNo);
}
/* //关闭订单
@Deprecated
@PostMapping("/closeOrder")
public void closeOrder(@RequestBody WxPayOrderCloseRequest wxPayOrderCloseRequest) throws WxPayException {
this.wxService.closeOrder(wxPayOrderCloseRequest);
}*/
/* *//**
* <pre>
* -退
* https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4
* https://api.mch.weixin.qq.com/secapi/pay/refund
* </pre>
*
* @param request
* @return 退
*//*
@PostMapping("/refund")
public WxPayRefundV3Result refund(@RequestBody WxPayRefundV3Request request) throws WxPayException {
return this.wxService.refundV3(request);
}*/
/* */
/**
* <pre>
* -退
*
* 退退退退20
* 退3退
* https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_5
* https://api.mch.weixin.qq.com/pay/refundquery
* </pre>
*
*
* @param outRefundNo 退
* @return 退
*//*
@GetMapping("/refundQuery")
public WxPayRefundQueryV3Result refundQuery(@RequestParam(required = false) String outRefundNo)
throws WxPayException {
return this.wxService.refundQueryV3(outRefundNo);
}*/
/* @PostMapping("/refundQuery")
public WxPayRefundQueryResult refundQuery(@RequestBody WxPayRefundQueryRequest wxPayRefundQueryRequest) throws WxPayException {
return this.wxService.refundQuery(wxPayRefundQueryRequest);
}*/
// 支付回调通知处理
@PostMapping("/notify/order")
public String parseOrderNotifyResult(@RequestBody String xmlData) throws Exception {
log.info("支付回调通知处理,原生xml数据,xmlData:{}", xmlData);
final WxPayOrderNotifyResult notifyResult = WxPayServiceUtils.wxPayService(null).parseOrderNotifyResult(xmlData);
log.info("支付回调通知处理,解析后数据,parseOrderNotifyResult:{}", notifyResult);
String transactionId = notifyResult.getTransactionId();
String outTradeNo = notifyResult.getOutTradeNo();
boolean flag = this.orderService.updateOrderStatusToPaid(outTradeNo, transactionId);
return flag ? WxPayNotifyResponse.success("成功") : WxPayNotifyResponse.fail("失败");
}
// 退款回调通知处理
@PostMapping("/notify/refund")
public String parseRefundNotifyResult(@RequestBody String xmlData) throws WxPayException {
log.info("退款回调通知处理原生数据,xmlData:{}", xmlData);
final WxPayRefundNotifyResult result = WxPayServiceUtils.wxPayService(null).parseRefundNotifyResult(xmlData);
log.info("退款回调通知处理,parseRefundNotifyResult:{}", result);
boolean flag = refundService.updateOrderStatusToPaid(result.getReqInfo());
return flag ? WxPayNotifyResponse.success("成功") : WxPayNotifyResponse.fail("失败");
}
// 扫码支付回调通知处理
@PostMapping("/notify/scanpay")
public String parseScanPayNotifyResult(String xmlData) throws WxPayException {
final WxScanPayNotifyResult result = WxPayServiceUtils.wxPayService(null).parseScanPayNotifyResult(xmlData);
// TODO 根据自己业务场景需要构造返回对象
return WxPayNotifyResponse.success("成功");
}
}

View File

@ -0,0 +1,41 @@
package com.hcy.admin.controller.account;
import com.hcy.admin.service.account.IAccountLogService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.account.AccountLogListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/**
* @author kn4im3
* @date 2023/3/7 17:30
*/
@RestController
@RequestMapping("/api/account/log")
public class AccountLogController {
@Resource
private IAccountLogService iAccountLogService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public AjaxResult list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params){
PageResult<AccountLogListVo> list = iAccountLogService.list(pageParam, params);
return AjaxResult.success(list);
}
}

View File

@ -0,0 +1,95 @@
package com.hcy.admin.controller.activity;
import com.google.common.collect.Lists;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.activity.IActivityService;
import com.hcy.admin.validate.activity.ActivityParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.goods.GoodsBatchParam;
import com.hcy.admin.vo.activity.ActivityListVo;
import com.hcy.admin.vo.activity.ActivityDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/activity")
public class ActivityController {
@Resource
IActivityService iActivityService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<ActivityListVo> list = iActivityService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
ActivityDetailVo detail = iActivityService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param activityParam
* @return Object
*/
@Log(title = "活动新增")
@PostMapping("/add")
public Object add(@Validated(value = ActivityParam.create.class) @RequestBody ActivityParam activityParam) {
iActivityService.add(activityParam);
return AjaxResult.success();
}
/**
*
*
* @param activityParam
* @return Object
*/
@Log(title = "活动编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = ActivityParam.update.class) @RequestBody ActivityParam activityParam) {
iActivityService.edit(activityParam);
return AjaxResult.success();
}
/**
* id
* @param activityParam
*/
@ApiOperation(value = "活动专区 - 活动删除")
@Log(title = "活动删除")
@PostMapping("/del")
public void del(@Validated @RequestBody ActivityParam activityParam) {
iActivityService.del(activityParam.getIds());
}
}

View File

@ -0,0 +1,117 @@
package com.hcy.admin.controller.article;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.article.IArticleArchivesService;
import com.hcy.admin.validate.article.ArticleParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.article.ArticleDetailVo;
import com.hcy.admin.vo.article.ArticleListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController("articleController")
@RequestMapping("api/article")
public class ArticleController {
@Resource
IArticleArchivesService iArticleArchivesService;
/**
*
*
* @author fzr
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<ArticleListVo> vos = iArticleArchivesService.list(pageParam, params);
return AjaxResult.success(vos);
}
/**
*
*
* @author fzr
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
ArticleDetailVo vo = iArticleArchivesService.detail(id);
return AjaxResult.success(vo);
}
/**
*
*
* @author fzr
* @param articleParam
* @return Object
*/
@Log(title = "文章新增")
@PostMapping("/add")
public Object add(
@Validated(value = ArticleParam.create.class)
@RequestBody ArticleParam articleParam) {
iArticleArchivesService.add(articleParam);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param articleParam
* @return Object
*/
@Log(title = "文章编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = ArticleParam.update.class)
@RequestBody ArticleParam articleParam) {
iArticleArchivesService.edit(articleParam);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param articleParam
* @return Object
*/
@Log(title = "文章删除")
@PostMapping("/del")
public Object del(@Validated(value = ArticleParam.delete.class)
@RequestBody ArticleParam articleParam) {
iArticleArchivesService.del(articleParam.getId());
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param articleParam
* @return Object
*/
@Log(title = "文章状态")
@PostMapping("/change")
public Object change(@Validated(value = ArticleParam.change.class)
@RequestBody ArticleParam articleParam) {
iArticleArchivesService.change(articleParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,128 @@
package com.hcy.admin.controller.article;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.article.IArticleCategoryService;
import com.hcy.admin.validate.article.CategoryParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.article.ArticleCateVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController("articleCategoryController")
@RequestMapping("api/article/cate")
public class CategoryController {
@Resource
IArticleCategoryService iArticleCategoryService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/all")
public Object all() {
List<ArticleCateVo> list = iArticleCategoryService.all();
return AjaxResult.success(list);
}
/**
*
*
* @author fzr
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<ArticleCateVo> list = iArticleCategoryService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @author fzr
* @param id
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
ArticleCateVo vo = iArticleCategoryService.detail(id);
return AjaxResult.success(vo);
}
/**
*
*
* @author fzr
* @param categoryParam
* @return Object
*/
@Log(title = "文章分类新增")
@PostMapping("/add")
public Object add(@Validated(value = CategoryParam.create.class)
@RequestBody CategoryParam categoryParam) {
iArticleCategoryService.add(categoryParam);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param categoryParam
* @return Object
*/
@Log(title = "文章分类编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = CategoryParam.update.class)
@RequestBody CategoryParam categoryParam) {
iArticleCategoryService.edit(categoryParam);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param categoryParam
* @return Object
*/
@Log(title = "文章分类删除")
@PostMapping("/del")
public Object del(@Validated(value = CategoryParam.delete.class)
@RequestBody CategoryParam categoryParam) {
iArticleCategoryService.del(categoryParam.getId());
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param categoryParam
* @return Object
*/
@Log(title = "文章分类状态")
@PostMapping("/change")
public Object change(@Validated(value = CategoryParam.change.class)
@RequestBody CategoryParam categoryParam) {
iArticleCategoryService.change(categoryParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,47 @@
package com.hcy.admin.controller.channel;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.channel.IChannelH5Service;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
* H5
*/
@RestController
@RequestMapping("api/channel/h5")
public class H5Controller {
@Resource
IChannelH5Service iChannelH5Service;
/**
* H5
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail() {
Map<String, Object> map = iChannelH5Service.detail();
return AjaxResult.success(map);
}
/**
* H5
*
* @author fzr
* @param param
* @return Object
*/
@Log(title = "H5渠道设置保存")
@PostMapping("/save")
public Object save(@RequestBody Map<String, String> param) {
iChannelH5Service.save(param);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,48 @@
package com.hcy.admin.controller.channel;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.channel.IChannelMpService;
import com.hcy.admin.vo.channel.ChannelMpVo;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/channel/mp")
public class MpController {
@Resource
IChannelMpService iChannelMpService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail() {
ChannelMpVo vo = iChannelMpService.detail();
return AjaxResult.success(vo);
}
/**
*
*
* @author fzr
* @param param
* @return Object
*/
@Log(title = "微信小程序渠道设置保存")
@PostMapping("/save")
public Object save(@RequestBody Map<String, String> param) {
iChannelMpService.save(param);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,48 @@
package com.hcy.admin.controller.channel;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.channel.IChannelOaService;
import com.hcy.admin.vo.channel.ChannelOaVo;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/channel/oa")
public class OaController {
@Resource
IChannelOaService iChannelOaService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail() {
ChannelOaVo vo = iChannelOaService.detail();
return AjaxResult.success(vo);
}
/**
*
*
* @author fzr
* @param param
* @return Object
*/
@Log(title = "公众号渠道设置保存")
@PostMapping("/save")
public Object save(@RequestBody Map<String, String> param) {
iChannelOaService.save(param);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,59 @@
package com.hcy.admin.controller.channel;
import com.alibaba.fastjson.JSONArray;
import com.hcy.admin.service.channel.IChannelOaMenuService;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
*
*/
@RestController
@RequestMapping("api/channel/oaMenu")
public class OaMenuController {
@Resource
IChannelOaMenuService iChannelOaMenuService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail() {
JSONArray detail = iChannelOaMenuService.detail();
return AjaxResult.success(detail);
}
/**
*
*
* @author fzr
* @param params
* @return Object
*/
@PostMapping("/save")
public Object save(@RequestBody List<Object> params) {
iChannelOaMenuService.save(params, false);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param params
* @return Object
*/
@PostMapping("/publish")
public Object publish(@RequestBody List<Object> params) {
iChannelOaMenuService.save(params, true);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,102 @@
package com.hcy.admin.controller.channel;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.hcy.admin.service.channel.IChannelOaReplyService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/channel/oaReply")
public class OaReplyController {
@Resource
IChannelOaReplyService iChannelOaReplyService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
List<Map<String, Object>> list = iChannelOaReplyService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
Map<String, Object> map = iChannelOaReplyService.detail(id);
return AjaxResult.success(map);
}
/**
*
*
* @author fzr
* @param params
* @return Object
*/
@PostMapping("/add")
public Object add(@RequestBody Map<String, String> params) {
iChannelOaReplyService.add(params);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @return Object
*/
@PostMapping("/edit")
public Object edit(@RequestBody Map<String, String> params) {
iChannelOaReplyService.edit(params);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @return Object
*/
@PostMapping("/del")
public Object del(@RequestBody Map<String, String> params) {
Assert.notNull(params.get("id"), "id参数缺失");
iChannelOaReplyService.del(Integer.parseInt(params.get("id")));
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @return Object
*/
@PostMapping("/status")
public Object status(@RequestBody Map<String, String> params) {
Assert.notNull(params.get("id"), "id参数缺失");
iChannelOaReplyService.status(Integer.parseInt(params.get("id")));
return AjaxResult.success();
}
}

View File

@ -0,0 +1,48 @@
package com.hcy.admin.controller.channel;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.channel.IChannelWxService;
import com.hcy.admin.vo.channel.ChannelOpVo;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/channel/wx")
public class WxController {
@Resource
IChannelWxService iChannelWxService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail() {
ChannelOpVo vo = iChannelWxService.detail();
return AjaxResult.success(vo);
}
/**
*
*
* @author fzr
* @param param
* @return Object
*/
@Log(title = "开放平台渠道设置保存")
@PostMapping("/save")
public Object save(@RequestBody Map<String, String> param) {
iChannelWxService.save(param);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,149 @@
package com.hcy.admin.controller.common;
import com.alibaba.fastjson.JSONArray;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.common.IAlbumService;
import com.hcy.admin.validate.common.AlbumParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.album.AlbumVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.utils.ArrayUtil;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/common/album")
public class AlbumController {
@Resource
IAlbumService iAlbumService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/albumList")
public Object albumList(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<AlbumVo> voPageResult = iAlbumService.albumList(pageParam, params);
return AjaxResult.success(voPageResult);
}
/**
*
*
* @author fzr
* @return Object
*/
@Log(title = "相册文件重命名")
@PostMapping("/albumRename")
public Object albumRename(@Validated(value = AlbumParam.rename.class) @RequestBody AlbumParam albumParam) {
iAlbumService.albumRename(albumParam.getId(), albumParam.getName());
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @return Object
*/
@Log(title = "相册文件移动")
@PostMapping("/albumMove")
public Object albumMove(@RequestBody Map<String, Object> params) {
if (params.get("ids") == null) {
return AjaxResult.failed("缺少ids参数");
}
if (params.get("cid") == null) {
return AjaxResult.failed("缺少cid参数");
}
List<Integer> ids = ArrayUtil.objectToListAsInt(params.get("ids"));
if (ids.size() <= 0) {
return AjaxResult.failed("请至少选择一个文件");
}
iAlbumService.albumMove(ids, Integer.parseInt(params.get("cid").toString()));
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @return Object
*/
@Log(title = "相册文件删除")
@PostMapping("/albumDel")
public Object albumDel(@RequestBody Map<String, List<Integer>> params) {
if (params.get("ids") == null) {
return AjaxResult.failed("缺少ids参数");
}
iAlbumService.albumDel(params.get("ids"));
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/cateList")
public Object cateList(@RequestParam Map<String, String> params) {
JSONArray jsonArray = iAlbumService.cateList(params);
return AjaxResult.success(jsonArray);
}
/**
*
*
* @author fzr
* @return Object
*/
@Log(title = "相册分类新增")
@PostMapping("/cateAdd")
public Object cateAdd(@Validated(value = AlbumParam.cateAdd.class) @RequestBody AlbumParam albumParam) {
iAlbumService.cateAdd(albumParam);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @return Object
*/
@Log(title = "相册分类重命名")
@PostMapping("/cateRename")
public Object cateRename(@Validated(value = AlbumParam.rename.class) @RequestBody AlbumParam albumParam) {
iAlbumService.cateRename(albumParam.getId(), albumParam.getName());
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @return Object
*/
@Log(title = "相册分类删除")
@PostMapping("/cateDel")
public Object cateDel(@Validated(value = AlbumParam.delete.class) @RequestBody AlbumParam albumParam) {
iAlbumService.cateDel(albumParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,58 @@
package com.hcy.admin.controller.common;
import com.hcy.admin.service.common.IIndexService;
import com.hcy.common.core.AjaxResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@Api(tags = "工作台")
@Slf4j
@RestController
@RequestMapping("api/common/index")
public class IndexController {
@Resource
IIndexService iIndexService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/console")
public Object console() {
Map<String, Object> map = iIndexService.console();
return AjaxResult.success(map);
}
@ApiOperation(value = "工作台")
@GetMapping("/workbench")
public Object workbench() {
Map<String, Object> map = iIndexService.workbench();
return AjaxResult.success(map);
}
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/config")
public Object config() {
Map<String, Object> map = iIndexService.config();
return AjaxResult.success(map);
}
}

View File

@ -0,0 +1,126 @@
package com.hcy.admin.controller.common;
import com.hcy.admin.AdminThreadLocal;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.common.IAlbumService;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.enums.AlbumEnum;
import com.hcy.common.exception.OperateException;
import com.hcy.common.plugin.storage.StorageDriver;
import com.hcy.common.utils.StringUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartRequest;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
/**
*
*/
@RestController
@RequestMapping("api/common/upload")
public class UploadController {
@Resource
IAlbumService iAlbumService;
/**
*
*
* @author fzr
* @param request
* @return Object
*/
@Log(title = "上传图片")
@PostMapping("/image")
public Object image(HttpServletRequest request) {
MultipartFile multipartFile;
try {
multipartFile = ((MultipartRequest) request).getFile("file");
} catch (Exception e) {
return AjaxResult.failed("请正确选择上传图片");
}
if (multipartFile == null) {
return AjaxResult.failed("请选择上传图片");
}
try {
StorageDriver storageDriver = new StorageDriver();
Map<String, Object> map;
//上传pdf
if(Objects.requireNonNull(multipartFile.getOriginalFilename()).contains(".pdf")){
map = storageDriver.upload(multipartFile, "file", AlbumEnum.FILE.getCode());
}else{
map = storageDriver.upload(multipartFile, "image", AlbumEnum.IMAGE.getCode());
}
String cid = StringUtil.isNotEmpty(request.getParameter("cid")) ? request.getParameter("cid") : "0";
Map<String, String> album = new LinkedHashMap<>();
album.put("aid", String.valueOf(AdminThreadLocal.getAdminId()));
album.put("cid", cid);
album.put("type", String.valueOf(AlbumEnum.IMAGE.getCode()));
album.put("size", map.get("size").toString());
album.put("ext", map.get("ext").toString());
album.put("url", map.get("url").toString());
album.put("name", map.get("name").toString());
Integer id = iAlbumService.albumAdd(album);
map.put("id", id);
return AjaxResult.success(map);
} catch (OperateException e) {
return AjaxResult.failed(e.getMsg());
}
}
/**
*
*
* @author fzr
* @param request
* @return Object
*/
@Log(title = "上传视频")
@PostMapping("/video")
public Object video(HttpServletRequest request) {
MultipartFile multipartFile;
try {
multipartFile = ((MultipartRequest) request).getFile("file");
} catch (Exception e) {
return AjaxResult.failed("请正确选择上传视频");
}
if (multipartFile == null) {
return AjaxResult.failed("请选择上传视频");
}
try {
StorageDriver storageDriver = new StorageDriver();
Map<String, Object> map = storageDriver.upload(multipartFile, "video", AlbumEnum.Video.getCode());
String cid = StringUtil.isNotEmpty(request.getParameter("cid")) ? request.getParameter("cid") : "0";
Map<String, String> album = new LinkedHashMap<>();
album.put("cid", cid);
album.put("aid", String.valueOf(AdminThreadLocal.getAdminId()));
album.put("type", String.valueOf(AlbumEnum.Video.getCode()));
album.put("ext", map.get("ext").toString());
album.put("size", map.get("size").toString());
album.put("url", map.get("url").toString());
Integer id = iAlbumService.albumAdd(album);
map.put("id", id);
return AjaxResult.success(map);
} catch (OperateException e) {
return AjaxResult.failed(e.getMsg());
}
}
}

View File

@ -0,0 +1,100 @@
package com.hcy.admin.controller.coupon;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.coupon.IChannelCouponService;
import com.hcy.admin.validate.coupon.ChannelCouponParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.coupon.ChannelCouponListVo;
import com.hcy.admin.vo.coupon.ChannelCouponDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/channelCoupon")
public class ChannelCouponController {
@Resource
IChannelCouponService iChannelCouponService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<ChannelCouponListVo> list = iChannelCouponService.list(pageParam, params);
return AjaxResult.success(list);
}
@GetMapping("/getDistributorCoupon")
public Object getDistributorCoupon(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<ChannelCouponListVo> list = iChannelCouponService.getDistributorCoupon(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
ChannelCouponDetailVo detail = iChannelCouponService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param channelCouponParam
* @return Object
*/
@Log(title = "渠道与指定分销人员关联新增")
@PostMapping("/add")
public Object add(@RequestBody ChannelCouponParam channelCouponParam) {
iChannelCouponService.add(channelCouponParam);
return AjaxResult.success();
}
/**
*
*
* @param channelCouponParam
* @return Object
*/
@Log(title = "渠道与指定分销人员关联编辑")
@PostMapping("/edit")
public Object edit(@RequestBody ChannelCouponParam channelCouponParam) {
iChannelCouponService.edit(channelCouponParam);
return AjaxResult.success();
}
/**
*
*
* @param channelCouponParam
* @return Object
*/
@Log(title = "渠道与指定分销人员关联删除")
@PostMapping("/del")
public Object del(@RequestBody ChannelCouponParam channelCouponParam) {
iChannelCouponService.del(channelCouponParam.getIds());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,105 @@
package com.hcy.admin.controller.coupon;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.coupon.ICouponService;
import com.hcy.admin.validate.coupon.CouponParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.coupon.CouponListVo;
import com.hcy.admin.vo.coupon.CouponDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/coupon")
public class CouponController {
@Resource
ICouponService iCouponService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<CouponListVo> list = iCouponService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@RequestParam("id") Integer id) {
CouponDetailVo detail = iCouponService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param couponParam
* @return Object
*/
@Log(title = "优惠券新增")
@PostMapping("/add")
public Object add(@RequestBody CouponParam couponParam) {
iCouponService.add(couponParam);
return AjaxResult.success();
}
/**
*
*
* @param couponParam
* @return Object
*/
@Log(title = "优惠券编辑")
@PostMapping("/edit")
public Object edit(@RequestBody CouponParam couponParam) {
iCouponService.edit(couponParam);
return AjaxResult.success();
}
/**
*
*
* @param couponParam
* @return Object
*/
@Log(title = "优惠券状态编辑")
@PostMapping("/setCouponStatus")
public Object setCouponStatus(@RequestBody CouponParam couponParam) {
iCouponService.setCouponStatus(couponParam);
return AjaxResult.success();
}
/**
*
*
* @param couponParam
* @return Object
*/
@Log(title = "优惠券删除")
@PostMapping("/del")
public Object del(@RequestBody CouponParam couponParam) {
iCouponService.del(couponParam);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,92 @@
package com.hcy.admin.controller.coupon;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.coupon.IGoodsCategoryCouponService;
import com.hcy.admin.validate.coupon.GoodsCategoryCouponParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.coupon.GoodsCategoryCouponListVo;
import com.hcy.admin.vo.coupon.GoodsCategoryCouponDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/goodsCategoryCoupon")
public class GoodsCategoryCouponController {
@Resource
IGoodsCategoryCouponService iGoodsCategoryCouponService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<GoodsCategoryCouponListVo> list = iGoodsCategoryCouponService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
GoodsCategoryCouponDetailVo detail = iGoodsCategoryCouponService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param goodsCategoryCouponParam
* @return Object
*/
@Log(title = "品类与优惠券关联新增")
@PostMapping("/add")
public Object add(@Validated(value = GoodsCategoryCouponParam.create.class) @RequestBody GoodsCategoryCouponParam goodsCategoryCouponParam) {
iGoodsCategoryCouponService.add(goodsCategoryCouponParam);
return AjaxResult.success();
}
/**
*
*
* @param goodsCategoryCouponParam
* @return Object
*/
@Log(title = "品类与优惠券关联编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = GoodsCategoryCouponParam.update.class) @RequestBody GoodsCategoryCouponParam goodsCategoryCouponParam) {
iGoodsCategoryCouponService.edit(goodsCategoryCouponParam);
return AjaxResult.success();
}
/**
*
*
* @param goodsCategoryCouponParam
* @return Object
*/
@Log(title = "品类与优惠券关联删除")
@PostMapping("/del")
public Object del(@Validated(value = GoodsCategoryCouponParam.delete.class) @RequestBody GoodsCategoryCouponParam goodsCategoryCouponParam) {
iGoodsCategoryCouponService.del(goodsCategoryCouponParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,92 @@
package com.hcy.admin.controller.coupon;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.coupon.IGoodsCouponService;
import com.hcy.admin.validate.coupon.GoodsCouponParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.coupon.GoodsCouponListVo;
import com.hcy.admin.vo.coupon.GoodsCouponDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/goodsCoupon")
public class GoodsCouponController {
@Resource
IGoodsCouponService iGoodsCouponService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<GoodsCouponListVo> list = iGoodsCouponService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
GoodsCouponDetailVo detail = iGoodsCouponService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param goodsCouponParam
* @return Object
*/
@Log(title = "指定商品与优惠券关联新增")
@PostMapping("/add")
public Object add(@Validated(value = GoodsCouponParam.create.class) @RequestBody GoodsCouponParam goodsCouponParam) {
iGoodsCouponService.add(goodsCouponParam);
return AjaxResult.success();
}
/**
*
*
* @param goodsCouponParam
* @return Object
*/
@Log(title = "指定商品与优惠券关联编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = GoodsCouponParam.update.class) @RequestBody GoodsCouponParam goodsCouponParam) {
iGoodsCouponService.edit(goodsCouponParam);
return AjaxResult.success();
}
/**
*
*
* @param goodsCouponParam
* @return Object
*/
@Log(title = "指定商品与优惠券关联删除")
@PostMapping("/del")
public Object del(@Validated(value = GoodsCouponParam.delete.class) @RequestBody GoodsCouponParam goodsCouponParam) {
iGoodsCouponService.del(goodsCouponParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,107 @@
package com.hcy.admin.controller.coupon;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.coupon.IUserCouponService;
import com.hcy.admin.validate.coupon.UserCouponParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.coupon.UserCouponListVo;
import com.hcy.admin.vo.coupon.UserCouponDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/userCoupon")
public class UserCouponController {
@Resource
IUserCouponService iUserCouponService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<UserCouponListVo> list = iUserCouponService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param pageParam
* @param couponId
* @return Object
*/
@GetMapping("/queryUserGetRecord")
public Object queryUserGetRecord(@Validated PageParam pageParam,
@RequestParam Integer couponId) {
PageResult<UserCouponListVo> list = iUserCouponService.queryUserGetRecord(pageParam, couponId);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
UserCouponDetailVo detail = iUserCouponService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param userCouponParam
* @return Object
*/
@Log(title = "用户与优惠券关联新增")
@PostMapping("/add")
public Object add(@Validated(value = UserCouponParam.create.class) @RequestBody UserCouponParam userCouponParam) {
iUserCouponService.add(userCouponParam);
return AjaxResult.success();
}
/**
*
*
* @param userCouponParam
* @return Object
*/
@Log(title = "用户与优惠券关联编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = UserCouponParam.update.class) @RequestBody UserCouponParam userCouponParam) {
iUserCouponService.edit(userCouponParam);
return AjaxResult.success();
}
/**
*
*
* @param userCouponParam
* @return Object
*/
@Log(title = "用户与优惠券关联删除")
@PostMapping("/del")
public Object del(@Validated(value = UserCouponParam.delete.class) @RequestBody UserCouponParam userCouponParam) {
iUserCouponService.del(userCouponParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,103 @@
package com.hcy.admin.controller.crontab;
import com.hcy.admin.service.crontab.ICrontabService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.crontab.CrontabCreateValidate;
import com.hcy.admin.validate.crontab.CrontabUpdateValidate;
import com.hcy.admin.vo.crontab.CrontabDetailVo;
import com.hcy.admin.vo.crontab.CrontabListedVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.quartz.SchedulerException;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.text.ParseException;
@RestController
@RequestMapping("api/crontab")
public class CrontabController {
@Resource
ICrontabService iCrontabService;
/**
*
*
* @author fzr
* @param pageParam
* @return AjaxResult< PageResult<CrontabListedVo>>
*/
@GetMapping("/list")
public AjaxResult list(@Validated PageParam pageParam) {
PageResult<CrontabListedVo> list = iCrontabService.list(pageParam);
return AjaxResult.success(list);
}
/**
*
*
* @author fzr
* @param id
* @return AjaxResult<Object>
*/
@GetMapping("/detail")
public AjaxResult detail(@Validated @IDMust() @RequestParam("id") Integer id) {
CrontabDetailVo vo = iCrontabService.detail(id);
return AjaxResult.success(vo);
}
/**
*
*
* @author fzr
* @param createValidate
* @return AjaxResult<Object>
*/
@PostMapping("/add")
public AjaxResult add(@Validated @RequestBody CrontabCreateValidate createValidate) throws SchedulerException {
iCrontabService.add(createValidate);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param updateValidate
* @return AjaxResult<Object>
*/
@PostMapping("/edit")
public AjaxResult edit(@Validated @RequestBody CrontabUpdateValidate updateValidate) throws SchedulerException {
iCrontabService.edit(updateValidate);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param idValidate
* @return AjaxResult<Object>
*/
@PostMapping("/del")
public AjaxResult del(@Validated @RequestBody com.hcy.admin.validate.commons.IdValidate idValidate) throws SchedulerException {
iCrontabService.del(idValidate.getId());
return AjaxResult.success();
}
/**
*
* @param expression
* @return Object
* @throws ParseException
*/
@GetMapping("/expression")
public AjaxResult expression(@Validated @NotNull() @RequestParam("expression") String expression) throws ParseException {
return AjaxResult.success(iCrontabService.expression(expression));
}
}

View File

@ -0,0 +1,37 @@
package com.hcy.admin.controller.decorate;
import com.hcy.admin.service.decorate.IDecorateDataService;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController("decorateDataController")
@RequestMapping("api/decorate/data")
public class DataController {
@Resource
IDecorateDataService iDecorateDataService;
/**
*
*
* @author fzr
* @param limit
* @return Object
*/
@GetMapping("/article")
public Object article(@RequestParam(defaultValue = "10") Integer limit) {
List<Map<String, Object>> list = iDecorateDataService.article(limit);
return AjaxResult.success(list);
}
}

View File

@ -0,0 +1,51 @@
package com.hcy.admin.controller.decorate;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.decorate.IDecoratePageService;
import com.hcy.admin.validate.decorate.DecoratePageParam;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController("decoratePagesController")
@RequestMapping("api/decorate/pages")
public class PagesController {
@Resource
IDecoratePageService iDecoratePageService;
/**
*
*
* @author fzr
* @param id
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
Map<String, Object> map = iDecoratePageService.detail(id);
return AjaxResult.success(map);
}
/**
*
*
* @author fzr
* @param decoratePageParam
* @return Object
*/
@Log(title = "页面装修保存")
@PostMapping("/save")
public Object save(@RequestBody DecoratePageParam decoratePageParam) {
iDecoratePageService.save(decoratePageParam);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,45 @@
package com.hcy.admin.controller.decorate;
import com.hcy.admin.service.decorate.IDecorateTabbarService;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController("decorateTabbarController")
@RequestMapping("api/decorate/tabbar")
public class TabbarController {
@Resource
IDecorateTabbarService iDecorateTabbarService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail() {
Map<String, Object> detail = iDecorateTabbarService.detail();
return AjaxResult.success(detail);
}
/**
*
*
* @author fzr
* @param params
* @return Object
*/
@PostMapping("/save")
public Object save(@RequestBody Map<String, Object> params) {
iDecorateTabbarService.save(params);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,92 @@
package com.hcy.admin.controller.distributor;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.distributor.IDistributorCommissionService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.distribution.DistributorCommissionParam;
import com.hcy.admin.vo.distribution.DistributorCommissionDetailVo;
import com.hcy.admin.vo.distribution.DistributorCommissionListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/commission")
public class DistributorCommissionController {
@Resource
IDistributorCommissionService iDistributorCommissionService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<DistributorCommissionListVo> list = iDistributorCommissionService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
DistributorCommissionDetailVo detail = iDistributorCommissionService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param distributorCommissionParam
* @return Object
*/
@Log(title = "分销商佣金新增")
@PostMapping("/add")
public Object add(@Validated(value = DistributorCommissionParam.create.class) @RequestBody DistributorCommissionParam distributorCommissionParam) {
iDistributorCommissionService.add(distributorCommissionParam);
return AjaxResult.success();
}
/**
*
*
* @param distributorCommissionParam
* @return Object
*/
@Log(title = "分销商佣金编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = DistributorCommissionParam.update.class) @RequestBody DistributorCommissionParam distributorCommissionParam) {
iDistributorCommissionService.edit(distributorCommissionParam);
return AjaxResult.success();
}
/**
*
*
* @param distributorCommissionParam
* @return Object
*/
@Log(title = "分销商佣金删除")
@PostMapping("/del")
public Object del(@Validated(value = DistributorCommissionParam.delete.class) @RequestBody DistributorCommissionParam distributorCommissionParam) {
iDistributorCommissionService.del(distributorCommissionParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,95 @@
package com.hcy.admin.controller.distributor;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.distributor.IDistributorService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.distribution.DistributorBatchParam;
import com.hcy.admin.validate.distribution.DistributorParam;
import com.hcy.admin.validate.distribution.WxScanCodeParam;
import com.hcy.admin.validate.serviceArea.ServiceAreaParam;
import com.hcy.admin.vo.distribution.DistributorDetailVO;
import com.hcy.admin.vo.distribution.DistributorListVO;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("api/distributor")
public class DistributorController {
@Resource
IDistributorService iDistributorService;
/**
*
* @param pageParam
* @param params
* @return
*/
@ApiOperation(value = "分销人员查询")
@GetMapping("/list")
public PageResult<DistributorListVO> list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
return iDistributorService.list(pageParam, params);
}
/**
*
* @param id
* @return
*/
@ApiOperation(value = "分销人员详情")
@GetMapping("/detail")
public DistributorDetailVO detail(@RequestParam Long id) {
return iDistributorService.detail(id);
}
/**
*
*
* @param serviceAreaParam
*/
@ApiOperation(value = "分销人员新增")
@Log(title = "分销人员新增")
@PostMapping("/add")
public Object add(@Validated(value = ServiceAreaParam.create.class) @RequestBody DistributorParam serviceAreaParam) {
iDistributorService.add(serviceAreaParam);
return AjaxResult.success();
}
/**
*
* @param id
*/
@ApiOperation(value = "分销人员删除")
@Log(title = "分销人员删除")
@PostMapping("/del")
public Object del(@RequestBody DistributorBatchParam param) {
return AjaxResult.success(iDistributorService.del(param.getIds()));
}
/**
*
*
* @param serviceAreaParam
*/
@ApiOperation(value = "分销人员编辑")
@Log(title = "分销人员编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = ServiceAreaParam.create.class) @RequestBody DistributorParam serviceAreaParam) {
iDistributorService.edit(serviceAreaParam);
return AjaxResult.success();
}
@ApiOperation(value = "分销码获取")
@Log(title = "分销码获取")
@PostMapping("/genQRCode")
public String generateUnlimitedSunCode(@Validated @RequestBody WxScanCodeParam param) {
return iDistributorService.generateUnlimitedSunCode(param);
}
}

View File

@ -0,0 +1,108 @@
package com.hcy.admin.controller.distributor;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.distributor.IDistributorWithdrawService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.distribution.DistributorWithdrawParam;
import com.hcy.admin.validate.distribution.WithdrawCommissionPageParam;
import com.hcy.admin.validate.distribution.WithdrawCommissionParam;
import com.hcy.admin.vo.distribution.DistributorWithdrawDetailVo;
import com.hcy.admin.vo.distribution.DistributorWithdrawListVo;
import com.hcy.admin.vo.distribution.WithdrawCommissionDetailVo;
import com.hcy.admin.vo.distribution.WithdrawCommissionListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/withdraw")
public class DistributorWithdrawController {
@Resource
IDistributorWithdrawService iDistributorWithdrawService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<DistributorWithdrawListVo> list = iDistributorWithdrawService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
DistributorWithdrawDetailVo detail = iDistributorWithdrawService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param distributorWithdrawParam
* @return Object
*/
@Log(title = "分销商提现删除")
@PostMapping("/del")
public Object del(@Validated(value = DistributorWithdrawParam.delete.class) @RequestBody DistributorWithdrawParam distributorWithdrawParam) {
iDistributorWithdrawService.del(distributorWithdrawParam.getId());
return AjaxResult.success();
}
/**
*
*
* @param withdrawCommissionPageParam
* @return Object
*/
@ApiOperation(value = "分销商提现申请管理 - 列表")
@PostMapping("/applyForList")
public Object list(@Validated @RequestBody WithdrawCommissionPageParam withdrawCommissionPageParam) {
PageResult<WithdrawCommissionListVo> list = iDistributorWithdrawService.applyForList(withdrawCommissionPageParam);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/applyForDetail")
public Object applyForDetail(@Validated @IDMust() @RequestParam("id") Integer id) {
WithdrawCommissionDetailVo detail = iDistributorWithdrawService.applyForDetail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param withdrawCommissionParam
* @return Object
*/
@Log(title = "分销商提现申请编辑")
@PostMapping("/applyForEdit")
public Object applyForEdit(@Validated(value = WithdrawCommissionParam.update.class) @RequestBody WithdrawCommissionParam withdrawCommissionParam) {
iDistributorWithdrawService.applyForEdit(withdrawCommissionParam);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,118 @@
package com.hcy.admin.controller.goods;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.category.IGoodsCategoryService;
import com.hcy.admin.validate.category.GoodsCategoryParam;
import com.hcy.admin.validate.category.GoodsCategoryStatus;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.category.GoodsCategoryDetailVo;
import com.hcy.admin.vo.category.GoodsCategoryListVo;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@Api(tags = "服务分类管理")
@RestController
@RequestMapping("api/category")
public class GoodsCategoryController {
@Resource
IGoodsCategoryService iGoodsCategoryService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@ApiOperation(value = "服务分类管理 - 分页列表")
@GetMapping("/list")
public PageResult<GoodsCategoryListVo> list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
return iGoodsCategoryService.list(pageParam, params);
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "服务分类管理 - 获取一级父类服务分类")
@GetMapping("/commonList")
public List<GoodsCategoryListVo> pid() {
return iGoodsCategoryService.listPid();
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "服务分类管理 - 修改服务的状态")
@PostMapping("/status")
public void updateStatus(@RequestBody GoodsCategoryStatus goodsCategoryStatus) {
iGoodsCategoryService.updateStatus(goodsCategoryStatus.getId(), goodsCategoryStatus.getIsShow());
}
/**
*
*
* @param id ID
* @return Object
*/
@ApiOperation(value = "服务分类管理 - 服务分类详情")
@GetMapping("/detail")
public GoodsCategoryDetailVo detail(@Validated @IDMust() @RequestParam("id") Long id) {
return iGoodsCategoryService.detail(id);
}
/**
*
*
* @param goodsCategoryParam
* @return Object
*/
@ApiOperation(value = "服务分类管理 - 服务分类新增")
@Log(title = "服务分类新增")
@PostMapping("/add")
public void add(@Validated(value = GoodsCategoryParam.create.class) @RequestBody GoodsCategoryParam goodsCategoryParam) {
iGoodsCategoryService.add(goodsCategoryParam);
}
/**
*
*
* @param goodsCategoryParam
* @return Object
*/
@ApiOperation(value = "服务分类管理 - 服务分类编辑")
@Log(title = "服务分类编辑")
@PostMapping("/edit")
public void edit(@Validated(value = GoodsCategoryParam.update.class) @RequestBody GoodsCategoryParam goodsCategoryParam) {
iGoodsCategoryService.edit(goodsCategoryParam);
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "服务分类管理 - 服务分类删除")
@Log(title = "服务分类删除")
@GetMapping("/del")
public void del(@RequestParam("id") Long id) {
iGoodsCategoryService.del(id);
}
}

View File

@ -0,0 +1,134 @@
package com.hcy.admin.controller.goods;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.comment.IGoodsCommentService;
import com.hcy.admin.validate.comment.GoodsCommentPageParam;
import com.hcy.admin.validate.comment.GoodsCommentParam;
import com.hcy.admin.validate.comment.GoodsCommentReplyParam;
import com.hcy.admin.vo.comment.GoodsCommentListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
/**
*
*/
@Api(tags = "服务评价管理")
@RestController
@RequestMapping("api/comment")
public class GoodsCommentController {
@Resource
IGoodsCommentService iGoodsCommentService;
/**
*
*
* @param params
* @return Object
*/
@ApiOperation(value = "服务评价管理 - 分页列表")
@PostMapping("/list")
public PageResult<GoodsCommentListVo> list(@RequestBody GoodsCommentPageParam params) {
return iGoodsCommentService.list(params);
}
/**
*
*
* @param params
* @return Object
*/
@ApiOperation(value = "服务评价管理 - 回复")
@PostMapping("/reply")
public void reply(@RequestBody GoodsCommentReplyParam params) {
iGoodsCommentService.replyComment(params);
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "服务评价删除")
@Log(title = "服务评价删除")
@GetMapping("/del")
public void del(@RequestParam("id") Long id) {
iGoodsCommentService.del(id);
}
/**
*
*
* @return Object
*/
@Log(title = "服务评价 - 计算师傅评分")
@GetMapping("/calculateStaffScore")
public Object calculateStaffScore(@RequestParam("id") Long id,
@RequestParam("staffId") Long staffId,
@RequestParam("score") BigDecimal score) {
return AjaxResult.success("成功",iGoodsCommentService.calculateStaffScore(id,staffId, score));
}
/**
*
*
* @param goodsCommentParam
* @return Object
*/
@Deprecated
@Log(title = "服务评价 - 客服评分")
@PostMapping("/customerServiceAppraiseScore")
public Object customerServiceAppraiseScore(@RequestBody GoodsCommentParam goodsCommentParam) {
iGoodsCommentService.customerServiceAppraiseScore(goodsCommentParam);
return AjaxResult.success();
}
/* *//**
*
*
* @param id ID
* @return Object
*//*
@Deprecated
@ApiOperation(value = "服务评价管理 - 详情")
@GetMapping("/detail")
public GoodsCommentDetailVo detail(@Validated @IDMust() @RequestParam("id") Integer id) {
GoodsCommentDetailVo detail = iGoodsCommentService.detail(id);
return detail;
}
*//**
*
*
* @param goodsCommentParam
* @return Object
*//*
@Deprecated
@ApiOperation(value = "服务评价新增")
@Log(title = "服务评价新增")
@PostMapping("/add")
public void add(@Validated(value = GoodsCommentParam.create.class) @RequestBody GoodsCommentParam goodsCommentParam) {
iGoodsCommentService.add(goodsCommentParam);
}
*//**
*
*
* @param goodsCommentParam
* @return Object
*//*
@Deprecated
@ApiOperation(value = "服务评价编辑")
@Log(title = "服务评价编辑")
@PostMapping("/edit")
public void edit(@Validated(value = GoodsCommentParam.update.class) @RequestBody GoodsCommentParam goodsCommentParam) {
iGoodsCommentService.edit(goodsCommentParam);
}*/
}

View File

@ -0,0 +1,173 @@
package com.hcy.admin.controller.goods;
import com.google.common.collect.Lists;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.goods.IGoodsService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.goods.GoodsBatchParam;
import com.hcy.admin.validate.goods.GoodsBatchPriceParam;
import com.hcy.admin.validate.goods.GoodsParam;
import com.hcy.admin.vo.goods.GoodsDetailVo;
import com.hcy.admin.vo.goods.GoodsListVo;
import com.hcy.admin.vo.goods.StatisticsGoodsVo;
import com.hcy.admin.vo.order.CancelOrderConfigListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@Api(tags = "服务管理")
@RestController
@RequestMapping("api/goods")
public class GoodsController {
@Resource
IGoodsService iGoodsService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@ApiOperation(value = "服务管理 - 分页列表")
@GetMapping("/list")
public PageResult<GoodsListVo> list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
return iGoodsService.list(pageParam, params);
}
/**
* @return java.lang.Object
* @Author slien
* @Description
* @Date 10:17 2022/10/7
* @Param [pageParam, params]
**/
@ApiOperation(value = "服务管理 - 统计状态数据")
@GetMapping("/statistics")
public StatisticsGoodsVo statistics(@RequestParam Map<String, String> params) {
return iGoodsService.statistics(params);
}
/**
*
*
* @param id ID
* @return Object
*/
@ApiOperation(value = "服务管理 - 服务详情")
@GetMapping("/detail")
public GoodsDetailVo detail(@Validated @IDMust() @RequestParam("id") Long id) {
return iGoodsService.detail(id);
}
/**
*
*
* @param goodsParam
* @return Object
*/
@ApiOperation(value = "服务管理 - 服务新增")
@Log(title = "服务新增")
@PostMapping("/add")
public void add(@Validated(value = GoodsParam.create.class) @RequestBody GoodsParam goodsParam) {
iGoodsService.add(goodsParam);
}
/**
*
*
* @param goodsParam
* @return Object
*/
@ApiOperation(value = "服务管理 - 服务编辑")
@Log(title = "服务编辑")
@PostMapping("/edit")
public void edit(@Validated(value = GoodsParam.update.class) @RequestBody GoodsParam goodsParam) {
iGoodsService.edit(goodsParam);
}
/**
*
*
* @param goodsParam
* @return Object
*/
@ApiOperation(value = "服务管理 - 服务批量删除")
@Log(title = "服务批量删除")
@PostMapping("/del")
public void del(@Validated @RequestBody GoodsBatchParam goodsParam) {
iGoodsService.del(goodsParam.getIds());
}
@ApiOperation(value = "服务管理 - 服务删除")
@Log(title = "服务删除")
@GetMapping("/del")
public void del(@Validated @RequestParam("id") Long id) {
iGoodsService.del(Lists.newArrayList(id));
}
/**
*
* or
*
* @param goodsParam
* @return Object
*/
@ApiOperation(value = "服务管理 - 服务批量状态修改")
@Log(title = "服务状态修改")
@PostMapping("/status")
public void updateStatus(@Validated @RequestBody GoodsBatchParam goodsParam) {
iGoodsService.updateStatus(goodsParam.getIds(), goodsParam.getStatus());
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "服务管理 - 修改服务的新品推荐状态")
@PostMapping("/newRecommend")
public void updateNewRecommendStatus(@Validated @RequestBody GoodsBatchParam goodsParam) {
// TODO goodsParam.getStatus()这里应该修改一下
iGoodsService.updateNewRecommendStatus(goodsParam.getIds(), goodsParam.getStatus());
}
/**
*
*
* @param goodsBatchPriceParam
* @return Object
*/
@ApiOperation(value = "服务管理 - 服务编辑")
@Log(title = "服务编辑")
@PostMapping("/batchUpdatePrice")
public void batchUpdatePrice(@Validated @RequestBody GoodsBatchPriceParam goodsBatchPriceParam) {
iGoodsService.batchUpdatePrice(goodsBatchPriceParam.getGoodsParams());
}
/***
*
* @param pageParam
* @param params
* @return PageResult<GoodsListVo>
*/
@GetMapping("/cancelOrderConfig/list")
public Object goodsCancelOrderConfigList(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<GoodsListVo> list = iGoodsService.goodsCancelOrderConfigList(pageParam, params);
return AjaxResult.success(list);
}
}

View File

@ -0,0 +1,113 @@
package com.hcy.admin.controller.goods;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.goods.IGoodsTimeService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.goods.GoodsTimeParam;
import com.hcy.admin.vo.goods.GoodsTimeDetailVo;
import com.hcy.admin.vo.goods.GoodsTimeListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.utils.StringUtil;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/goods/time")
public class GoodsTimeController {
@Resource
IGoodsTimeService iGoodsTimeService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(PageParam pageParam, @RequestParam Map<String, String> params) {
PageResult<GoodsTimeListVo> list = iGoodsTimeService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
* status0
* @return List<GoodsTimeListVo>
*/
@GetMapping("/all")
public Object all() {
return AjaxResult.success(iGoodsTimeService.all());
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@RequestParam("id") Integer id) {
GoodsTimeDetailVo detail = iGoodsTimeService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param goodsTimeParam
* @return Object
*/
@Log(title = "服务时间新增")
@PostMapping("/add")
public Object add(@RequestBody GoodsTimeParam goodsTimeParam) {
iGoodsTimeService.add(goodsTimeParam);
return AjaxResult.success();
}
/**
*
*
* @param goodsTimeParam
* @return Object
*/
@Log(title = "服务时间编辑")
@PostMapping("/edit")
public Object edit(@RequestBody GoodsTimeParam goodsTimeParam) {
iGoodsTimeService.edit(goodsTimeParam);
return AjaxResult.success();
}
/**
*
*
* @param goodsTimeParam
* @return Object
*/
@Log(title = "服务时间删除")
@PostMapping("/del")
public Object del(@RequestBody GoodsTimeParam goodsTimeParam) {
String msg = iGoodsTimeService.del(goodsTimeParam.getGoodsTimeIds());
return StringUtil.isNotEmpty(msg) ? AjaxResult.failed(msg + " 已被服务使用,不可以删除!") : AjaxResult.success();
}
/**
*
*
* @param goodsTimeParam
* @return Object
*/
@Log(title = "updateStatus")
@PostMapping("/updateStatus")
public Object updateStatus(@RequestBody GoodsTimeParam goodsTimeParam) {
iGoodsTimeService.updateStatus(goodsTimeParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,94 @@
package com.hcy.admin.controller.goods;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.unit.IGoodsUnitService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.unit.GoodsUnitParam;
import com.hcy.admin.vo.unit.GoodsUnitDetailVo;
import com.hcy.admin.vo.unit.GoodsUnitListVo;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@Api(tags = "服务单位管理")
@RestController
@RequestMapping("api/unit")
public class GoodsUnitController {
@Resource
IGoodsUnitService iGoodsUnitService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@ApiOperation(value = "服务单位管理 - 分页列表")
@GetMapping("/list")
public PageResult<GoodsUnitListVo> list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
return iGoodsUnitService.list(pageParam, params);
}
/**
*
*
* @param id ID
* @return Object
*/
@ApiOperation(value = "服务单位管理 - 服务单位详情")
@GetMapping("/detail")
public GoodsUnitDetailVo detail(@Validated @IDMust() @RequestParam("id") Long id) {
return iGoodsUnitService.detail(id);
}
/**
*
*
* @param goodsUnitParam
* @return Object
*/
@ApiOperation(value = "服务单位管理 - 服务单位新增")
@Log(title = "服务单位新增")
@PostMapping("/add")
public void add(@Validated(value = GoodsUnitParam.create.class) @RequestBody GoodsUnitParam goodsUnitParam) {
iGoodsUnitService.add(goodsUnitParam);
}
/**
*
*
* @param goodsUnitParam
* @return Object
*/
@ApiOperation(value = "服务单位管理 - 服务单位编辑")
@Log(title = "服务单位编辑")
@PostMapping("/edit")
public void edit(@Validated(value = GoodsUnitParam.update.class) @RequestBody GoodsUnitParam goodsUnitParam) {
iGoodsUnitService.edit(goodsUnitParam);
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "服务单位管理 - 服务单位删除")
@Log(title = "服务单位删除")
@GetMapping("/del")
public void del(@RequestParam("id") Long id) {
iGoodsUnitService.del(id);
}
}

View File

@ -0,0 +1,93 @@
package com.hcy.admin.controller.group;
import com.google.common.collect.Lists;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.group.IDistributeGroupService;
import com.hcy.admin.validate.group.DistributeGroupParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.group.DistributeGroupListVo;
import com.hcy.admin.vo.group.DistributeGroupDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/distributorsGroup")
public class DistributeGroupController {
@Resource
IDistributeGroupService iDistributeGroupService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<DistributeGroupListVo> list = iDistributeGroupService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
DistributeGroupDetailVo detail = iDistributeGroupService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param distributeGroupParam
* @return Object
*/
@Log(title = "分销商组别新增")
@PostMapping("/add")
public Object add(@Validated(value = DistributeGroupParam.create.class) @RequestBody DistributeGroupParam distributeGroupParam) {
iDistributeGroupService.add(distributeGroupParam);
return AjaxResult.success();
}
/**
*
*
* @param distributeGroupParam
* @return Object
*/
@Log(title = "分销商组别编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = DistributeGroupParam.update.class) @RequestBody DistributeGroupParam distributeGroupParam) {
iDistributeGroupService.edit(distributeGroupParam);
return AjaxResult.success();
}
/**
*
*
* @param distributeGroupParam
* @return Object
*/
@Log(title = "分销商组别删除")
@PostMapping("/del")
public Object del(@Validated(value = DistributeGroupParam.delete.class) @RequestBody DistributeGroupParam distributeGroupParam) {
iDistributeGroupService.del(distributeGroupParam.getIds());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,76 @@
package com.hcy.admin.controller.image;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.image.IGoodsImageService;
import com.hcy.admin.validate.image.GoodsImageParam;
import com.hcy.admin.vo.image.GoodsImageDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
*
*/
@Deprecated
@RestController
@RequestMapping("api/image")
public class GoodsImageController {
@Resource
IGoodsImageService iGoodsImageService;
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
GoodsImageDetailVo detail = iGoodsImageService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param goodsImageParam
* @return Object
*/
@Log(title = "服务轮播图新增")
@PostMapping("/add")
public Object add(@Validated(value = GoodsImageParam.create.class) @RequestBody GoodsImageParam goodsImageParam) {
iGoodsImageService.add(goodsImageParam);
return AjaxResult.success();
}
/**
*
*
* @param goodsImageParam
* @return Object
*/
@Log(title = "服务轮播图编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = GoodsImageParam.update.class) @RequestBody GoodsImageParam goodsImageParam) {
iGoodsImageService.edit(goodsImageParam);
return AjaxResult.success();
}
/**
*
*
* @param goodsImageParam
* @return Object
*/
@Log(title = "服务轮播图删除")
@PostMapping("/del")
public Object del(@Validated(value = GoodsImageParam.delete.class) @RequestBody GoodsImageParam goodsImageParam) {
iGoodsImageService.del(goodsImageParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,92 @@
package com.hcy.admin.controller.jobs;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.jobs.IJobsService;
import com.hcy.admin.validate.jobs.JobsParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.jobs.JobsListVo;
import com.hcy.admin.vo.jobs.JobsDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/jobs")
public class JobsController {
@Resource
IJobsService iJobsService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<JobsListVo> list = iJobsService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
JobsDetailVo detail = iJobsService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param jobsParam
* @return Object
*/
@Log(title = "岗位新增")
@PostMapping("/add")
public Object add(@Validated(value = JobsParam.create.class) @RequestBody JobsParam jobsParam) {
iJobsService.add(jobsParam);
return AjaxResult.success();
}
/**
*
*
* @param jobsParam
* @return Object
*/
@Log(title = "岗位编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = JobsParam.update.class) @RequestBody JobsParam jobsParam) {
iJobsService.edit(jobsParam);
return AjaxResult.success();
}
/**
*
*
* @param jobsParam
* @return Object
*/
@Log(title = "岗位删除")
@PostMapping("/del")
public Object del(@Validated(value = JobsParam.delete.class) @RequestBody JobsParam jobsParam) {
//iJobsService.del(jobsParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,39 @@
package com.hcy.admin.controller.log;
import com.hcy.admin.service.log.IOrderRefundLogService;
import com.hcy.admin.vo.log.OrderRefundLogDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* 退
*/
@Deprecated
@RestController
@RequestMapping("api/refund/log")
public class OrderRefundLogController {
@Resource
IOrderRefundLogService iOrderRefundLogService;
/**
* 退
*
* @param refundId ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("refundId") Long refundId) {
List<OrderRefundLogDetailVo> detail = iOrderRefundLogService.detail(refundId);
return AjaxResult.success(detail);
}
}

View File

@ -0,0 +1,92 @@
package com.hcy.admin.controller.log;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.log.ISmsLogService;
import com.hcy.admin.validate.log.SmsLogParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.log.SmsLogListVo;
import com.hcy.admin.vo.log.SmsLogDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/sms/log")
public class SmsLogController {
@Resource
ISmsLogService iSmsLogService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<SmsLogListVo> list = iSmsLogService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
SmsLogDetailVo detail = iSmsLogService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param smsLogParam
* @return Object
*/
@Log(title = "短信发送记录新增")
@PostMapping("/add")
public Object add(@Validated(value = SmsLogParam.create.class) @RequestBody SmsLogParam smsLogParam) {
iSmsLogService.add(smsLogParam);
return AjaxResult.success();
}
/**
*
*
* @param smsLogParam
* @return Object
*/
@Log(title = "短信发送记录编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = SmsLogParam.update.class) @RequestBody SmsLogParam smsLogParam) {
iSmsLogService.edit(smsLogParam);
return AjaxResult.success();
}
/**
*
*
* @param smsLogParam
* @return Object
*/
@Log(title = "短信发送记录删除")
@PostMapping("/del")
public Object del(@Validated(value = SmsLogParam.delete.class) @RequestBody SmsLogParam smsLogParam) {
// iSmsLogService.del(smsLogParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,61 @@
package com.hcy.admin.controller.monitor;
import com.hcy.admin.config.aop.Log;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.utils.StringUtil;
import org.springframework.data.redis.connection.RedisServerCommands;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.*;
/**
*
*/
@RestController(value = "monitorCacheController")
@RequestMapping("api/monitor")
public class CacheController {
@Resource
private RedisTemplate<String, String> redisTemplate;
/**
*
*
* @author fzr
* @return Object
*/
@Log(title = "缓存监控")
@GetMapping("/cache")
public Object info() {
Properties info = (Properties) redisTemplate.execute((RedisCallback<Object>) RedisServerCommands::info);
Properties commandStats = (Properties) redisTemplate.execute((RedisCallback<Object>) connection -> connection.info("commandstats"));
Object dbSize = redisTemplate.execute((RedisCallback<Object>) RedisServerCommands::dbSize);
if (commandStats == null) {
return AjaxResult.failed("获取异常");
}
Map<String, Object> result = new HashMap<>(3);
result.put("info", info);
result.put("dbSize", dbSize);
List<Map<String, String>> pieList = new ArrayList<>();
commandStats.stringPropertyNames().forEach(key -> {
Map<String, String> data = new HashMap<>(2);
String property = commandStats.getProperty(key);
data.put("name", StringUtil.removeStart(key, "cmdstat_"));
data.put("value", StringUtil.substringBetween(property, "calls=", ",usec"));
pieList.add(data);
});
result.put("commandStats", pieList);
return AjaxResult.success(result);
}
}

View File

@ -0,0 +1,30 @@
package com.hcy.admin.controller.monitor;
import com.hcy.admin.config.aop.Log;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.ServerResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
*/
@RestController(value = "monitorServerController")
@RequestMapping("api/monitor")
public class ServerController {
/**
*
*
* @author fzr
* @return Object
*/
@Log(title = "服务监控")
@GetMapping("/server")
public Object info() {
ServerResult server = new ServerResult();
return AjaxResult.success(server.copyTo());
}
}

View File

@ -0,0 +1,70 @@
package com.hcy.admin.controller.order;
import com.alibaba.fastjson2.JSON;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.order.ICancelOrderConfigService;
import com.hcy.admin.validate.order.CancelOrderConfigParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.order.CancelOrderConfigListVo;
import com.hcy.admin.vo.order.CancelOrderConfigDetailVo;
import com.hcy.admin.vo.staff.StaffPhysicalExaminationListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/cancel/order/config")
public class CancelOrderConfigController {
@Resource
ICancelOrderConfigService iCancelOrderConfigService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<CancelOrderConfigListVo> list = iCancelOrderConfigService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param cancelOrderConfigParam
* @return Object
*/
@Log(title = "取消订单配置新增")
@PostMapping("/add")
public Object add(@RequestBody CancelOrderConfigParam cancelOrderConfigParam) {
iCancelOrderConfigService.add(cancelOrderConfigParam);
return AjaxResult.success();
}
/**
*
* @param orderId id
* @return CancelOrderConfig
*/
@ApiOperation(value = "师傅取消订单 - 根据订单上门时间获取取消订单配置")
@GetMapping("/getCancelOrderConfigByOrder")
public Object getCancelOrderConfigByOrder(@RequestParam Long orderId,@RequestParam(required = false) Long staffId) {
CancelOrderConfigDetailVo cancelOrderConfigByOrder = iCancelOrderConfigService.getCancelOrderConfigByOrder(orderId, staffId);
return AjaxResult.success(cancelOrderConfigByOrder == null ? JSON.toJSON(new Object()) : cancelOrderConfigByOrder);
}
}

View File

@ -0,0 +1,211 @@
package com.hcy.admin.controller.order;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.hcy.admin.AdminThreadLocal;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.order.DistributionOrderExcel;
import com.hcy.admin.service.order.IOrderService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.order.CancelOrderConfigParam;
import com.hcy.admin.validate.order.OrderDistributionParam;
import com.hcy.admin.validate.order.OrderPageParam;
import com.hcy.admin.validate.order.OrderParam;
import com.hcy.admin.validate.refund.OrderRefundPageParam;
import com.hcy.admin.vo.order.OrderDetailVo;
import com.hcy.admin.vo.order.OrderDistributionListVo;
import com.hcy.admin.vo.order.OrderListVo;
import com.hcy.admin.vo.order.StatisticsOrderVo;
import com.hcy.admin.vo.staff.StaffPhysicalExaminationListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.utils.ExcelUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
*
*/
@Api(tags = "订单管理")
@Slf4j
@RestController
@RequestMapping("api/order")
public class OrderController {
@Resource
IOrderService iOrderService;
/**
*
*
* @param params
* @return Object
*/
@ApiOperation(value = "订单管理 - 列表")
@PostMapping("/list")
public PageResult<OrderListVo> list(@Validated @RequestBody OrderPageParam params) {
return iOrderService.list(params);
}
/**
*
*
* @param id ID
* @return Object
*/
@ApiOperation(value = "订单管理 - 订单详情")
@GetMapping("/detail")
public OrderDetailVo detail(@Validated @RequestParam("id") Long id) {
return iOrderService.detail(id);
}
/**
* @return java.lang.Object
* @Author slien
* @Description
* @Date 11:47 2022/10/11
* @Param []
**/
@ApiOperation(value = "订单管理 - 统计订单状态的数据")
@GetMapping("/statistics")
public StatisticsOrderVo statistics(@RequestParam Map<String, String> params) {
return iOrderService.statistics(params);
}
/**
* @return java.lang.Object
* @Author slien
* @Description
* @Date 11:47 2022/10/11
* @Param []
**/
@ApiOperation(value = "订单管理 - 商家备注")
@GetMapping("/remark")
public void remark(@RequestParam("id") Long id, @RequestParam(value = "remark", required = false) String remark) {
Integer userId = AdminThreadLocal.getAdminId();
iOrderService.remark(id, userId, remark);
}
/**
* @return java.lang.Object
* @Author slien
* @Description
* @Date 13:57 2022/10/11
* @Param [id]
**/
@ApiOperation(value = "订单管理 - 后台取消订单")
@PostMapping("/cancel")
public void cancel(@RequestBody OrderRefundPageParam orderRefundPageParam) throws WxPayException {
orderRefundPageParam.setUserId(Long.valueOf(AdminThreadLocal.getAdminId()));
iOrderService.cancelOrder(orderRefundPageParam);
}
/**
* @return java.lang.Object
* @Author slien
* @Description
* @Date 14:30 2022/10/11
* @Param [id, staffId]
**/
@ApiOperation(value = "订单管理 - 指派订单给师傅")
@GetMapping("/dispatch")
public Object dispatch(@RequestParam("id") Long id,
@RequestParam("staffId") Long staffId,
@RequestParam(value = "timeBefore",required = false) Integer timeBefore,
@RequestParam(value = "deductScore",required = false) BigDecimal deductScore) {
Integer userId = AdminThreadLocal.getAdminId();
iOrderService.dispatchStaff(id, staffId, userId,timeBefore,deductScore);
return AjaxResult.success();
}
/**
* @return java.lang.Object
* @Author slien
* @Description
* @Date 14:43 2022/10/11
* @Param [id, code]
**/
@ApiOperation(value = "订单管理 - 核销订单")
@GetMapping("/verification")
public void verification(@RequestParam("id") Long id, @RequestParam("code") String code) {
Integer userId = AdminThreadLocal.getAdminId();
iOrderService.verificationOrder(id, code, userId);
}
// /**
// * 订单新增
// *
// * @param orderParam 参数
// * @return Object
// */
// @ApiOperation(value = "订单管理 - ")
// @Log(title = "订单新增")
// @PostMapping("/add")
// public Object add(@Validated(value = OrderParam.create.class) @RequestBody OrderParam orderParam) {
// iOrderService.add(orderParam);
// return AjaxResult.success();
// }
//
// /**
// * 订单编辑
// *
// * @param orderParam 参数
// * @return Object
// */
// @ApiOperation(value = "订单管理 - ")
// @Log(title = "订单编辑")
// @PostMapping("/edit")
// public Object edit(@Validated(value = OrderParam.update.class) @RequestBody OrderParam orderParam) {
// iOrderService.edit(orderParam);
// return AjaxResult.success();
// }
/**
*
*
* @return Object
*/
@ApiOperation(value = "订单管理 - 订单删除")
@Log(title = "订单删除")
@GetMapping("/del")
public void del(@RequestParam("id") Long id) {
iOrderService.del(id);
}
@ApiOperation(value = "订单管理 - 列表")
@PostMapping("/listDistributionOrder")
public PageResult<OrderDistributionListVo> listDistributionOrder(@Validated @RequestBody OrderDistributionParam params) {
return iOrderService.listDistributionOrder(params);
}
//导出Excel
@ApiOperation(value = "订单管理 - 导出分销订单列表")
@PostMapping(value="/exportDistOrderExcel")
public void exportExcel(@Validated @RequestBody OrderDistributionParam params, HttpServletResponse response) {
try {
List<DistributionOrderExcel> list = iOrderService.getDistributionOrderExcel(params);
ExcelUtils.export2Web(response, "分销订单表", "分销订单表", DistributionOrderExcel.class, list);
} catch (Exception e) {
log.error("报表导出异常:", e);
}
}
/**
*
* @param orderParam
*/
@ApiOperation(value = "订单管理 - 师傅确认服务")
@PostMapping("/staff/confirm")
public void confirmGoods(@RequestBody OrderParam orderParam) {
iOrderService.confirmGoods(orderParam);
}
}

View File

@ -0,0 +1,98 @@
package com.hcy.admin.controller.order;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.goods.IOrderGoodsService;
import com.hcy.admin.validate.goods.OrderGoodsParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.goods.OrderGoodsListVo;
import com.hcy.admin.vo.goods.OrderGoodsDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/order_goods")
public class OrderGoodsController {
@Resource
IOrderGoodsService iOrderGoodsService;
/**
*
*
* @author slien
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<OrderGoodsListVo> list = iOrderGoodsService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @author slien
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
OrderGoodsDetailVo detail = iOrderGoodsService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @author slien
* @param orderGoodsParam
* @return Object
*/
@Log(title = "订单服务新增")
@PostMapping("/add")
public Object add(@Validated(value = OrderGoodsParam.create.class) @RequestBody OrderGoodsParam orderGoodsParam) {
iOrderGoodsService.add(orderGoodsParam);
return AjaxResult.success();
}
/**
*
*
* @author slien
* @param orderGoodsParam
* @return Object
*/
@Log(title = "订单服务编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = OrderGoodsParam.update.class) @RequestBody OrderGoodsParam orderGoodsParam) {
iOrderGoodsService.edit(orderGoodsParam);
return AjaxResult.success();
}
/**
*
*
* @author slien
* @param orderGoodsParam
* @return Object
*/
@Log(title = "订单服务删除")
@PostMapping("/del")
public Object del(@Validated(value = OrderGoodsParam.delete.class) @RequestBody OrderGoodsParam orderGoodsParam) {
//iOrderGoodsService.del(orderGoodsParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,92 @@
package com.hcy.admin.controller.order;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.log.IOrderLogService;
import com.hcy.admin.validate.log.OrderLogParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.log.OrderLogListVo;
import com.hcy.admin.vo.log.OrderLogDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/order/log")
public class OrderLogController {
@Resource
IOrderLogService iOrderLogService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<OrderLogListVo> list = iOrderLogService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
OrderLogDetailVo detail = iOrderLogService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param orderLogParam
* @return Object
*/
@Log(title = "订单日志新增")
@PostMapping("/add")
public Object add(@Validated(value = OrderLogParam.create.class) @RequestBody OrderLogParam orderLogParam) {
iOrderLogService.add(orderLogParam);
return AjaxResult.success();
}
/**
*
*
* @param orderLogParam
* @return Object
*/
@Log(title = "订单日志编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = OrderLogParam.update.class) @RequestBody OrderLogParam orderLogParam) {
iOrderLogService.edit(orderLogParam);
return AjaxResult.success();
}
/**
*
*
* @param orderLogParam
* @return Object
*/
@Log(title = "订单日志删除")
@PostMapping("/del")
public Object del(@Validated(value = OrderLogParam.delete.class) @RequestBody OrderLogParam orderLogParam) {
// iOrderLogService.del(orderLogParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,133 @@
package com.hcy.admin.controller.order;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.goods.IGoodsTimeService;
import com.hcy.admin.service.time.IOrderTimeService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.time.OrderTimeParam;
import com.hcy.admin.validate.time.TimeParam;
import com.hcy.admin.vo.time.OrderTimeDetailVo;
import com.hcy.admin.vo.time.OrderTimeListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@Api(tags = "订单预约时间管理")
@RestController
@RequestMapping("api/time")
public class OrderTimeController {
@Resource
IOrderTimeService iOrderTimeService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@ApiOperation(value = "订单预约时间管理 - 分页列表")
@GetMapping("/list")
public PageResult<OrderTimeListVo> list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
return iOrderTimeService.list(pageParam, params);
}
/**
*
*
* @param id ID
* @return Object
*/
@ApiOperation(value = "订单预约时间管理 - 详情")
@GetMapping("/detail")
public OrderTimeDetailVo detail(@Validated @IDMust() @RequestParam("id") Long id) {
return iOrderTimeService.detail(id);
}
/**
*
*
* @param orderTimeParam
* @return Object
*/
@ApiOperation(value = "订单预约时间管理 - 新增")
@Log(title = "订单预约时间新增")
@PostMapping("/add")
public void add(@Validated(value = OrderTimeParam.create.class) @RequestBody OrderTimeParam orderTimeParam) {
iOrderTimeService.add(orderTimeParam);
}
/**
*
*
* @param orderTimeParam
* @return Object
*/
@ApiOperation(value = "订单预约时间管理 - 编辑")
@Log(title = "订单预约时间编辑")
@PostMapping("/edit")
public void edit(@Validated(value = OrderTimeParam.update.class) @RequestBody OrderTimeParam orderTimeParam) {
iOrderTimeService.edit(orderTimeParam);
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "订单预约时间管理 - 删除")
@Log(title = "订单预约时间删除")
@GetMapping("/del")
public void del(@RequestParam("id") Long id) {
iOrderTimeService.del(id);
}
/**
*
*
* @param orderTimeParam id
*/
@ApiOperation(value = "订单预约时间管理 - 批量删除")
@Log(title = "订单预约时间批量删除")
@PostMapping("/batchDel")
public void batchDel(@RequestBody OrderTimeParam orderTimeParam) {
Assert.isFalse(orderTimeParam.getIds().isEmpty(),"时间id集合不能为空");
iOrderTimeService.batchDel(orderTimeParam);
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "订单预约时间管理 - 可提前预约时长")
@GetMapping("/getTime")
public AjaxResult getTime() {
return AjaxResult.success(iOrderTimeService.getOrderTime());
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "订单预约时间管理 - 设置提前预约时长")
@PostMapping("/setTime")
public void setTime(@Validated(value = TimeParam.create.class)
@RequestBody TimeParam timeParam) {
iOrderTimeService.setTime(timeParam);
}
}

View File

@ -0,0 +1,65 @@
package com.hcy.admin.controller.pay;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.pay.IDevPayService;
import com.hcy.admin.validate.pay.DevPayParam;
import com.hcy.admin.vo.pay.DevPayDetailVo;
import com.hcy.admin.vo.pay.DevPayListVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
*
*/
@Api(tags = "支付配置管理")
@RestController
@RequestMapping("api/pay")
public class DevPayController {
@Resource
IDevPayService iDevPayService;
/**
*
*
* @return Object
*/
@ApiOperation(value = "支付配置管理 - 列表")
@GetMapping("/list")
public List<DevPayListVo> list() {
return iDevPayService.listPage();
}
/**
*
*
* @param id ID
* @return Object
*/
@ApiOperation(value = "支付配置管理 - 详情")
@GetMapping("/detail")
public DevPayDetailVo detail(@Validated @RequestParam("id") Long id) {
return iDevPayService.detail(id);
}
/**
*
*
* @param devPayParam
* @return Object
*/
@ApiOperation(value = "支付配置管理 - 编辑")
@Log(title = "支付配置编辑")
@PostMapping("/edit")
public void edit(@Validated(value = DevPayParam.update.class) @RequestBody DevPayParam devPayParam) throws Exception {
iDevPayService.edit(devPayParam);
}
}

View File

@ -0,0 +1,51 @@
package com.hcy.admin.controller.pay;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.way.IDevPayWayService;
import com.hcy.admin.validate.way.DevPayWayParam;
import com.hcy.admin.vo.way.DevPayWayListVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@Api(tags = "支付方式管理")
@RestController
@RequestMapping("api/way")
public class DevPayWayController {
@Resource
IDevPayWayService iDevPayWayService;
/**
*
*
* @return Object
*/
@ApiOperation(value = "支付方式管理 - 列表")
@GetMapping("/list")
public Map<Long, List<DevPayWayListVo>> list() {
return iDevPayWayService.listPage();
}
/**
*
*
* @param devPayWayParam
* @return Object
*/
@ApiOperation(value = "支付方式管理 - 编辑")
@Log(title = "支付方式编辑")
@PostMapping("/edit")
public void edit(@Validated(value = DevPayWayParam.update.class) @RequestBody List<DevPayWayParam> devPayWayParam) {
iDevPayWayService.edit(devPayWayParam);
}
}

View File

@ -0,0 +1,29 @@
package com.hcy.admin.controller.recharge;
import com.hcy.admin.service.recharge.IRechargeOrderService;
import com.hcy.admin.validate.common.PageValidate;
import com.hcy.admin.validate.finance.FinanceRechargeSearchValidate;
import com.hcy.admin.vo.finance.FinanceRechargeListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
@RequestMapping("/api/recharge")
public class RechargeController {
@Resource
private IRechargeOrderService iRechargeOrderService;
@GetMapping("/list")
public AjaxResult list(@Validated PageValidate pageValidate,
@Validated FinanceRechargeSearchValidate searchValidate){
PageResult<FinanceRechargeListVo> list = iRechargeOrderService.list(pageValidate, searchValidate);
return AjaxResult.success(list);
}
}

View File

@ -0,0 +1,33 @@
package com.hcy.admin.controller.refund;
import com.hcy.admin.service.finance.IFinanceService;
import com.hcy.admin.vo.finance.FinanceVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @ClassName FinanceController
* @Description
* @Autore Slien.zuo
* @Date 2022/10/13 19:17
* @Version 1.0
**/
@Api(tags = "财务中心")
@RestController
@RequestMapping("api/finance")
public class FinanceController {
@Resource
private IFinanceService financeService;
@GetMapping("statistics")
@ApiOperation(value = "财务中心 - 经营中心")
public FinanceVo statisticsFinance() {
return financeService.statisticsFinance();
}
}

View File

@ -0,0 +1,99 @@
package com.hcy.admin.controller.refund;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.hcy.admin.service.log.IOrderRefundLogService;
import com.hcy.admin.service.refund.IOrderRefundService;
import com.hcy.admin.validate.refund.OrderRefundPageParam;
import com.hcy.admin.vo.log.OrderRefundLogDetailVo;
import com.hcy.admin.vo.refund.OrderRefundListVo;
import com.hcy.admin.vo.refund.StatisticsOrderRefundCountVo;
import com.hcy.admin.vo.refund.StatisticsOrderRefundVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.entity.refund.OrderRefund;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* 退
*/
@Api(tags = "订单退款管理")
@RestController
@RequestMapping("api/refund")
public class OrderRefundController {
@Resource
IOrderRefundService iOrderRefundService;
@Resource
private IOrderRefundLogService iOrderRefundLogService;
/**
* 退
*
* @param params
* @return Object
* @author slien
*/
@ApiOperation(value = "订单退款管理 - 列表")
@PostMapping("/list")
public PageResult<OrderRefundListVo> list(@RequestBody OrderRefundPageParam params) {
return iOrderRefundService.list(params);
}
/**
* @return java.lang.Object
* @Author slien
* @Description
* @Date 11:47 2022/10/11
* @Param []
**/
@ApiOperation(value = "订单退款管理 - 统计数量")
@PostMapping("/statistics/count")
public StatisticsOrderRefundCountVo statisticsCount(@RequestBody OrderRefundPageParam params) {
return iOrderRefundService.statisticsCount(params);
}
/**
* @return java.lang.Object
* @Author slien
* @Description
* @Date 11:47 2022/10/11
* @Param []
**/
@ApiOperation(value = "订单退款管理 - 统计金额")
@GetMapping("/statistics/amount")
public StatisticsOrderRefundVo statisticsAmount() {
return iOrderRefundService.statisticsAmount();
}
/**
* 退
*
* @param refundId ID
* @return Object
*/
@ApiOperation(value = "订单退款管理 - 退款详情")
@GetMapping("/detail")
public List<OrderRefundLogDetailVo> detail(@RequestParam("refundId") Long refundId) {
return iOrderRefundLogService.detail(refundId);
}
/**
* 退
*
* @param paramMap 退
* @return Object
*/
@ApiOperation(value = "订单退款管理 - 重新退款")
@PostMapping("/repeat")
public Object repeatRefund(@RequestBody Map<String,String> paramMap) throws WxPayException {
iOrderRefundService.repeatRefund(paramMap);
return AjaxResult.success("操作成功");
}
}

View File

@ -0,0 +1,113 @@
package com.hcy.admin.controller.region;
import com.github.xiaoymin.map.model.MapLocation;
import com.github.xiaoymin.map.request.tencent.AmapGenCoderRequest;
import com.github.xiaoymin.map.response.amap.tencent.AmapGenCoderResponse;
import com.hcy.admin.service.region.IDevRegionService;
import com.hcy.admin.vo.region.DevRegionListVo;
import com.hcy.common.config.map.LikeTenCentClient;
import com.hcy.common.enums.RegionLevelEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Optional;
/**
*
*/
@Api(tags = "地区管理")
@RestController
@RequestMapping("api/region")
public class DevRegionController {
@Resource
IDevRegionService iDevRegionService;
@Resource
private LikeTenCentClient mapClient;
/**
*
*
* @return Object
*/
@ApiOperation(value = "省市区树形结构")
@GetMapping("/tree")
public List<DevRegionListVo> tree() {
// 树形结构
return iDevRegionService.tree();
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "获取省")
@GetMapping("/province")
public List<DevRegionListVo> province() {
// 国家下查省级数据
return iDevRegionService.province(RegionLevelEnum.PROVINCE.getCode());
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "获取城市")
@GetMapping("/city")
public List<DevRegionListVo> city(@RequestParam(value = "provinceId", required = false) Long provinceId) {
// 省下查市数据
return iDevRegionService.city(provinceId, RegionLevelEnum.CITY.getCode());
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "获取县/区")
@GetMapping("/district")
public List<DevRegionListVo> district(@RequestParam(value = "cityId", required = false) Long cityId) {
// 市下查县区数据
return iDevRegionService.district(cityId, RegionLevelEnum.DISTRICT.getCode());
}
/**
*
*
* @return Object
*/
@ApiOperation(value = "删除缓存")
@GetMapping("/del/cache")
public void delCache() {
// 删除缓存
iDevRegionService.delCache();
}
/**
*
*
* @return Object
*/
@PostMapping("/genCoder")
public AmapGenCoderResponse genCoder(@RequestBody AmapGenCoderRequest request) {
Optional<AmapGenCoderResponse> tencentGenCoderResponse = mapClient.genCoder(request);
return tencentGenCoderResponse.get();
}
/**
*
*
* @return Object
*/
@GetMapping("/keyWordAddress")
public MapLocation genCoder(@RequestParam("keyWord") String keyWord) {
return mapClient.address(keyWord);
}
}

View File

@ -0,0 +1,92 @@
package com.hcy.admin.controller.reply;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.reply.IOfficialAccountReplyService;
import com.hcy.admin.validate.reply.OfficialAccountReplyParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.reply.OfficialAccountReplyListVo;
import com.hcy.admin.vo.reply.OfficialAccountReplyDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/reply")
public class OfficialAccountReplyController {
@Resource
IOfficialAccountReplyService iOfficialAccountReplyService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<OfficialAccountReplyListVo> list = iOfficialAccountReplyService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
OfficialAccountReplyDetailVo detail = iOfficialAccountReplyService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param officialAccountReplyParam
* @return Object
*/
@Log(title = "微信公众号自动回复新增")
@PostMapping("/add")
public Object add(@Validated(value = OfficialAccountReplyParam.create.class) @RequestBody OfficialAccountReplyParam officialAccountReplyParam) {
iOfficialAccountReplyService.add(officialAccountReplyParam);
return AjaxResult.success();
}
/**
*
*
* @param officialAccountReplyParam
* @return Object
*/
@Log(title = "微信公众号自动回复编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = OfficialAccountReplyParam.update.class) @RequestBody OfficialAccountReplyParam officialAccountReplyParam) {
iOfficialAccountReplyService.edit(officialAccountReplyParam);
return AjaxResult.success();
}
/**
*
*
* @param officialAccountReplyParam
* @return Object
*/
@Log(title = "微信公众号自动回复删除")
@PostMapping("/del")
public Object del(@Validated(value = OfficialAccountReplyParam.delete.class) @RequestBody OfficialAccountReplyParam officialAccountReplyParam) {
// iOfficialAccountReplyService.del(officialAccountReplyParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,63 @@
package com.hcy.admin.controller.serviceArea;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.serviceArea.IServiceAreaService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.serviceArea.ServiceAreaParam;
import com.hcy.admin.vo.serviceArea.ServiceAreaListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
@Api(tags = "服务区域管理")
@RestController
@RequestMapping("api/serviceArea")
public class ServiceAreaController {
@Resource
IServiceAreaService iServiceAreaService;
/**
*
*
* @param params
* @return Object
*/
@ApiOperation(value = "服务区域查询")
@GetMapping("/list")
public PageResult<ServiceAreaListVo> list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
return iServiceAreaService.list(pageParam, params);
}
/**
*
*
* @param goodsUnitParam
*/
@ApiOperation(value = "服务区域新增")
@Log(title = "服务单位新增")
@PostMapping("/add")
public Object add(@Validated(value = ServiceAreaParam.create.class) @RequestBody ServiceAreaParam serviceAreaParam) {
iServiceAreaService.add(serviceAreaParam);
return AjaxResult.success();
}
/**
*
* @param id
*/
@ApiOperation(value = "服务区域删除")
@Log(title = "服务单位删除")
@GetMapping("/del")
public Object del(@RequestParam("id") Long id) {
iServiceAreaService.del(id);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,54 @@
package com.hcy.admin.controller.serviceArea;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.serviceArea.IServiceAreaStaffService;
import com.hcy.admin.validate.serviceArea.ServiceAreaStaffParam;
import com.hcy.admin.vo.serviceArea.ServiceAreaListVo;
import com.hcy.common.core.AjaxResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@Api(tags = "服务区域管理")
@RestController
@RequestMapping("api/serviceAreaStaff")
public class ServiceAreaStaffController {
@Resource
IServiceAreaStaffService iServiceAreaStaffService;
@ApiOperation(value = "师傅服务区域查询")
@Log(title = "师傅服务区域查询")
@GetMapping("/list")
public Object areaList(@RequestParam Long staffId) {
List<ServiceAreaListVo> list = iServiceAreaStaffService.list(staffId);
return AjaxResult.success(list);
}
@ApiOperation(value = "添加师傅服务区域")
@Log(title = "添加师傅服务区域")
@PostMapping("/add")
public Object areaAdd(@Validated(value = ServiceAreaStaffParam.create.class) @RequestBody ServiceAreaStaffParam param) {
iServiceAreaStaffService.add(param);
return AjaxResult.success();
}
@ApiOperation(value = "删除师傅服务区域")
@Log(title = "删除师傅服务区域")
@PostMapping("/del")
public Object areaDel(@Validated(value = ServiceAreaStaffParam.create.class) @RequestBody ServiceAreaStaffParam param) {
iServiceAreaStaffService.del(param);
return AjaxResult.success();
}
@ApiOperation(value = "批量更改师傅服务区域")
@Log(title = "批量更改师傅服务区域")
@PostMapping("/edit")
public Object areaEdit(@RequestBody List<ServiceAreaStaffParam> params) {
iServiceAreaStaffService.edit(params);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,92 @@
package com.hcy.admin.controller.session;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.session.IAdminSessionService;
import com.hcy.admin.validate.session.AdminSessionParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.session.AdminSessionListVo;
import com.hcy.admin.vo.session.AdminSessionDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/admin/session")
public class AdminSessionController {
@Resource
IAdminSessionService iAdminSessionService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<AdminSessionListVo> list = iAdminSessionService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
AdminSessionDetailVo detail = iAdminSessionService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param adminSessionParam
* @return Object
*/
@Log(title = "会话新增")
@PostMapping("/add")
public Object add(@Validated(value = AdminSessionParam.create.class) @RequestBody AdminSessionParam adminSessionParam) {
iAdminSessionService.add(adminSessionParam);
return AjaxResult.success();
}
/**
*
*
* @param adminSessionParam
* @return Object
*/
@Log(title = "会话编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = AdminSessionParam.update.class) @RequestBody AdminSessionParam adminSessionParam) {
iAdminSessionService.edit(adminSessionParam);
return AjaxResult.success();
}
/**
*
*
* @param adminSessionParam
* @return Object
*/
@Log(title = "会话删除")
@PostMapping("/del")
public Object del(@Validated(value = AdminSessionParam.delete.class) @RequestBody AdminSessionParam adminSessionParam) {
// iAdminSessionService.del(adminSessionParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,92 @@
package com.hcy.admin.controller.session;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.session.IUserSessionService;
import com.hcy.admin.validate.session.UserSessionParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.session.UserSessionListVo;
import com.hcy.admin.vo.session.UserSessionDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/user/session")
public class UserSessionController {
@Resource
IUserSessionService iUserSessionService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<UserSessionListVo> list = iUserSessionService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
UserSessionDetailVo detail = iUserSessionService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param userSessionParam
* @return Object
*/
@Log(title = "用户会话新增")
@PostMapping("/add")
public Object add(@Validated(value = UserSessionParam.create.class) @RequestBody UserSessionParam userSessionParam) {
iUserSessionService.add(userSessionParam);
return AjaxResult.success();
}
/**
*
*
* @param userSessionParam
* @return Object
*/
@Log(title = "用户会话编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = UserSessionParam.update.class) @RequestBody UserSessionParam userSessionParam) {
iUserSessionService.edit(userSessionParam);
return AjaxResult.success();
}
/**
*
*
* @param userSessionParam
* @return Object
*/
@Log(title = "用户会话删除")
@PostMapping("/del")
public Object del(@Validated(value = UserSessionParam.delete.class) @RequestBody UserSessionParam userSessionParam) {
// iUserSessionService.del(userSessionParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,45 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.service.setting.ISettingCopyrightService;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController("settingCopyrightController")
@RequestMapping("api/setting/copyright")
public class CopyrightController {
@Resource
ISettingCopyrightService iSettingCopyrightService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail() {
List<Map<String, String>> list = iSettingCopyrightService.detail();
return AjaxResult.success(list);
}
/**
*
*
* @author fzr
* @return Object
*/
@PostMapping("/save")
public Object save(@RequestBody List<Map<String, String>> params) {
iSettingCopyrightService.save(params);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,92 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.setting.IDevNoticeSettingService;
import com.hcy.admin.validate.setting.DevNoticeSettingParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.setting.DevNoticeSettingListVo;
import com.hcy.admin.vo.setting.DevNoticeSettingDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/setting")
public class DevNoticeSettingController {
@Resource
IDevNoticeSettingService iDevNoticeSettingService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<DevNoticeSettingListVo> list = iDevNoticeSettingService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
DevNoticeSettingDetailVo detail = iDevNoticeSettingService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param devNoticeSettingParam
* @return Object
*/
@Log(title = "通知设置新增")
@PostMapping("/add")
public Object add(@Validated(value = DevNoticeSettingParam.create.class) @RequestBody DevNoticeSettingParam devNoticeSettingParam) {
iDevNoticeSettingService.add(devNoticeSettingParam);
return AjaxResult.success();
}
/**
*
*
* @param devNoticeSettingParam
* @return Object
*/
@Log(title = "通知设置编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = DevNoticeSettingParam.update.class) @RequestBody DevNoticeSettingParam devNoticeSettingParam) {
iDevNoticeSettingService.edit(devNoticeSettingParam);
return AjaxResult.success();
}
/**
*
*
* @param devNoticeSettingParam
* @return Object
*/
@Log(title = "通知设置删除")
@PostMapping("/del")
public Object del(@Validated(value = DevNoticeSettingParam.delete.class) @RequestBody DevNoticeSettingParam devNoticeSettingParam) {
//iDevNoticeSettingService.del(devNoticeSettingParam.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,110 @@
package com.hcy.admin.controller.setting;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.hcy.admin.service.setting.ISettingDictDataService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.setting.DictDataParam;
import com.hcy.admin.vo.setting.DictDataVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.utils.StringUtil;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController("settingDictDataController")
@RequestMapping("api/setting/dict/data")
public class DictDataController {
@Resource
ISettingDictDataService iSettingDictDataService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/all")
public Object all(@RequestParam Map<String, String> params) {
Assert.isFalse(StringUtil.isEmpty(params.get("dictType")), "dictType缺失");
List<DictDataVo> list = iSettingDictDataService.all(params);
return AjaxResult.success(list);
}
/**
*
*
* @author fzr
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
Assert.isFalse(StringUtil.isEmpty(params.get("dictType")), "dictType缺失");
PageResult<DictDataVo> list = iSettingDictDataService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @author fzr
* @param id
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
DictDataVo vo = iSettingDictDataService.detail(id);
return AjaxResult.success(vo);
}
/**
*
*
* @author fzr
* @param dictDataParam
* @return Object
*/
@PostMapping("/add")
public Object add(@Validated(value = DictDataParam.create.class) @RequestBody DictDataParam dictDataParam) {
iSettingDictDataService.add(dictDataParam);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param dictDataParam
* @return Object
*/
@PostMapping("/edit")
public Object edit(@Validated(value = DictDataParam.update.class) @RequestBody DictDataParam dictDataParam) {
iSettingDictDataService.edit(dictDataParam);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param dictDataParam
* @return Object
*/
@PostMapping("/del")
public Object del(@Validated(value = DictDataParam.delete.class) @RequestBody DictDataParam dictDataParam) {
iSettingDictDataService.del(dictDataParam.getIds());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,106 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.service.setting.ISettingDictTypeService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.setting.DictTypeParam;
import com.hcy.admin.vo.setting.DictTypeVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController("settingDictTypeController")
@RequestMapping("api/setting/dict/type")
public class DictTypeController {
@Resource
ISettingDictTypeService iSettingDictTypeService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/all")
public Object all() {
List<DictTypeVo> list = iSettingDictTypeService.all();
return AjaxResult.success(list);
}
/**
*
*
* @author fzr
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<DictTypeVo> list = iSettingDictTypeService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @author fzr
* @param id
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
DictTypeVo vo = iSettingDictTypeService.detail(id);
return AjaxResult.success(vo);
}
/**
*
*
* @author fzr
* @param dictTypeParam
* @return Object
*/
@PostMapping("/add")
public Object add(@Validated(value = DictTypeParam.create.class) @RequestBody DictTypeParam dictTypeParam) {
iSettingDictTypeService.add(dictTypeParam);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param dictTypeParam
* @return Object
*/
@PostMapping("/edit")
public Object edit(@Validated(value = DictTypeParam.update.class) @RequestBody DictTypeParam dictTypeParam) {
iSettingDictTypeService.edit(dictTypeParam);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param dictTypeParam
* @return Object
*/
@PostMapping("/del")
public Object del(@Validated(value = DictTypeParam.delete.class) @RequestBody DictTypeParam dictTypeParam) {
iSettingDictTypeService.del(dictTypeParam.getIds());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,42 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.service.setting.ISettingLoginService;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
@RestController("settingLoginController")
@RequestMapping("api/setting/login")
public class LoginController {
@Resource
ISettingLoginService iSettingLoginService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail() {
Map<String, Object> map = iSettingLoginService.detail();
return AjaxResult.success(map);
}
/**
*
*
* @author fzr
* @param params
* @return Object
*/
@PostMapping("/save")
public Object save(@RequestBody Map<String, String> params) {
iSettingLoginService.save(params);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,64 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.service.setting.ISettingNoticeService;
import com.hcy.admin.vo.setting.NoticeDetailVo;
import com.hcy.admin.vo.setting.NoticeListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController("settingNoticeController")
@RequestMapping("api/setting/notice")
public class NoticeController {
@Resource
ISettingNoticeService iSettingNoticeService;
/**
*
*
* @author fzr
* @param recipient : 1=, 2=
* @return Object
*/
@GetMapping("/list")
public Object list(@RequestParam Integer recipient) {
List<NoticeListVo> list = iSettingNoticeService.list(recipient);
return AjaxResult.success(list);
}
/**
*
*
* @author fzr
* @param id
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
NoticeDetailVo vo = iSettingNoticeService.detail(id);
return AjaxResult.success(vo);
}
/**
*
*
* @author fzr
* @param params
* @return Object
*/
@PostMapping("/save")
public Object save(@RequestBody Map<String, Object> params) {
iSettingNoticeService.save(params);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,44 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.service.setting.ISettingProtocolService;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController("settingProtocolController")
@RequestMapping("api/setting/protocol")
public class ProtocolController {
@Resource
ISettingProtocolService iSettingProtocolService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail() {
Map<String, Map<String, String>> detail = iSettingProtocolService.detail();
return AjaxResult.success(detail);
}
/**
*
*
* @author fzr
* @return Object
*/
@PostMapping("/save")
public Object save(@RequestBody Map<String, Object> params) {
iSettingProtocolService.save(params);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,31 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.service.setting.IRechargeConfigService;
import com.hcy.admin.validate.setting.RechargeConfigValidate;
import com.hcy.common.core.AjaxResult;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
@RestController
@RequestMapping("/api/recharge/config")
public class RechargeConfigController {
@Resource
private IRechargeConfigService iRechargeConfigService;
@GetMapping("/getConfig")
public AjaxResult getConfig(){
Map<String, Object> config = iRechargeConfigService.getConfig();
return AjaxResult.success(config);
}
@PostMapping("/setConfig")
public AjaxResult setConfig(@RequestBody RechargeConfigValidate rechargeConfigValidate){
iRechargeConfigService.setConfig(rechargeConfigValidate);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,47 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.service.setting.ISettingSearchService;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController("settingSearchController")
@RequestMapping("api/setting/search")
public class SearchController {
@Resource
ISettingSearchService iSettingSearchService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail() {
Map<String, Object> map = iSettingSearchService.detail();
return AjaxResult.success(map);
}
/**
*
*
* @author fzr
* @param params
* @return Object
*/
@PostMapping("/save")
public Object save(@RequestBody Map<String, Object> params) {
iSettingSearchService.save(params);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,61 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.setting.ISettingSmsService;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController("settingSmsController")
@RequestMapping("api/setting/sms")
public class SmsController {
@Resource
ISettingSmsService iSettingSmsService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/list")
public Object list() {
List<Map<String, Object>> list = iSettingSmsService.list();
return AjaxResult.success(list);
}
/**
*
*
* @author fzr
* @param alias
* @return Object
*/
@GetMapping("/detail")
public Object detail(String alias) {
Map<String, Object> map = iSettingSmsService.detail(alias);
return AjaxResult.success(map);
}
/**
*
*
* @author fzr
* @param params
* @return Object
*/
@Log(title = "短信引擎保存")
@PostMapping("/save")
public Object save(@RequestBody Map<String, String> params) {
iSettingSmsService.save(params);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,76 @@
package com.hcy.admin.controller.setting;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.hcy.admin.service.setting.ISettingStorageService;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController("settingStorageController")
@RequestMapping("api/setting/storage")
public class StorageController {
@Resource
ISettingStorageService iSettingStorageService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/list")
public Object list() {
List<Map<String, Object>> list = iSettingStorageService.list();
return AjaxResult.success(list);
}
/**
*
*
* @param alias
* @return Object
*/
@GetMapping("/detail")
public Object detail(String alias) {
Map<String, Object> map = iSettingStorageService.detail(alias);
return AjaxResult.success(map);
}
/**
*
*
* @author fzr
* @param params
* @return Object
*/
@PostMapping("/edit")
public Object edit(@RequestBody Map<String, String> params) {
iSettingStorageService.edit(params);
return AjaxResult.success();
}
/**
*
*
* @author fzr
* @param params
* @return Object
*/
@PostMapping("/change")
public Object change(@RequestBody Map<String, String> params) {
Assert.notNull(params.get("alias"), "alias参数缺失");
Assert.notNull(params.get("status"), "status参数缺失");
String alias = params.get("alias");
Integer status = Integer.parseInt(params.get("status"));
iSettingStorageService.change(alias, status);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,55 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.vo.setting.TransactionSettingVo;
import com.hcy.common.constant.GlobalConstant;
import com.hcy.common.utils.ConfigUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
*
*/
@Api(tags = "系统交易设置")
@RestController("settingTransactionController")
@RequestMapping("api/setting/transaction")
public class TransactionController {
/**
*
*
* @return Object
* @author fzr
*/
@ApiOperation(value = "系统交易设置 - 查询交易设置")
@GetMapping("")
public TransactionSettingVo transactionDetail() {
Map<String, String> map = ConfigUtil.get(GlobalConstant.TRANSACTION_SETTING);
TransactionSettingVo vo = new TransactionSettingVo();
vo.setCancelUnpaidOrders(map.get(GlobalConstant.CANCEL_UNPAID_ORDERS));
vo.setVerificationOrders(map.get(GlobalConstant.VERIFICATION_ORDERS));
vo.setCancelUnpaidOrdersTimes(map.get(GlobalConstant.CANCEL_UNPAID_ORDERS_TIMES));
vo.setVerificationOrdersTimes(map.get(GlobalConstant.VERIFICATION_ORDERS_TIMES));
vo.setIsAuthDispatch(map.get(GlobalConstant.IS_AUTH_DISPATCH));
return vo;
}
/**
*
*
* @return Object
* @author fzr
*/
@ApiOperation(value = "系统交易设置 - 设置交易")
@PostMapping("")
public void setTransaction(@RequestBody TransactionSettingVo vo) {
ConfigUtil.set(GlobalConstant.TRANSACTION_SETTING, GlobalConstant.VERIFICATION_ORDERS, vo.getVerificationOrders());
ConfigUtil.set(GlobalConstant.TRANSACTION_SETTING, GlobalConstant.VERIFICATION_ORDERS_TIMES, vo.getVerificationOrdersTimes());
ConfigUtil.set(GlobalConstant.TRANSACTION_SETTING, GlobalConstant.CANCEL_UNPAID_ORDERS, vo.getCancelUnpaidOrders());
ConfigUtil.set(GlobalConstant.TRANSACTION_SETTING, GlobalConstant.CANCEL_UNPAID_ORDERS_TIMES, vo.getCancelUnpaidOrdersTimes());
ConfigUtil.set(GlobalConstant.TRANSACTION_SETTING, GlobalConstant.IS_AUTH_DISPATCH, vo.getIsAuthDispatch());
}
}

View File

@ -0,0 +1,45 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.service.setting.ISettingUserService;
import com.hcy.common.core.AjaxResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController("settingUserController")
@RequestMapping("api/setting/user")
public class UserController {
@Resource
ISettingUserService iSettingUserService;
/**
*
*
* @author fzr
* @return Object
*/
@GetMapping("/detail")
public Object detail() {
Map<String, Object> map = iSettingUserService.detail();
return AjaxResult.success(map);
}
/**
*
*
* @author fzr
* @param params
* @return Object
*/
@PostMapping("/save")
public Object save(@RequestBody Map<String, String> params) {
iSettingUserService.save(params);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,79 @@
package com.hcy.admin.controller.setting;
import com.hcy.admin.service.setting.ISettingWebsiteService;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.utils.ConfigUtil;
import com.hcy.common.utils.YmlUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController("settingWebsiteController")
@RequestMapping("api/setting/website")
public class WebsiteController {
@Resource
ISettingWebsiteService iSettingWebsiteService;
/**
*
*
* @return Object
* @author fzr
*/
@GetMapping("/detail")
public Object detail() {
Map<String, String> detail = iSettingWebsiteService.detail();
return AjaxResult.success(detail);
}
/**
*
*
* @param params
* @return Object
* @author fzr
*/
@PostMapping("/save")
public Object save(@RequestBody Map<String, String> params) {
iSettingWebsiteService.save(params);
return AjaxResult.success();
}
/**
*
*
* @param
* @return Object
* @author fzr
*/
@GetMapping("/getMapKey")
public Map<String, String> getMapKey() {
String env = YmlUtil.get("like.production");
boolean envStatus = StringUtils.isNotEmpty(env) && env.equals("true");
Map<String, String> mapKey = ConfigUtil.get("website_map_key");
String value = mapKey.get("tencent_map_key");
value = envStatus ? "******" : value;
mapKey.put("tencent_map_key", value);
return mapKey;
}
/**
*
*
* @param
* @return Object
* @author fzr
*/
@PostMapping("/setMapKey")
public void setMapKey(@RequestBody Map<String, String> params) {
for (Map.Entry<String, String> entry : params.entrySet()) {
ConfigUtil.set("website_map_key", entry.getKey(), entry.getValue());
}
}
}

View File

@ -0,0 +1,90 @@
package com.hcy.admin.controller.staff;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.staff.IStaffApplyForService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.staff.StaffApplyForParam;
import com.hcy.admin.vo.staff.StaffApplyForDetailVo;
import com.hcy.admin.vo.staff.StaffApplyForListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/StaffApplyFor")
public class StaffApplyForController {
@Resource
IStaffApplyForService iStaffApplyForService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<StaffApplyForListVo> list = iStaffApplyForService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@RequestParam("id") Integer id) {
StaffApplyForDetailVo detail = iStaffApplyForService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @param staffApplyForParam
* @return Object
*/
@Log(title = "师傅申请新增")
@PostMapping("/add")
public Object add(@Validated(value = StaffApplyForParam.create.class) @RequestBody StaffApplyForParam staffApplyForParam) {
iStaffApplyForService.add(staffApplyForParam);
return AjaxResult.success();
}
/**
*
*
* @param staffApplyForParam
* @return Object
*/
@Log(title = "师傅申请编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = StaffApplyForParam.update.class) @RequestBody StaffApplyForParam staffApplyForParam) {
iStaffApplyForService.edit(staffApplyForParam);
return AjaxResult.success();
}
/**
*
* @param staffApplyForParam
* @return Object
*/
@Log(title = "审批师傅申请")
@PostMapping("/checkStaffApplyFor")
public Object checkStaffApplyFor(@RequestBody StaffApplyForParam staffApplyForParam) {
iStaffApplyForService.checkStaffApplyFor(staffApplyForParam);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,89 @@
package com.hcy.admin.controller.staff;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.staff.IStaffService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.staff.StaffParam;
import com.hcy.admin.vo.staff.StaffDetailVo;
import com.hcy.admin.vo.staff.StaffListVo;
import com.hcy.admin.vo.staff.StaffPageParam;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@Api(tags = "师傅管理")
@RestController
@RequestMapping("api/staff")
public class StaffController {
@Resource
IStaffService iStaffService;
@ApiOperation(value = "师傅管理 - 分页列表")
@PostMapping("/list")
public PageResult<StaffListVo> list(@RequestBody StaffPageParam params) {
return iStaffService.list(params);
}
@ApiOperation(value = "师傅管理 - 师傅详情")
@GetMapping("/detail")
public StaffDetailVo detail(@RequestParam("id") Long id) {
return iStaffService.detail(id);
}
@ApiOperation(value = "师傅管理 - 师傅新增")
@Log(title = "师傅新增")
@PostMapping("/add")
public void add(@RequestBody StaffParam staffParam) {
iStaffService.add(staffParam);
}
@ApiOperation(value = "师傅管理 - 师傅编辑")
@Log(title = "师傅编辑")
@PostMapping("/edit")
public void edit(@RequestBody StaffParam staffParam) {
iStaffService.edit(staffParam);
}
@ApiOperation(value = "师傅管理 - 师傅删除")
@Log(title = "师傅删除")
@GetMapping("/del")
public void del(@RequestParam("id") Long id) {
iStaffService.del(id);
}
@ApiOperation(value = "师傅管理 - 师傅状态变更")
@Log(title = "师傅启动/禁用")
@PostMapping("/status")
public void status(@RequestBody StaffParam staffParam) {
iStaffService.status(staffParam);
}
@ApiOperation(value = "师傅管理 - 师傅接单状态变更")
@PostMapping("/receiveOrderStatus")
public void receiveOrderStatus(@RequestBody StaffParam staffParam) {
iStaffService.receiveOrderStatus(staffParam);
}
@ApiOperation(value = "师傅管理 - 获取没体检报告的师傅")
@GetMapping("/getNotPhysicalExaminationStaff")
public Object getNotPhysicalExaminationStaff(@Validated PageParam pageParam,@RequestParam Map<String, String> params) {
PageResult<StaffListVo> staffListVoPageResult = iStaffService.getNotPhysicalExaminationStaff(pageParam,params);
return AjaxResult.success(staffListVoPageResult);
}
@ApiOperation(value = "师傅管理 - 师傅运营状态变更")
@PostMapping("/updateStaffOperationalStatus")
public void updateStaffOperationalStatus(@RequestBody StaffParam staffParam) {
iStaffService.updateStaffOperationalStatus(staffParam);
}
}

View File

@ -0,0 +1,64 @@
package com.hcy.admin.controller.staff;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.staff.IStaffFeedbackService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.staff.StaffFeedbackParam;
import com.hcy.admin.vo.staff.StaffFeedbackListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/feedback")
public class StaffFeedbackController {
@Resource
IStaffFeedbackService iStaffFeedbackService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<StaffFeedbackListVo> list = iStaffFeedbackService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param staffFeedbackParam
* @return Object
*/
@Log(title = "师傅申述删除")
@PostMapping("/del")
public Object del(@RequestBody StaffFeedbackParam staffFeedbackParam) {
iStaffFeedbackService.del(staffFeedbackParam.getId());
return AjaxResult.success();
}
/**
*
* @param staffFeedbackParam
* @return Object
*/
@Log(title = "师傅申述 - 审核")
@PostMapping("/checkFeedback")
public Object checkFeedback(@RequestBody StaffFeedbackParam staffFeedbackParam) {
iStaffFeedbackService.checkFeedback(staffFeedbackParam);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,76 @@
package com.hcy.admin.controller.staff;
import com.hcy.admin.service.staff.IStaffPhysicalExaminationService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.staff.StaffApplyForParam;
import com.hcy.admin.validate.staff.StaffPhysicalExaminationParam;
import com.hcy.admin.vo.staff.StaffPhysicalExaminationDetailVo;
import com.hcy.admin.vo.staff.StaffPhysicalExaminationListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/physical/examination")
public class StaffPhysicalExaminationController {
@Resource
IStaffPhysicalExaminationService iStaffPhysicalExaminationService;
/**
*
*
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<StaffPhysicalExaminationListVo> list = iStaffPhysicalExaminationService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
StaffPhysicalExaminationDetailVo detail = iStaffPhysicalExaminationService.detail(id);
return AjaxResult.success(detail);
}
/**
*
* @param staffPhysicalExaminationParam
* @return Object
*/
@PostMapping("/checkApplyFor")
public Object checkApplyFor(@RequestBody StaffPhysicalExaminationParam staffPhysicalExaminationParam) {
iStaffPhysicalExaminationService.checkApplyFor(staffPhysicalExaminationParam);
return AjaxResult.success();
}
/**
*
* @param staffApplyForParam
* @return Object
*/
@PostMapping("/uploadPhysicalExamination")
public Object uploadPhysicalExamination(@RequestBody StaffApplyForParam staffApplyForParam) {
iStaffPhysicalExaminationService.uploadPhysicalExamination(staffApplyForParam);
return AjaxResult.success();
}
}

Some files were not shown because too many files have changed in this diff Show More