tijiao
parent
0a860465fa
commit
18f0ad47fc
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.1 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.6 MiB |
|
|
@ -0,0 +1,69 @@
|
|||
package com.mdd.admin.controller.dongtai;
|
||||
|
||||
import com.mdd.admin.aop.Log;
|
||||
import com.mdd.admin.service.IAppTagService;
|
||||
import com.mdd.admin.validate.commons.IdValidate;
|
||||
import com.mdd.admin.validate.commons.PageValidate;
|
||||
import com.mdd.admin.validate.dttag.AppTagCreateValidate;
|
||||
import com.mdd.admin.validate.dttag.AppTagSearchValidate;
|
||||
import com.mdd.admin.validate.dttag.AppTagUpdateValidate;
|
||||
import com.mdd.admin.vo.dttag.AppTagDetailVo;
|
||||
import com.mdd.admin.vo.dttag.AppTagListedVo;
|
||||
import com.mdd.common.core.AjaxResult;
|
||||
import com.mdd.common.core.PageResult;
|
||||
import com.mdd.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;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("api/tag")
|
||||
@Api(tags = "动态标签管理")
|
||||
public class AppTagController {
|
||||
|
||||
@Resource
|
||||
IAppTagService iAppTagService;
|
||||
|
||||
@GetMapping("/list")
|
||||
@ApiOperation(value="动态标签列表")
|
||||
public AjaxResult<PageResult<AppTagListedVo>> list(@Validated PageValidate pageValidate,
|
||||
@Validated AppTagSearchValidate searchValidate) {
|
||||
PageResult<AppTagListedVo> list = iAppTagService.list(pageValidate, searchValidate);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
@GetMapping("/detail")
|
||||
@ApiOperation(value="动态标签详情")
|
||||
public AjaxResult<AppTagDetailVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||
AppTagDetailVo detail = iAppTagService.detail(id);
|
||||
return AjaxResult.success(detail);
|
||||
}
|
||||
|
||||
@Log(title = "动态标签新增")
|
||||
@PostMapping("/add")
|
||||
@ApiOperation(value="动态标签新增")
|
||||
public AjaxResult<Object> add(@Validated @RequestBody AppTagCreateValidate createValidate) {
|
||||
iAppTagService.add(createValidate);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@Log(title = "动态标签编辑")
|
||||
@PostMapping("/edit")
|
||||
@ApiOperation(value="动态标签编辑")
|
||||
public AjaxResult<Object> edit(@Validated @RequestBody AppTagUpdateValidate updateValidate) {
|
||||
iAppTagService.edit(updateValidate);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@Log(title = "动态标签删除")
|
||||
@PostMapping("/del")
|
||||
@ApiOperation(value="动态标签删除")
|
||||
public AjaxResult<Object> del(@Validated @RequestBody IdValidate idValidate) {
|
||||
iAppTagService.del(idValidate.getId());
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
package com.mdd.admin.service;
|
||||
|
||||
import com.mdd.admin.validate.commons.PageValidate;
|
||||
import com.mdd.admin.validate.dttag.AppTagCreateValidate;
|
||||
import com.mdd.admin.validate.dttag.AppTagSearchValidate;
|
||||
import com.mdd.admin.validate.dttag.AppTagUpdateValidate;
|
||||
import com.mdd.admin.vo.dttag.AppTagDetailVo;
|
||||
import com.mdd.admin.vo.dttag.AppTagListedVo;
|
||||
import com.mdd.common.core.PageResult;
|
||||
|
||||
|
||||
/**
|
||||
* 动态标签服务接口类
|
||||
* @author LikeAdmin
|
||||
*/
|
||||
public interface IAppTagService {
|
||||
|
||||
/**
|
||||
* 动态标签列表
|
||||
*
|
||||
* @author LikeAdmin
|
||||
* @param pageValidate 分页参数
|
||||
* @param searchValidate 搜索参数
|
||||
* @return PageResult<AppTagListedVo>
|
||||
*/
|
||||
PageResult<AppTagListedVo> list(PageValidate pageValidate, AppTagSearchValidate searchValidate);
|
||||
|
||||
/**
|
||||
* 动态标签详情
|
||||
*
|
||||
* @author LikeAdmin
|
||||
* @param id 主键ID
|
||||
* @return AppTagDetailVo
|
||||
*/
|
||||
AppTagDetailVo detail(Integer id);
|
||||
|
||||
/**
|
||||
* 动态标签新增
|
||||
*
|
||||
* @author LikeAdmin
|
||||
* @param createValidate 参数
|
||||
*/
|
||||
void add(AppTagCreateValidate createValidate);
|
||||
|
||||
/**
|
||||
* 动态标签编辑
|
||||
*
|
||||
* @author LikeAdmin
|
||||
* @param updateValidate 参数
|
||||
*/
|
||||
void edit(AppTagUpdateValidate updateValidate);
|
||||
|
||||
/**
|
||||
* 动态标签删除
|
||||
*
|
||||
* @author LikeAdmin
|
||||
* @param id 主键ID
|
||||
*/
|
||||
void del(Integer id);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,155 @@
|
|||
package com.mdd.admin.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.yulichang.query.MPJQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.mdd.admin.validate.commons.PageValidate;
|
||||
import com.mdd.admin.service.IAppTagService;
|
||||
|
||||
import com.mdd.admin.validate.dttag.AppTagCreateValidate;
|
||||
import com.mdd.admin.validate.dttag.AppTagSearchValidate;
|
||||
import com.mdd.admin.validate.dttag.AppTagUpdateValidate;
|
||||
import com.mdd.admin.vo.dttag.AppTagDetailVo;
|
||||
import com.mdd.admin.vo.dttag.AppTagListedVo;
|
||||
import com.mdd.common.config.GlobalConfig;
|
||||
import com.mdd.common.core.PageResult;
|
||||
|
||||
import com.mdd.common.entity.dttag.AppTag;
|
||||
import com.mdd.common.mapper.dttag.AppTagMapper;
|
||||
import com.mdd.common.util.ListUtils;
|
||||
import com.mdd.common.util.TimeUtils;
|
||||
import com.mdd.common.util.UrlUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 动态标签实现类
|
||||
* @author LikeAdmin
|
||||
*/
|
||||
@Service
|
||||
public class AppTagServiceImpl implements IAppTagService {
|
||||
|
||||
@Resource
|
||||
AppTagMapper appTagMapper;
|
||||
|
||||
/**
|
||||
* 动态标签列表
|
||||
*
|
||||
* @author LikeAdmin
|
||||
* @param pageValidate 分页参数
|
||||
* @param searchValidate 搜索参数
|
||||
* @return PageResult<AppTagListedVo>
|
||||
*/
|
||||
@Override
|
||||
public PageResult<AppTagListedVo> list(PageValidate pageValidate, AppTagSearchValidate searchValidate) {
|
||||
Integer page = pageValidate.getPageNo();
|
||||
Integer limit = pageValidate.getPageSize();
|
||||
|
||||
QueryWrapper<AppTag> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.orderByDesc("id");
|
||||
|
||||
appTagMapper.setSearch(queryWrapper, searchValidate, new String[]{
|
||||
"like:name:str",
|
||||
"=:parentId@parent_id:int",
|
||||
"=:type:int",
|
||||
});
|
||||
|
||||
IPage<AppTag> iPage = appTagMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||
|
||||
List<AppTagListedVo> list = new LinkedList<>();
|
||||
for(AppTag item : iPage.getRecords()) {
|
||||
AppTagListedVo vo = new AppTagListedVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setCreateTime(TimeUtils.timestampToDate(item.getCreateTime()));
|
||||
vo.setUpdateTime(TimeUtils.timestampToDate(item.getUpdateTime()));
|
||||
list.add(vo);
|
||||
}
|
||||
|
||||
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 动态标签详情
|
||||
*
|
||||
* @author LikeAdmin
|
||||
* @param id 主键参数
|
||||
* @return AppTag
|
||||
*/
|
||||
@Override
|
||||
public AppTagDetailVo detail(Integer id) {
|
||||
AppTag model = appTagMapper.selectOne(
|
||||
new QueryWrapper<AppTag>()
|
||||
.eq("id", id)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在");
|
||||
|
||||
AppTagDetailVo vo = new AppTagDetailVo();
|
||||
BeanUtils.copyProperties(model, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 动态标签新增
|
||||
*
|
||||
* @author LikeAdmin
|
||||
* @param createValidate 参数
|
||||
*/
|
||||
@Override
|
||||
public void add(AppTagCreateValidate createValidate) {
|
||||
AppTag model = new AppTag();
|
||||
model.setCreateTime(System.currentTimeMillis() / 1000);
|
||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
model.setName(createValidate.getName());
|
||||
model.setParentId(createValidate.getParentId());
|
||||
model.setType(createValidate.getType());
|
||||
appTagMapper.insert(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 动态标签编辑
|
||||
*
|
||||
* @author LikeAdmin
|
||||
* @param updateValidate 参数
|
||||
*/
|
||||
@Override
|
||||
public void edit(AppTagUpdateValidate updateValidate) {
|
||||
AppTag model = appTagMapper.selectOne(
|
||||
new QueryWrapper<AppTag>()
|
||||
.eq("id", updateValidate.getId())
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setId(updateValidate.getId());
|
||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
model.setName(updateValidate.getName());
|
||||
model.setParentId(updateValidate.getParentId());
|
||||
model.setType(updateValidate.getType());
|
||||
appTagMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 动态标签删除
|
||||
*
|
||||
* @author LikeAdmin
|
||||
* @param id 主键ID
|
||||
*/
|
||||
@Override
|
||||
public void del(Integer id) {
|
||||
AppTag model = appTagMapper.selectOne(
|
||||
new QueryWrapper<AppTag>()
|
||||
.eq("id", id)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
appTagMapper.delete(new QueryWrapper<AppTag>().eq("id", id));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.mdd.admin.validate.dttag;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@Data
|
||||
@ApiModel("动态标签创建参数")
|
||||
public class AppTagCreateValidate implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotNull(message = "name参数缺失")
|
||||
@ApiModelProperty(value = "标签名称")
|
||||
private String name;
|
||||
|
||||
@NotNull(message = "parentId参数缺失")
|
||||
@ApiModelProperty(value = "父级id,顶级为0")
|
||||
private Integer parentId;
|
||||
|
||||
@NotNull(message = "type参数缺失")
|
||||
@ApiModelProperty(value = "标签类型,1分类,2标签")
|
||||
private Integer type;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package com.mdd.admin.validate.dttag;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@ApiModel("动态标签搜素参数")
|
||||
public class AppTagSearchValidate implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "标签名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "父级id,顶级为0")
|
||||
private Integer parentId;
|
||||
|
||||
@ApiModelProperty(value = "标签类型,1分类,2标签")
|
||||
private Integer type;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package com.mdd.admin.validate.dttag;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import javax.validation.constraints.*;
|
||||
import com.mdd.common.validator.annotation.IDMust;
|
||||
|
||||
/**
|
||||
* 动态标签参数
|
||||
* @author LikeAdmin
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("动态标签更新参数")
|
||||
public class AppTagUpdateValidate implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@IDMust(message = "id参数必传且需大于0")
|
||||
@ApiModelProperty(value = "主键")
|
||||
private Integer id;
|
||||
|
||||
@NotNull(message = "name参数缺失")
|
||||
@ApiModelProperty(value = "标签名称")
|
||||
private String name;
|
||||
|
||||
@NotNull(message = "parentId参数缺失")
|
||||
@ApiModelProperty(value = "父级id,顶级为0")
|
||||
private Integer parentId;
|
||||
|
||||
@NotNull(message = "type参数缺失")
|
||||
@ApiModelProperty(value = "标签类型,1分类,2标签")
|
||||
private Integer type;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.mdd.admin.vo.dttag;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@ApiModel("动态标签详情Vo")
|
||||
public class AppTagDetailVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "标签名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "父级id,顶级为0")
|
||||
private Integer parentId;
|
||||
|
||||
@ApiModelProperty(value = "标签类型,1分类,2标签")
|
||||
private Integer type;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.mdd.admin.vo.dttag;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@ApiModel("动态标签列表Vo")
|
||||
public class AppTagListedVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private String updateTime;
|
||||
|
||||
@ApiModelProperty(value = "标签名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "父级id,顶级为0")
|
||||
private Integer parentId;
|
||||
|
||||
@ApiModelProperty(value = "标签类型,1分类,2标签")
|
||||
private Integer type;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.mdd.common.entity.dttag;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@ApiModel("动态标签实体")
|
||||
public class AppTag implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value="id", type= IdType.AUTO)
|
||||
@ApiModelProperty(value = "主键")
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Long createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Long updateTime;
|
||||
|
||||
@ApiModelProperty(value = "删除时间")
|
||||
private Long deleteTime;
|
||||
|
||||
@ApiModelProperty(value = "标签名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "父级id,顶级为0")
|
||||
private Integer parentId;
|
||||
|
||||
@ApiModelProperty(value = "标签类型,1分类,2标签")
|
||||
private Integer type;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.mdd.common.mapper.dttag;
|
||||
|
||||
import com.mdd.common.core.basics.IBaseMapper;
|
||||
import com.mdd.common.entity.dttag.AppTag;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 动态标签Mapper
|
||||
* @author LikeAdmin
|
||||
*/
|
||||
@Mapper
|
||||
public interface AppTagMapper extends IBaseMapper<AppTag> {
|
||||
}
|
||||
|
|
@ -34,9 +34,9 @@ public class AliyunStorage {
|
|||
* @return String
|
||||
*/
|
||||
public OSS ossClient() {
|
||||
String endpoint = "https://oss-cn-shenzhen.aliyuncs.com";
|
||||
String accessKeyId = this.config.get("accessKey");
|
||||
String accessKeySecret = this.config.get("secretKey");
|
||||
String endpoint = "https://oss-cn-shanghai.aliyuncs.com";
|
||||
String accessKeyId = this.config.get("LTAI5tM1LeE2pkiS3qEFQkfb");
|
||||
String accessKeySecret = this.config.get("fEZZyFvWkETS8Clm73f7qmY9ohcTpc");
|
||||
return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue