Commit e97282fc authored by unset's avatar unset

新增官网咨询和banner

parent 7e740394
package com.xxfc.platform.uccn.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @ClassName : BannerDto
* @Description : 轮播图信息
* @Author : jiaoruizhen
* @Date: 2020-11-23 14:29
*/
@Data
public class BannerDto extends PageParam {
}
package com.xxfc.platform.uccn.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @ClassName : NewsTypeDto
* @Description : 新闻类型
* @Author : jiaoruizhen
* @Date: 2020-11-23 15:14
*/
@Data
public class NewsTypeDto extends PageParam {
String name;
}
...@@ -152,4 +152,5 @@ public class Article { ...@@ -152,4 +152,5 @@ public class Article {
@ApiModelProperty("description") @ApiModelProperty("description")
private String description; private String description;
private Integer typeId;
} }
package com.xxfc.platform.uccn.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* 轮播图
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:29
*/
@Data
@Table(name = "banner")
public class Banner implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 首页banner图主键
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty("首页banner图主键")
private Integer id;
/**
* 标题
*/
@Column(name = "title")
@ApiModelProperty(value = "标题")
private String title;
/**
* 封面
*/
@Column(name = "cover")
@ApiModelProperty(value = "封面")
private String cover;
/**
* 排序
*/
@Column(name = "rank")
@ApiModelProperty(value = "排序")
private Integer rank;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Date crtTime;
/**
* 修改时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "修改时间", hidden = true )
private Date updTime;
/**
* 跳转链接
*/
@Column(name = "url")
@ApiModelProperty(value = "跳转链接")
private String url;
/**
* 是否删除,0否,1是
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除,0否,1是")
private Integer isDel;
/**
* 状态1--上架;2--下架
*/
@Column(name = "status")
@ApiModelProperty(value = "状态1--上架;2--下架")
private Integer status;
/**
* 是否首页展示:1、展示,2、不展示
*/
@Column(name = "index_show")
@ApiModelProperty(value = "是否首页展示:1、展示,2、不展示")
private Integer indexShow;
//banner位置 0:所有 1:首页
private Integer location;
//跳转类型 0--不跳转;1--商品详情页;2--店铺主页;
private Integer jumpType;
private String jumpId;
}
package com.xxfc.platform.uccn.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* 新闻类型
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:29
*/
@Data
@Table(name = "news_type")
public class NewsType implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty("")
private Integer id;
/**
* 中文名称
*/
@Column(name = "name_cn")
@ApiModelProperty(value = "中文名称")
private String nameCn;
/**
* 英文名称
*/
@Column(name = "name_en")
@ApiModelProperty(value = "英文名称")
private String nameEn;
/**
* 排序
*/
@Column(name = "rank")
@ApiModelProperty(value = "排序")
private Integer rank;
/**
* 是否删除:0、否,1、是
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除:0、否,1、是")
private Integer isDel;
/**
* 是否启用:1、启用,2、禁用
*/
@Column(name = "status")
@ApiModelProperty(value = "是否启用:1、启用,2、禁用")
private Integer status;
/**
*
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "", hidden = true )
private Date crtTime;
/**
*
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "", hidden = true )
private Date updTime;
}
package com.xxfc.platform.uccn.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.uccn.dto.BannerDto;
import com.xxfc.platform.uccn.entity.Banner;
import com.xxfc.platform.uccn.mapper.BannerMapper;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
/**
* 轮播图
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:29
*/
@Service
public class BannerBiz extends BaseBiz<BannerMapper, Banner> {
public ObjectRestResponse add(Banner banner) {
if (banner == null) {
return ObjectRestResponse.paramIsEmpty();
}
if (banner.getId() != null) {
Banner old = selectById(banner.getId());
if (old == null) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
BeanUtil.copyProperties(banner, old, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
updateSelectiveByIdRe(old);
} else {
insertSelectiveRe(banner);
}
return ObjectRestResponse.succ();
}
/**
* 查询所有展示的banner信息
* @param indexShow 是否首页展示
* @return
*/
public ObjectRestResponse<List<Banner>> getAll(Integer indexShow) {
Example example = new Example(Banner.class);
if (indexShow != null) {
example.createCriteria().andEqualTo("isDel", 0).andEqualTo("status", 1).andEqualTo("indexShow",indexShow);
} else {
example.createCriteria().andEqualTo("isDel", 0).andEqualTo("status", 1);
}
example.orderBy("rank");
return ObjectRestResponse.succ(mapper.selectByExample(example));
}
/**
* 后台分页查询
* @param bannerDto
* @return
*/
public ObjectRestResponse<PageDataVO<Banner>> selectList(BannerDto bannerDto) {
Example example = new Example(Banner.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDel", 0);
example.orderBy("updTime").desc();
Query query = new Query(bannerDto);
PageDataVO<Banner> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectByExample(example));
return ObjectRestResponse.succ(pageDataVO);
}
}
\ No newline at end of file
package com.xxfc.platform.uccn.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.uccn.dto.NewsTypeDto;
import com.xxfc.platform.uccn.entity.NewsType;
import com.xxfc.platform.uccn.mapper.NewsTypeMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
/**
* 新闻类型
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:29
*/
@Service
public class NewsTypeBiz extends BaseBiz<NewsTypeMapper, NewsType> {
public ObjectRestResponse add(NewsType newsType) {
if (newsType == null) {
return ObjectRestResponse.paramIsEmpty();
}
if (newsType.getId() != null) {
NewsType old = selectById(newsType.getId());
if (old == null) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
if (StringUtils.isNotBlank(newsType.getNameCn())) {
NewsType nameValue = getOneByName(newsType.getNameCn());
if (nameValue != null && !nameValue.getId().equals(newsType.getId())) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "新闻分类名称已存在!");
}
}
BeanUtil.copyProperties(newsType, old, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
updateSelectiveByIdRe(old);
} else {
if (StringUtils.isNotBlank(newsType.getNameCn())) {
NewsType nameValue = getOneByName(newsType.getNameCn());
if (nameValue != null) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "新闻分类名称已存在!");
}
}
insertSelectiveRe(newsType);
}
return ObjectRestResponse.succ();
}
public NewsType getOneByName(String newsTypeName) {
Example example = new Example(NewsType.class);
example.createCriteria().andEqualTo("isDel", 0).andEqualTo("nameCn", newsTypeName);
return mapper.selectOneByExample(example);
}
/**
* 查询所有首页展示
* @return
*/
public ObjectRestResponse<List<NewsType>> getAll() {
Example example = new Example(NewsType.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDel", 0).andEqualTo("status", 1);
example.orderBy("rank");
return ObjectRestResponse.succ(mapper.selectByExample(example));
}
/**
* 新闻咨询类型
* @param newsTypeDto
* @return
*/
public ObjectRestResponse<PageDataVO<NewsType>> selectList(NewsTypeDto newsTypeDto) {
Example example = new Example(NewsType.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDel", 0);
if (StringUtils.isNotBlank(newsTypeDto.getName())) {
criteria.andLike("nameCn", "%" + newsTypeDto.getName() + "%");
}
example.orderBy("updTime").desc();
Query query = new Query(newsTypeDto);
PageDataVO<NewsType> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectByExample(example));
return ObjectRestResponse.succ(pageDataVO);
}
}
\ No newline at end of file
package com.xxfc.platform.uccn.mapper;
import com.xxfc.platform.uccn.entity.Banner;
import tk.mybatis.mapper.common.Mapper;
/**
* 轮播图
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:29
*/
public interface BannerMapper extends Mapper<Banner> {
}
package com.xxfc.platform.uccn.mapper;
import com.xxfc.platform.uccn.entity.NewsType;
import tk.mybatis.mapper.common.Mapper;
/**
* 新闻类型
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:29
*/
public interface NewsTypeMapper extends Mapper<NewsType> {
}
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.BannerBiz;
import com.xxfc.platform.uccn.dto.BannerDto;
import com.xxfc.platform.uccn.entity.Banner;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("banner")
public class BannerController extends BaseController<BannerBiz, Banner> {
@PostMapping(value = "addUpdate")
public ObjectRestResponse addUpdate(@RequestBody Banner banner) {
return baseBiz.add(banner);
}
@GetMapping(value = "getList")
public ObjectRestResponse getList(BannerDto bannerDto) {
return baseBiz.selectList(bannerDto);
}
@GetMapping(value = "/app/unauth/getAll")
public ObjectRestResponse getAll() {
return baseBiz.getAll(1);
}
}
\ No newline at end of file
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.NewsTypeBiz;
import com.xxfc.platform.uccn.dto.NewsTypeDto;
import com.xxfc.platform.uccn.entity.NewsType;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("newsType")
public class NewsTypeController extends BaseController<NewsTypeBiz, NewsType> {
@PostMapping(value = "addUpdate")
public ObjectRestResponse addOrUpdate(@RequestBody NewsType newsType) {
return baseBiz.add(newsType);
}
@GetMapping(value = "/app/unauth/getAll")
public ObjectRestResponse getAll() {
return baseBiz.getAll();
}
@GetMapping(value = "getList")
public ObjectRestResponse getList(NewsTypeDto newsTypeDto) {
return baseBiz.selectList(newsTypeDto);
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.uccn.mapper.BannerMapper">
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.uccn.mapper.NewsTypeMapper">
</mapper>
\ No newline at end of file
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