Commit fcab2f44 authored by unset's avatar unset

新增banner,咨询,行业应用等信息接口

parent bcec2f8f
...@@ -14,14 +14,14 @@ logging: ...@@ -14,14 +14,14 @@ logging:
spring: spring:
datasource: datasource:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#driverClassName: com.mysql.jdbc.Driver driverClassName: com.mysql.jdbc.Driver
#url: jdbc:mysql://10.5.52.3:3306/xxfc_order?useUnicode=true&characterEncoding=UTF-8 url: jdbc:mysql://10.5.52.4:3307/rscp_website?useUnicode=true&characterEncoding=UTF-8
#username: root username: root
#password: sslcloud123*() password: sslcloud123*()
driverClassName: org.postgresql.Driver # driverClassName: org.postgresql.Driver
url: jdbc:postgresql://10.5.52.6:5432/rscloudmart # url: jdbc:postgresql://10.5.52.6:5432/rscloudmart
username: postgres # username: postgres
password: root # password: root
jackson: jackson:
time-zone: GMT+8 time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss date-format: yyyy-MM-dd HH:mm:ss
......
...@@ -54,11 +54,18 @@ ...@@ -54,11 +54,18 @@
</select> </select>
<select id="psqlQueryTable" resultType="map"> <select id="psqlQueryTable" resultType="map">
select table_name tableName, engine, table_comment tableComment, create_time createTime from information_schema.tables select c.relname "tableName", 'InnoDB' as engine, cast(obj_description(c.relfilenode,'pg_class') as varchar) as "tableComment", '2020-01-01 00:00:00' as "createTime"
where table_schema = (select database()) and table_name = #{tableName} from pg_class c
where c.relname in (select tablename from pg_tables where schemaname='public' and position('_2' in tablename)=0)
and c.relname = #{tableName}
</select> </select>
<select id="psqlQueryColumns" resultType="map"> <select id="psqlQueryColumns" resultType="map">
select a.attname as "columnName",d.description "columnComment",concat_ws('',t.typname,SUBSTRING(format_type(a.atttypid,a.atttypmod) from '\(.*\)')) as "dataType"
from pg_class c,pg_attribute a,pg_type t,pg_description d
where a.attnum>0 and a.attrelid=c.oid and a.atttypid=t.oid and d.objoid=a.attrelid and d.objsubid=a.attnum
and c.relname in (select c from pg_tables where schemaname='public' and position('_2' in tablename)=0) order by relfilenode desc, c.relname,a.attnum
select column_name columnName, data_type dataType, column_comment columnComment, column_key columnKey, extra from information_schema.columns select column_name columnName, data_type dataType, column_comment columnComment, column_key columnKey, extra from information_schema.columns
where table_name = #{tableName} and table_schema = (select database()) order by ordinal_position where table_name = #{tableName} and table_schema = (select database()) order by ordinal_position
</select> </select>
......
package com.upyuns.platform.rs.website.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.upyuns.platform.rs.website.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @ClassName : IndustryApplicationInfoDto
* @Description : 行业应用信息
* @Author : jiaoruizhen
* @Date: 2020-11-24 09:34
*/
@Data
public class IndustryApplicationInfoDto extends PageParam {
Integer firstTypeId;
Integer secondTypeId;
Integer indexShow;
Integer status;
String title;
}
package com.upyuns.platform.rs.website.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @ClassName : IndustryApplicationTypeDto
* @Description : 行业应用类型
* @Author : jiaoruizhen
* @Date: 2020-11-23 15:56
*/
@Data
public class IndustryApplicationTypeDto extends PageParam {
String title;
}
package com.upyuns.platform.rs.website.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @ClassName : NewsInfoDto
* @Description : 新闻咨询
* @Author : jiaoruizhen
* @Date: 2020-11-23 17:16
*/
@Data
public class NewsInfoDto extends PageParam {
Integer typeId;
}
package com.upyuns.platform.rs.website.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;
}
package com.upyuns.platform.rs.website.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 轮播图
*
* @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;
}
package com.upyuns.platform.rs.website.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 行业应用信息
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:29
*/
@Data
@Table(name = "industry_application_info")
public class IndustryApplicationInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty("")
private Integer id;
/**
* 标题
*/
@Column(name = "title")
@ApiModelProperty(value = "标题")
private String title;
/**
* 封面图
*/
@Column(name = "cover_img")
@ApiModelProperty(value = "封面图")
private String coverImg;
/**
* 详情图
*/
@Column(name = "detail_img")
@ApiModelProperty(value = "详情图")
private String detailImg;
/**
* 详细描述
*/
@Column(name = "introduction")
@ApiModelProperty(value = "详细描述")
private String introduction;
/**
* 属性值json{"industry":"行业","area":"区域","achievements":"成果","source":"数据来源","date":"采集时间","ratio":"分辨率"}
*/
@Column(name = "attribute")
private String attribute;
/**
* 是否提供样例:0、不提供,1、提供
*/
@Column(name = "examples")
@ApiModelProperty(value = "是否提供样例:0、不提供,1、提供")
private Integer examples;
/**
* 样例json:[{"filename":"文件名","size":"文件大小","url":"文件路径"}]
*/
@Column(name = "examples_json")
private String examplesJson;
/**
* 交易保障
*/
@Column(name = "protection")
@ApiModelProperty(value = "交易保障")
private String protection;
/**
* 是否删除:0、否, 1、是
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除:0、否, 1、是")
private Integer isDel;
/**
* 排序
*/
@Column(name = "rank")
@ApiModelProperty(value = "排序")
private Integer rank;
/**
* 是否启用:1、启用,2、禁用
*/
@Column(name = "status")
@ApiModelProperty(value = "是否启用:1、启用,2、禁用")
private Integer status;
/**
* 行业应用类型id
*/
@Column(name = "first_type_id")
@ApiModelProperty(value = "资讯类型")
private Integer firstTypeId;
/**
*
*/
@Column(name = "second_type_id")
@ApiModelProperty(value = "")
private Integer secondTypeId;
/**
* 是否首页展示:1、展示,2、不展示
*/
@Column(name = "index_show")
@ApiModelProperty(value = "是否首页展示:1、展示,2、不展示")
private Integer indexShow;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Date crtTime;
/**
* 修改时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "修改时间", hidden = true )
private Date updTime;
@Transient
private String firstTitle;
@Transient
private String secondTitle;
}
package com.upyuns.platform.rs.website.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 行业应用类型
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:29
*/
@Data
@Table(name = "industry_application_type")
public class IndustryApplicationType implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty("")
private Integer id;
/**
* 行业应用类型标题
*/
@Column(name = "title")
@ApiModelProperty(value = "行业应用类型标题")
private String title;
/**
* 详细介绍
*/
@Column(name = "detail")
@ApiModelProperty(value = "详细介绍")
private String detail;
/**
* 封面图
*/
@Column(name = "cover_img")
@ApiModelProperty(value = "封面图")
private String coverImg;
/**
* 详情图
*/
@Column(name = "detail_img")
@ApiModelProperty(value = "详情图")
private String detailImg;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Date crtTime;
/**
* 更新时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true )
private Date updTime;
/**
* 是否启用,1、启用,2、禁用
*/
@Column(name = "status")
@ApiModelProperty(value = "是否启用,1、启用,2、禁用")
private Integer status;
/**
* 排序字段
*/
@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 = "index_show")
@ApiModelProperty(value = "是否首页展示:1、展示,2、不展示")
private Integer indexShow;
/**
* 父级id:为0时是1级
*/
@Column(name = "pid")
@ApiModelProperty(value = "父级id:为0时是1级")
private Integer pid;
}
package com.upyuns.platform.rs.website.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 新闻咨询
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:28
*/
@Data
@Table(name = "news_info")
public class NewsInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty("")
private Integer id;
/**
* 标题
*/
@Column(name = "title")
@ApiModelProperty(value = "标题")
private String title;
/**
* 简介
*/
@Column(name = "detail")
@ApiModelProperty(value = "简介")
private String detail;
/**
* 封面图
*/
@Column(name = "cover_img")
@ApiModelProperty(value = "封面图")
private String coverImg;
/**
* 内容
*/
@Column(name = "content")
@ApiModelProperty(value = "内容")
private String content;
/**
* 新闻日期
*/
@Column(name = "news_date")
@ApiModelProperty(value = "新闻日期")
private Date newsDate;
/**
* 资讯类型
*/
@Column(name = "type_id")
@ApiModelProperty(value = "资讯类型")
private Integer typeId;
/**
* 是否删除: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;
/**
* 是否首页展示:1、展示,2、不展示
*/
@Column(name = "index_show")
@ApiModelProperty(value = "是否首页展示:1、展示,2、不展示")
private Integer indexShow;
@Transient
String typeName;
}
package com.upyuns.platform.rs.website.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 新闻类型
*
* @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.upyuns.platform.rs.website.vo;
import com.upyuns.platform.rs.website.entity.IndustryApplicationInfo;
import com.upyuns.platform.rs.website.entity.IndustryApplicationType;
import lombok.Data;
/**
* @ClassName : IndustryTypeVo
* @Description : 行业应用首页展示
* @Author : jiaoruizhen
* @Date: 2020-11-24 10:23
*/
@Data
public class IndustryTypeVo extends IndustryApplicationType {
IndustryApplicationInfo industryApplicationInfo;
}
package com.upyuns.platform.rs.website.vo;
import com.upyuns.platform.rs.website.entity.NewsInfo;
import com.upyuns.platform.rs.website.entity.NewsType;
import lombok.Data;
/**
* @ClassName : NewsInfoVo
* @Description : 新闻咨询信息
* @Author : jiaoruizhen
* @Date: 2020-11-23 16:37
*/
@Data
public class NewsInfoTypeVo extends NewsType {
private NewsInfo newsInfoList;
}
package com.upyuns.platform.rs.website.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
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.upyuns.platform.rs.website.dto.BannerDto;
import com.upyuns.platform.rs.website.entity.Banner;
import com.upyuns.platform.rs.website.mapper.BannerMapper;
import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
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);
}
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.upyuns.platform.rs.website.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
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.upyuns.platform.rs.website.dto.IndustryApplicationInfoDto;
import com.upyuns.platform.rs.website.dto.IndustryApplicationTypeDto;
import com.upyuns.platform.rs.website.entity.IndustryApplicationInfo;
import com.upyuns.platform.rs.website.entity.IndustryApplicationType;
import com.upyuns.platform.rs.website.mapper.IndustryApplicationInfoMapper;
import com.upyuns.platform.rs.website.vo.IndustryTypeVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 行业应用信息
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:29
*/
@Service
public class IndustryApplicationInfoBiz extends BaseBiz<IndustryApplicationInfoMapper, IndustryApplicationInfo> {
@Autowired
IndustryApplicationTypeBiz industryApplicationTypeBiz;
/**
* 行业应用信息
* @param industryApplicationInfo
* @return
*/
public ObjectRestResponse addObj(IndustryApplicationInfo industryApplicationInfo) {
if (industryApplicationInfo == null) {
return ObjectRestResponse.paramIsEmpty();
}
if (industryApplicationInfo.getId() != null) {
IndustryApplicationInfo old = selectById(industryApplicationInfo.getId());
if (old == null || old.getIsDel() == 1) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
BeanUtil.copyProperties(industryApplicationInfo, old, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
updateSelectiveByIdRe(old);
} else {
insertSelectiveRe(industryApplicationInfo);
}
return ObjectRestResponse.succ();
}
/**
* 根据id查询详情
* @param id
* @return
*/
public ObjectRestResponse<IndustryApplicationInfo> getOneById(Integer id) {
IndustryApplicationInfo old = selectById(id);
if (old == null || old.getIsDel() == 1) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
return ObjectRestResponse.succ(old);
}
/**
* 查询列表
* @param industryApplicationInfoDto
* @return
*/
public ObjectRestResponse<PageDataVO<IndustryApplicationInfo>> selectList(IndustryApplicationInfoDto industryApplicationInfoDto) {
Query query = new Query(industryApplicationInfoDto);
PageDataVO<IndustryApplicationInfo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectList(query.getSuper()));
return ObjectRestResponse.succ(pageDataVO);
}
/**
* 获取首页展示数据
* @return
*/
public ObjectRestResponse<List<IndustryTypeVo>> getAllIndexShow() {
List<IndustryTypeVo> list = new ArrayList<>();
List<IndustryApplicationType> industryApplicationTypeList = industryApplicationTypeBiz.getAll(1).getData();
if (industryApplicationTypeList != null && industryApplicationTypeList.size() > 0) {
Map<Integer, List<IndustryApplicationType>> map = industryApplicationTypeList.stream().collect(Collectors.groupingBy(IndustryApplicationType::getId));
Example example = new Example(IndustryApplicationInfo.class);
example.createCriteria().andEqualTo("isDel", 0).andEqualTo("status", 1).andEqualTo("indexShow", 1).andIn("firstTypeId", map.keySet());
List<IndustryApplicationInfo> industryApplicationInfoList = mapper.selectByExample(example);
if (industryApplicationInfoList != null && industryApplicationInfoList.size() > 0) {
industryApplicationInfoList.parallelStream().forEach(industryApplicationInfo -> {
if (map.get(industryApplicationInfo.getFirstTypeId()) != null && map.get(industryApplicationInfo.getFirstTypeId()).size() > 0) {
IndustryApplicationType industryApplicationType = map.get(industryApplicationInfo.getFirstTypeId()).get(0);
IndustryTypeVo industryTypeVo = new IndustryTypeVo();
BeanUtil.copyProperties(industryApplicationType, industryTypeVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
industryTypeVo.setIndustryApplicationInfo(industryApplicationInfo);
list.add(industryTypeVo);
}
});
}
}
return ObjectRestResponse.succ(list);
}
}
\ No newline at end of file
package com.upyuns.platform.rs.website.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
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.upyuns.platform.rs.website.dto.IndustryApplicationTypeDto;
import com.upyuns.platform.rs.website.dto.NewsTypeDto;
import com.upyuns.platform.rs.website.entity.IndustryApplicationType;
import com.upyuns.platform.rs.website.entity.NewsType;
import com.upyuns.platform.rs.website.mapper.IndustryApplicationTypeMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
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 IndustryApplicationTypeBiz extends BaseBiz<IndustryApplicationTypeMapper, IndustryApplicationType> {
/**
* 新增类型
* @param industryApplicationType
* @return
*/
public ObjectRestResponse add(IndustryApplicationType industryApplicationType) {
if (industryApplicationType != null) {
return ObjectRestResponse.paramIsEmpty();
}
if (industryApplicationType.getId() != null) {
IndustryApplicationType old = selectById(industryApplicationType.getId());
if (old == null) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
if (StringUtils.isNotBlank(industryApplicationType.getTitle())) {
IndustryApplicationType nameValue = getOneByTitle(industryApplicationType.getTitle());
if (nameValue != null) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "行业应用类型已存在!");
}
}
BeanUtil.copyProperties(industryApplicationType, old, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
updateSelectiveByIdRe(old);
} else {
insertSelectiveRe(industryApplicationType);
}
return ObjectRestResponse.succ();
}
public IndustryApplicationType getOneByTitle(String title) {
Example example = new Example(IndustryApplicationType.class);
example.createCriteria().andEqualTo("title", title);
return mapper.selectOneByExample(example);
}
/**
* 查询所有首页展示
* @param indexShow 是否首页展示
* @return
*/
public ObjectRestResponse<List<IndustryApplicationType>> getAll(Integer indexShow) {
Example example = new Example(IndustryApplicationType.class);
if (indexShow != null) {
example.createCriteria().andEqualTo("isDel", 0).andEqualTo("status", 1).andEqualTo("indexShow",indexShow);
} else {
example.createCriteria().andEqualTo("isDel", 0).andEqualTo("status", 1);
}
return ObjectRestResponse.succ(mapper.selectByExample(example));
}
/**
* 行业应用类型
* @param industryApplicationTypeDto
* @return
*/
public ObjectRestResponse<PageDataVO<IndustryApplicationType>> selectList(IndustryApplicationTypeDto industryApplicationTypeDto) {
Example example = new Example(IndustryApplicationType.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDel", 0);
if (StringUtils.isNotBlank(industryApplicationTypeDto.getTitle())) {
criteria.andLike("title", "%" + industryApplicationTypeDto.getTitle() + "%");
}
example.orderBy("updTime DESC");
Query query = new Query(industryApplicationTypeDto);
PageDataVO<IndustryApplicationType> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectByExample(example));
return ObjectRestResponse.succ(pageDataVO);
}
}
\ No newline at end of file
package com.upyuns.platform.rs.website.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.map.MapUtil;
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.upyuns.platform.rs.website.dto.NewsInfoDto;
import com.upyuns.platform.rs.website.entity.NewsInfo;
import com.upyuns.platform.rs.website.entity.NewsType;
import com.upyuns.platform.rs.website.mapper.NewsInfoMapper;
import com.upyuns.platform.rs.website.vo.NewsInfoTypeVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 新闻咨询
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:28
*/
@Service
public class NewsInfoBiz extends BaseBiz<NewsInfoMapper, NewsInfo> {
@Autowired
NewsTypeBiz newsTypeBiz;
/**
* 新增咨询
* @param newsInfo
* @return
*/
public ObjectRestResponse add(NewsInfo newsInfo) {
if (newsInfo == null) {
return ObjectRestResponse.paramIsEmpty();
}
if (newsInfo.getId() != null) {
NewsInfo old = selectById(newsInfo.getId());
if (old == null) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
BeanUtil.copyProperties(newsInfo, old, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
updateSelectiveByIdRe(old);
} else {
insertSelectiveRe(newsInfo);
}
return ObjectRestResponse.succ();
}
/**
* 查看详情
* @param id
* @return
*/
public ObjectRestResponse<NewsInfo> getOneById(Integer id) {
NewsInfo old = selectById(id);
if (old == null || old.getIsDel() == 1) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
return ObjectRestResponse.succ(old);
}
/**
* 查询所有首页展示数据
* @return
*/
public ObjectRestResponse<List<NewsInfoTypeVo>> getAll() {
Example example = new Example(NewsInfo.class);
example.createCriteria().andEqualTo("isDel", 0).andEqualTo("status", 1).andEqualTo("indexShow", 1);
List<NewsInfoTypeVo> newsInfoTypeVoList = new ArrayList<>();
List<NewsInfo> list = mapper.selectByExample(example);
if (list != null && list.size() > 0) {
Map<Integer, List<NewsInfo>> listMap = list.stream()
.collect(Collectors.groupingBy(NewsInfo::getTypeId));
if (MapUtil.isNotEmpty(listMap)) {
List<NewsType> newsTypeList = newsTypeBiz.getAll(1).getData();
if (newsTypeList != null && newsTypeList.size() > 0) {
Map<Integer, List<NewsType>> map = newsTypeList.stream().collect(Collectors.groupingBy(NewsType::getId));
for (Map.Entry<Integer, List<NewsInfo>> entry : listMap.entrySet()) {
List<NewsType> newsTypes = map.get(entry.getKey());
if (newsTypes != null && newsTypes.size() > 0) {
NewsInfoTypeVo newsInfoTypeVo = new NewsInfoTypeVo();
BeanUtils.copyProperties(newsTypes.get(0), newsInfoTypeVo);
if (entry.getValue() != null && entry.getValue().size() > 0) {
newsInfoTypeVo.setNewsInfoList(entry.getValue().get(0));
}
newsInfoTypeVoList.add(newsInfoTypeVo);
}
}
}
}
}
List<NewsInfoTypeVo> newsInfoTypeVos = newsInfoTypeVoList.stream().sorted((u1, u2) -> u1.getRank().compareTo(u2.getRank())).collect(Collectors.toList());
return ObjectRestResponse.succ(newsInfoTypeVos);
}
/**
* 后台查询列表信息
* @param newsInfoDto
* @return
*/
public ObjectRestResponse<PageDataVO<NewsInfo>> selectList(NewsInfoDto newsInfoDto) {
Query query = new Query(newsInfoDto);
PageDataVO<NewsInfo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectList(query.getSuper()));
return ObjectRestResponse.succ(pageDataVO);
}
}
\ No newline at end of file
package com.upyuns.platform.rs.website.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.common.constant.RestCode;
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.upyuns.platform.rs.website.dto.NewsTypeDto;
import com.upyuns.platform.rs.website.entity.NewsType;
import com.upyuns.platform.rs.website.mapper.NewsTypeMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
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) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "新闻分类名称已存在!");
}
}
BeanUtil.copyProperties(newsType, old, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
updateSelectiveByIdRe(old);
} else {
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);
}
/**
* 查询所有首页展示
* @param indexShow 是否首页展示
* @return
*/
public ObjectRestResponse<List<NewsType>> getAll(Integer indexShow) {
Example example = new Example(NewsType.class);
if (indexShow != null) {
example.createCriteria().andEqualTo("isDel", 0).andEqualTo("status", 1).andEqualTo("indexShow",indexShow);
} else {
example.createCriteria().andEqualTo("isDel", 0).andEqualTo("status", 1);
}
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.upyuns.platform.rs.website.controller;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.upyuns.platform.rs.website.biz.BannerBiz;
import com.upyuns.platform.rs.website.dto.BannerDto;
import com.upyuns.platform.rs.website.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 = "getAll")
public ObjectRestResponse getAll() {
return baseBiz.getAll(1);
}
}
\ No newline at end of file
package com.upyuns.platform.rs.website.controller;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.upyuns.platform.rs.website.biz.IndustryApplicationInfoBiz;
import com.upyuns.platform.rs.website.dto.IndustryApplicationInfoDto;
import com.upyuns.platform.rs.website.entity.IndustryApplicationInfo;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("industryApplicationInfo")
public class IndustryApplicationInfoController extends BaseController<IndustryApplicationInfoBiz, IndustryApplicationInfo> {
@PostMapping(value = "addUpdate")
public ObjectRestResponse addUpdate(@RequestBody IndustryApplicationInfo industryApplicationInfo) {
return baseBiz.addObj(industryApplicationInfo);
}
@GetMapping(value = "getList")
public ObjectRestResponse getList(IndustryApplicationInfoDto industryApplicationInfoDto) {
return baseBiz.selectList(industryApplicationInfoDto);
}
@GetMapping(value = "getAll")
public ObjectRestResponse getAll() {
return baseBiz.getAllIndexShow();
}
}
\ No newline at end of file
package com.upyuns.platform.rs.website.controller;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.upyuns.platform.rs.website.biz.IndustryApplicationTypeBiz;
import com.upyuns.platform.rs.website.dto.IndustryApplicationTypeDto;
import com.upyuns.platform.rs.website.entity.IndustryApplicationType;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("industryApplicationType")
public class IndustryApplicationTypeController extends BaseController<IndustryApplicationTypeBiz, IndustryApplicationType> {
@PostMapping(value = "addUpdate")
public ObjectRestResponse addUpdate(@RequestBody IndustryApplicationType industryApplicationType) {
return baseBiz.add(industryApplicationType);
}
@GetMapping(value = "getList")
public ObjectRestResponse getList(IndustryApplicationTypeDto industryApplicationTypeDto) {
return baseBiz.selectList(industryApplicationTypeDto);
}
@GetMapping(value = "getAll")
public ObjectRestResponse getAll() {
return baseBiz.getAll(1);
}
}
\ No newline at end of file
package com.upyuns.platform.rs.website.controller;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.upyuns.platform.rs.website.biz.NewsInfoBiz;
import com.upyuns.platform.rs.website.dto.NewsInfoDto;
import com.upyuns.platform.rs.website.entity.NewsInfo;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("newsInfo")
public class NewsInfoController extends BaseController<NewsInfoBiz, NewsInfo> {
@PostMapping(value = "addUpdate")
public ObjectRestResponse addUpdate(@RequestBody NewsInfo newsInfo) {
return baseBiz.add(newsInfo);
}
@GetMapping(value = "getList")
public ObjectRestResponse getList(NewsInfoDto newsInfoDto) {
return baseBiz.selectList(newsInfoDto);
}
@GetMapping(value = "getAll")
public ObjectRestResponse getAll() {
return baseBiz.getAll();
}
}
\ No newline at end of file
package com.upyuns.platform.rs.website.controller;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.upyuns.platform.rs.website.biz.NewsTypeBiz;
import com.upyuns.platform.rs.website.dto.NewsTypeDto;
import com.upyuns.platform.rs.website.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 = "getAll")
public ObjectRestResponse getAll() {
return baseBiz.getAll(1);
}
@GetMapping(value = "getList")
public ObjectRestResponse getList(NewsTypeDto newsTypeDto) {
return baseBiz.selectList(newsTypeDto);
}
}
\ No newline at end of file
package com.upyuns.platform.rs.website.mapper;
import com.upyuns.platform.rs.website.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.upyuns.platform.rs.website.mapper;
import com.upyuns.platform.rs.website.entity.Demo;
import tk.mybatis.mapper.common.Mapper;
public interface DemoMapper extends Mapper<Demo> {
}
\ No newline at end of file
package com.upyuns.platform.rs.website.mapper;
import com.upyuns.platform.rs.website.entity.IndustryApplicationInfo;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
import java.util.Map;
/**
* 行业应用信息
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:29
*/
public interface IndustryApplicationInfoMapper extends Mapper<IndustryApplicationInfo> {
List<IndustryApplicationInfo> selectList(Map<String, Object> params);
}
package com.upyuns.platform.rs.website.mapper;
import com.upyuns.platform.rs.website.entity.IndustryApplicationType;
import tk.mybatis.mapper.common.Mapper;
/**
* 行业应用类型
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:29
*/
public interface IndustryApplicationTypeMapper extends Mapper<IndustryApplicationType> {
}
package com.upyuns.platform.rs.website.mapper;
import com.upyuns.platform.rs.website.entity.NewsInfo;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
import java.util.Map;
/**
* 新闻咨询
*
* @author libin
* @email 18178966185@163.com
* @date 2020-11-23 13:52:28
*/
public interface NewsInfoMapper extends Mapper<NewsInfo> {
List<NewsInfo> selectList(Map<String, Object> params);
}
package com.upyuns.platform.rs.website.mapper;
import com.upyuns.platform.rs.website.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> {
}
<?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.upyuns.platform.rs.website.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.upyuns.platform.rs.website.mapper.DemoMapper" >
<resultMap id="BaseResultMap" type="com.upyuns.platform.rs.website.entity.Demo" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
</resultMap>
</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.upyuns.platform.rs.website.mapper.IndustryApplicationInfoMapper">
<select id="selectList" resultType="com.upyuns.platform.rs.website.entity.IndustryApplicationInfo">
SELECT iai.*, iat1.title as firstTitle, iat2.title as secondTitle from industry_application_info iai
LEFT JOIN industry_application_type iat1 on iat1.id = iai.first_type_id
LEFT JOIN industry_application_type iat2 on iat2.id = iai.second_type_id
<where>
<if test="status != null">
and iai.status = #{status}
</if>
<if test="indexShow != null">
and iai.index_show = #{indexShow}
</if>
<if test="firstTypeId != null">
and iai.first_type_id = #{firstTypeId}
</if>
<if test="secondTypeId != null">
and iai.second_type_id = #{secondTypeId}
</if>
<if test="title != null and title != ''">
and iai.title like concat('%', #{title}, '%')
</if>
</where>
order by updTime DESC
</select>
</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.upyuns.platform.rs.website.mapper.IndustryApplicationTypeMapper">
</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.upyuns.platform.rs.website.mapper.NewsInfoMapper">
<select id="selectList" resultType="com.upyuns.platform.rs.website.entity.NewsInfo">
select ni.*, nt.name_cn as typeName from news_info ni
left join news_type nt on nt.id = ni.type_id
<where>
<if test="typeId != null">
and ni.type_id = #{typeId}
</if>
</where>
order by ni.upd_time DESC
</select>
</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.upyuns.platform.rs.website.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