Compare commits

...

6 Commits

Author SHA1 Message Date
Diyu0904 7b7154f532 Merge branch 'feature/admin' into preview 2025-05-21 13:42:25 +08:00
yang 6723b3654a refactor(mcwl-admin):调整工具列表排序 2025-05-17 09:45:47 +08:00
yang 43a94d4664 refactor(mcwl-admin):调整工具列表排序 2025-05-16 17:47:29 +08:00
yang 849000ca3f feat(system): 工具管理 2025-05-16 16:59:11 +08:00
yang f4c0374375 Merge branch 'feature/community-center' into preview 2025-05-15 16:36:04 +08:00
yang 9311866a61 perf(payment): 优化支付宝服务配置
- 设置最大空闲连接数为 5
- 设置连接超时时间为 3000毫秒
- 设置读取超时时间为 15000 毫秒
- 设置空闲连接存活时间为 10000 毫秒
2025-05-15 16:35:44 +08:00
14 changed files with 310 additions and 7 deletions

View File

@ -1,4 +1,4 @@
package com.mcwl.web.controller.email; package com.mcwl.web.controller.system;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
@ -19,16 +19,15 @@ import javax.validation.Valid;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
/*** /***
* *
*/ */
@RestController @RestController
@RequestMapping("email") @RequestMapping("sys/email")
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "邮箱") @Api(tags = "邮箱")
public class EmailController { public class SysEmailController {
private final ISysEmailService sysEmailService; private final ISysEmailService sysEmailService;

View File

@ -0,0 +1,91 @@
package com.mcwl.web.controller.system;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mcwl.common.constant.HttpStatus;
import com.mcwl.common.core.domain.R;
import com.mcwl.system.domain.SysEmail;
import com.mcwl.system.domain.SysTool;
import com.mcwl.system.domain.dto.AddEmailRes;
import com.mcwl.system.domain.dto.AddToolRes;
import com.mcwl.system.domain.dto.EditEmailRes;
import com.mcwl.system.domain.dto.EditToolRes;
import com.mcwl.system.domain.vo.EmailVo;
import com.mcwl.system.domain.vo.ToolVo;
import com.mcwl.system.service.ISysEmailService;
import com.mcwl.system.service.ISysToolService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Objects;
/***
*
*/
@RestController
@RequestMapping("sys/tool")
@RequiredArgsConstructor
@Api(tags = "工具")
public class SysToolController {
private final ISysToolService sysToolService;
/**
*
*/
@GetMapping("listTool")
@ApiOperation(value = "查询工具列表")
public R<List<ToolVo>> listTool() {
List<SysTool> sysToolList = sysToolService.list(new LambdaQueryWrapper<SysTool>()
.orderByDesc(SysTool::getStatus)
.orderByDesc(SysTool::getCreateTime));
return R.ok(BeanUtil.copyToList(sysToolList, ToolVo.class));
}
/**
* id
*/
@GetMapping("getTool")
@ApiOperation(value = "按id查询工具")
public R<ToolVo> getTool(@Valid @NotNull(message = "工具id不能为空") Long toolId) {
SysTool sysTool = sysToolService.getById(toolId);
return R.ok(BeanUtil.toBean(sysTool, ToolVo.class));
}
@PostMapping("addTool")
@ApiOperation(value = "添加工具")
public R<String> addTool(@Valid @RequestBody AddToolRes addToolRes) {
SysTool sysTool = BeanUtil.toBean(addToolRes, SysTool.class);
return sysToolService.save(sysTool) ? R.ok(null,"添加成功") : R.fail(null,"添加失败");
}
/**
*
*/
@PostMapping("editTool")
@ApiOperation(value = "编辑工具")
public R<String> editTool(@Valid @RequestBody EditToolRes editToolRes) {
SysTool sysTool = BeanUtil.toBean(editToolRes, SysTool.class);
return sysToolService.updateById(sysTool) ? R.ok(null,"编辑成功") : R.fail(null,"编辑失败");
}
/**
*
*/
@GetMapping("delTool")
@ApiOperation(value = "删除工具")
public R<String> delTool(@Valid @NotNull(message = "工具id不能为空") Long toolId) {
return sysToolService.removeById(toolId) ? R.ok(null,"删除成功") : R.fail(null,"删除失败");
}
}

View File

@ -631,6 +631,16 @@ public class AliPayServiceImpl implements AliPayService {
AlipayConfig config = new AlipayConfig(); AlipayConfig config = new AlipayConfig();
//设置连接池中的最大可缓存的空闲连接数
config.setMaxIdleConnections(5);
//连接超时单位毫秒默认3000
config.setConnectTimeout(3000);
//读取超时单位毫秒默认15000
config.setReadTimeout(15000);
//空闲连接存活时间单位毫秒默认10000L
config.setKeepAliveDuration(10000L);
// 设置网关地址 // 设置网关地址
config.setServerUrl(aliConfig.getGatewayUrl()); config.setServerUrl(aliConfig.getGatewayUrl());

View File

@ -6,6 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.mcwl.common.core.domain.BaseEntity; import com.mcwl.common.core.domain.BaseEntity;
import lombok.*; import lombok.*;
/**
*
*
*/
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@TableName("sys_email") @TableName("sys_email")

View File

@ -0,0 +1,37 @@
package com.mcwl.system.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mcwl.common.core.domain.BaseEntity;
import lombok.*;
/**
*
*
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_tool")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SysTool extends BaseEntity {
/**
* id
*/
@TableId
private Long id;
/**
* url
*/
private String imageUrl;
/**
* 0 1
*/
private Integer status;
}

View File

@ -0,0 +1,27 @@
package com.mcwl.system.domain.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "新增工具请求对象")
public class AddToolRes {
/**
* url
*/
@ApiModelProperty(value = "图片url", required = true)
@NotBlank(message = "图片url不能为空")
private String imageUrl;
}

View File

@ -0,0 +1,41 @@
package com.mcwl.system.domain.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "编辑工具请求对象")
public class EditToolRes {
/**
* id
*/
@ApiModelProperty(value = "工具id", required = true)
@NotNull(message = "工具id不能为空")
private Long id;
/**
* url
*/
@ApiModelProperty(value = "图片url", required = true)
@NotBlank(message = "图片url不能为空")
private String imageUrl;
/**
*
*/
@ApiModelProperty(value = "状态", required = true)
@NotNull(message = "状态不能为空")
private Integer status;
}

View File

@ -0,0 +1,46 @@
package com.mcwl.system.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.util.Date;
/**
*
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "工具返回对象")
public class ToolVo {
/**
* id
*/
@ApiModelProperty(value = "工具id")
private Long id;
/**
* url
*/
@ApiModelProperty(value = "图片url")
private String imageUrl;
/**
* 0 1
*/
@ApiModelProperty(value = "状态 0不可用 1可用")
private Integer status;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "创建时间")
private Date createTime;
}

View File

@ -6,7 +6,7 @@ import com.mcwl.system.domain.SysUserPayAccountLog;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
/** /**
* *
*/ */
@Mapper @Mapper
public interface SysEmailMapper extends BaseMapper<SysEmail> { public interface SysEmailMapper extends BaseMapper<SysEmail> {

View File

@ -0,0 +1,14 @@
package com.mcwl.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mcwl.system.domain.SysEmail;
import com.mcwl.system.domain.SysTool;
import org.apache.ibatis.annotations.Mapper;
/**
*
*/
@Mapper
public interface SysToolMapper extends BaseMapper<SysTool> {
}

View File

@ -7,7 +7,7 @@ import com.mcwl.system.domain.SysUserPayAccountLog;
import com.mcwl.system.domain.dto.WithdrawalPageRes; import com.mcwl.system.domain.dto.WithdrawalPageRes;
/** /**
* *
* *
* @author mcwl * @author mcwl
*/ */

View File

@ -0,0 +1,15 @@
package com.mcwl.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mcwl.system.domain.SysEmail;
import com.mcwl.system.domain.SysTool;
/**
*
*
* @author mcwl
*/
public interface ISysToolService extends IService<SysTool> {
}

View File

@ -18,7 +18,7 @@ import org.springframework.stereotype.Service;
import java.util.Objects; import java.util.Objects;
/** /**
* *
*/ */
@Service @Service
public class SysEmailServiceImpl extends ServiceImpl<SysEmailMapper, SysEmail> implements ISysEmailService { public class SysEmailServiceImpl extends ServiceImpl<SysEmailMapper, SysEmail> implements ISysEmailService {

View File

@ -0,0 +1,19 @@
package com.mcwl.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mcwl.system.domain.SysEmail;
import com.mcwl.system.domain.SysTool;
import com.mcwl.system.mapper.SysEmailMapper;
import com.mcwl.system.mapper.SysToolMapper;
import com.mcwl.system.service.ISysEmailService;
import com.mcwl.system.service.ISysToolService;
import org.springframework.stereotype.Service;
/**
*
*/
@Service
public class SysToolServiceImpl extends ServiceImpl<SysToolMapper, SysTool> implements ISysToolService {
}