Commit 7b736d25 authored by hanfeng's avatar hanfeng

seo

parent a9dcdb5a
package com.xxfc.platform.uccn.dto;
import com.xxfc.platform.uccn.entity.SEO;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
public class SEODto {
private SEO parent;
private List<SEO> list;
public SEODto(SEO parent, List<SEO> list) {
this.parent = parent;
this.list = list;
}
}
package com.xxfc.platform.uccn.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javafx.scene.input.Mnemonic;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.*;
import java.util.Date;
@Data
@Table(name = "seo")
@ApiModel(value = "seo")
@NoArgsConstructor
public class SEO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty(value = "主键")
private Integer id;
@Column(name = "parent_id")
@ApiModelProperty(value = "父模块id")
private Integer parentId;
@Column(name = "name")
@ApiModelProperty(value = "模块名称")
private String name;
@Column(name = "level")
@ApiModelProperty(value = "模块等级")
private Integer level;
@Column(name = "cre_time")
@ApiModelProperty(value = " 创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creTime;
@Column(name = "upd_time")
@ApiModelProperty(value = "修改时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updTime;
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除")
private int isDel;
@Column(name = "rank")
@ApiModelProperty(value = "排序")
private int rank;
public SEO(Integer parentId) {
this.parentId = parentId;
}
}
package com.xxfc.platform.uccn.vo;
import lombok.Data;
@Data
public class SEOQuery {
private Integer page = 1;
private Integer limit = 10;
}
package com.xxfc.platform.uccn.vo;
import com.xxfc.platform.uccn.entity.SEO;
import lombok.Data;
import java.util.List;
@Data
public class SEOvo {
private Integer parentId;
private List<SEO> list;
}
package com.xxfc.platform.uccn.biz;
import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.uccn.dto.SEODto;
import com.xxfc.platform.uccn.entity.SEO;
import com.xxfc.platform.uccn.vo.SEOvo;
import com.xxfc.platform.uccn.mapper.SEOBackgroundMapper;
import com.xxfc.platform.uccn.vo.SEOQuery;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service
public class SEOBackgroundBiz extends BaseBiz<SEOBackgroundMapper, SEO> {
private final Integer BASE_PARENT_ID = 0;
private final Integer NOT_DELETE = 0;
private final Integer level=2;
@Autowired
private ApplicationContext context;
public List<SEODto> getList() {
List<SEO> seoList = getProxy().getListByParentId(BASE_PARENT_ID);
if (CollectionUtils.isEmpty(seoList)) {
return new ArrayList<>();
}
return getSeoDtos(seoList);
}
/**
* 获取SEODto集合
* @param seoList
* @return
*/
private ArrayList<SEODto> getSeoDtos(List<SEO> seoList) {
ArrayList<SEODto> seoDtos = new ArrayList<>();
for (SEO el : seoList) {
List<SEO> list = getListByParentId(el.getId());
seoDtos.add(new SEODto(el, list));
}
return seoDtos;
}
/**
* 根据父类id获取所有子类集合
*
* @param parentId
* @return
*/
@Cache(key = "seoList:{1}")
public List<SEO> getListByParentId(Integer parentId) {
Example exa = new Example(SEO.class);
Example.Criteria criteria = exa.createCriteria();
criteria.andEqualTo("parentId",parentId).andEqualTo("isDel",NOT_DELETE);
exa.orderBy("rank").asc();
return mapper.selectByExample(exa);
}
/**
* 获取代理对象
*
* @return
*/
private SEOBackgroundBiz getProxy() {
return context.getBean(SEOBackgroundBiz.class);
}
/**
* 修改子模块
*
* @param seOvo
* @return
*/
@Cache(key = "seoList:{1.Integer}")
public String update(SEOvo seOvo) {
if (seOvo==null||seOvo.getParentId()==null) {
return "无修改数据";
}
SEO seo = selectOne(new SEO(seOvo.getParentId()));
if (seo.getIsDel()!=NOT_DELETE||BASE_PARENT_ID.equals(seo.getParentId())) {
return "该标签不能修改";
}
if (CollectionUtils.isNotEmpty(seOvo.getList())) {
for (SEO el : seOvo.getList()) {
if (el.getId()==null) {
el.setIsDel(NOT_DELETE);
el.setCreTime(new Date());
mapper.insertSelective(el);
}else {
el.setUpdTime(new Date());
mapper.updateByPrimaryKeySelective(el);
}
}
}
return null;
}
}
package com.xxfc.platform.uccn.mapper;
import com.xxfc.platform.uccn.entity.SEO;
import tk.mybatis.mapper.common.Mapper;
public interface SEOBackgroundMapper extends Mapper<SEO> {
}
package com.xxfc.platform.uccn.rest.admin;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.uccn.biz.SEOBackgroundBiz;
import com.xxfc.platform.uccn.entity.SEO;
import com.xxfc.platform.uccn.vo.SEOvo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("seo")
@Api(tags={"seo后台管理类"})
public class SEOBackgroundController extends BaseController<SEOBackgroundBiz, SEO> {
@GetMapping("/list")
@ApiOperation(value = "查询模块列表")
public ObjectRestResponse findList(){
return ObjectRestResponse.succ(baseBiz.getList());
}
@PutMapping("/upd")
@ApiOperation(value = "修改模块")
public ObjectRestResponse update(@RequestBody SEOvo seOvo){
String update = baseBiz.update(seOvo);
if (update==null) {
return ObjectRestResponse.succ();
}
return ObjectRestResponse.createDefaultFail() ;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment