Commit b45957b3 authored by libin's avatar libin

banner调整

parent 09acc98a
package com.xxfc.platform.app.constant;
public class RedisKey {
/**
*旅游标签的前缀
*/
public static final String CONSTANT_CODE_PREFIX ="cache:Tag:";
/**
*旅游标签的key
*/
public static final String CONSTANT_CODE_PREFIX_HOTTAG =CONSTANT_CODE_PREFIX+"hotTag";
/**
*首页banner的key
*/
public static final String CONSTANT_CODE_PREFIX_BANNER ="cache:banner:";
}
package com.xxfc.platform.app.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
* @author libin
* @version 1.0
* @description banner 设置
* @data 2019/6/26 9:20
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Banner {
private static final long serialVersionUID = 1L;
/**
* 首页banner图主键
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("首页banner图主键")
private Long id;
/**
* 标题
*/
@Column(name = "title")
@ApiModelProperty(value = "标题")
private String title;
/**
* 封面
*/
@Column(name = "cover")
@ApiModelProperty(value = "封面")
private String cover;
/**
* 创建人
*/
@Column(name = "crt_name")
@ApiModelProperty(value = "创建人")
private String crtName;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
/**
* 更新人
*/
@Column(name = "upd_name")
@ApiModelProperty(value = "更新人")
private String updName;
/**
* 修改时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "修改时间", hidden = true )
private Long updTime;
/**
* 跳转链接
*/
@Column(name = "url")
@ApiModelProperty(value = "跳转链接")
private String url;
/**
* 是否删除,0否,1是
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除,0否,1是")
private Integer isDel;
/**
* 排序
*/
@Column(name = "rank")
@ApiModelProperty(value = "排序")
private Integer rank;
/**
*'类型:0-app首页,1-app旅游页;2-租车' 3-营地,
*/
@Column(name = "type")
@ApiModelProperty(value = "banner类型")
private Integer type;
}
......@@ -18,6 +18,12 @@
<version>2.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-admin-api</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
......
......@@ -16,7 +16,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@EnableDiscoveryClient
@EnableScheduling
@EnableAceAuthClient
@EnableFeignClients(value = {"com.github.wxiaoqi.security.auth.client.feign", "com.xxfc.platform.app.feign"},defaultConfiguration = HeaderConfig.class)
@EnableFeignClients(value = {"com.github.wxiaoqi.security", "com.xxfc.platform.app.feign"},defaultConfiguration = HeaderConfig.class)
@EnableAceCache
@tk.mybatis.spring.annotation.MapperScan(basePackages = "com.xxfc.platform.app.mapper")
public class AppApplication {
......
package com.xxfc.platform.app.biz;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.app.entity.Banner;
import com.xxfc.platform.app.mapper.BannerMapper;
import org.springframework.stereotype.Service;
import java.time.Instant;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description TODO
* @data 2019/6/26 9:24
*/
@Service
public class BannerBiz extends BaseBiz<BannerMapper,Banner> {
/* @CacheClear(key = RedisKey.CONSTANT_CODE_PREFIX_BANNER)
public void update(Banner banner) {
this.updateSelectiveById(banner);
}
@CacheClear(key = RedisKey.CONSTANT_CODE_PREFIX_BANNER)
public void remove(int id) {
this.deleteById(id);
}*/
public List<Banner> findBannerList(Integer type) {
Banner banner = new Banner();
banner.setIsDel(0);
banner.setType(type);
return mapper.selectByExample(banner);
}
/*
*/
/**
* 更改banner信息
* @param banner
* @param userInfo
* @return
*//*
public int update(Banner banner, UserDTO userInfo) {
banner.setUpdName(userInfo.getUsername());
banner.setUpdTime(Instant.now().toEpochMilli());
return mapper.updateByPrimaryKeySelective(banner);
}
*/
/**
* 分页查询banner
* @param pageNo
* @param pageSize
* @return
*/
public PageDataVO<Banner> findBannePage(Integer pageNo, Integer pageSize) {
return PageDataVO.pageInfo(pageNo, pageSize, () -> mapper.findBannerListByisDelOrderByRank(Banner.builder().isDel(0).build()));
}
/**
* 保存或更新banner
* @param banner
* @param userInfo
* @return
*/
public int save(Banner banner, UserDTO userInfo) {
if (banner.getId()!=null){
banner.setUpdName(userInfo.getUsername());
banner.setUpdTime(Instant.now().toEpochMilli());
return mapper.updateByPrimaryKeySelective(banner);
}else {
banner.setCrtName(userInfo.getUsername());
banner.setCrtTime(Instant.now().toEpochMilli());
banner.setIsDel(0);
banner.setRank(banner.getRank()==null?0:banner.getRank());
return mapper.insertSelective(banner);
}
}
/**
* 逻辑删除
* @param id
* @param status
* @param userInfo
* @return
*/
public int updateBannerStatus(Integer id, int status, UserDTO userInfo) {
return mapper.updateByPrimaryKeySelective(Banner.builder().id(Long.valueOf(id)).isDel(status).updName(userInfo.getUsername()).updTime(Instant.now().toEpochMilli()).build());
}
}
package com.xxfc.platform.app.mapper;
import com.xxfc.platform.app.entity.Banner;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/**
* 首页banner图
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-06 11:41:51
*/
@Repository
public interface BannerMapper extends Mapper<Banner> {
@Select("select * from `banner` where is_del=#{isDel} order by rank ASC")
List<Banner> findBannerListByisDelOrderByRank(Banner banner);
}
package com.xxfc.platform.app.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.app.biz.BannerBiz;
import com.xxfc.platform.app.entity.Banner;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description TODO
* @data 2019/6/26 10:29
*/
@RestController
@RequestMapping("/banner")
public class BannerController {
@Autowired
private BannerBiz bannerBiz;
/**
*查询banner图
* @return
*/
@GetMapping("/app/unauth/findBannerlist")
public ObjectRestResponse findBannerlist(@RequestParam("type") Integer type){
if (type==null) {
return ObjectRestResponse.createDefaultFail();
}
List<Banner> bannerList = bannerBiz.findBannerList(type);
return ObjectRestResponse.succ(bannerList);
}
}
package com.xxfc.platform.app.rest.admin;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.app.biz.BannerBiz;
import com.xxfc.platform.app.entity.Banner;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author libin
* @version 1.0
* @description banner 图
* @data 2019/6/12 21:15
*/
@RestController
@RequestMapping("/admin/banner")
@Api(value = "banner后台接口",tags = "banner后台接口")
public class BannerAdminController {
@Autowired
private BannerBiz bannerBiz;
/**
* 修改
* @param banner
* @return
*/
@PutMapping
@ApiOperation(value = "banner修改",notes = "修改")
public ObjectRestResponse<Banner> update(@RequestBody Banner banner, UserDTO userInfo){
int effectRows = bannerBiz.save(banner,userInfo);
if (effectRows>0){
return ObjectRestResponse.succ();
}
return ObjectRestResponse.createDefaultFail();
}
/**
* 根据id查询banner
* @param id
* @return
*/
@GetMapping("/{id}")
@ApiOperation(value = "根据id查询banner图",notes = "根据id查询banner图")
public ObjectRestResponse<Banner> findBannerById(@PathVariable Integer id){
Banner Banner = bannerBiz.selectById(id);
return ObjectRestResponse.succ(Banner);
}
/**
* 分页查询banner
* @param pageNo
* @param pageSize
* @return
*/
@GetMapping("/page")
@ApiOperation(value = "banner分页查询",notes = "banner分页查询")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "pageNo",paramType = "query",required = false,dataType = "integer",defaultValue = "0"),
@ApiImplicitParam(name = "pageSize",paramType = "query",required = false,dataType = "integer",defaultValue = "10")
})
public ObjectRestResponse<PageDataVO> findBannerPage(@RequestParam(name = "pageNo",defaultValue = "0",required = false) Integer pageNo,
@RequestParam(name = "pageSize",defaultValue = "10",required = false) Integer pageSize){
PageDataVO<Banner> pageDataVO = bannerBiz.findBannePage(pageNo,pageSize);
return ObjectRestResponse.succ(pageDataVO);
}
/**
* 保存banner
* @param banner
* @return
*/
@ApiOperation(value = "banner保存",notes = "banner保存")
@PostMapping
public ObjectRestResponse<Void> saveBanner(@RequestBody Banner banner,UserDTO userDTO){
banner.setIsDel(0);
int effectRows = bannerBiz.save(banner,userDTO);
if (effectRows>0){
return ObjectRestResponse.succ();
}
return ObjectRestResponse.createDefaultFail();
}
/**
* 逻辑删除
* @param id
* @return
*/
@DeleteMapping("/{id}")
@ApiOperation(value = "banner逻辑删除",notes = "banner逻辑删除")
public ObjectRestResponse<Void> deleteBannerById(@PathVariable Integer id,UserDTO userDTO){
int effectRows = bannerBiz.updateBannerStatus(id,1,userDTO);
if (effectRows>0){
return ObjectRestResponse.succ();
}
return ObjectRestResponse.createDefaultFail();
}
/**
* 真实删除
* @param id
* @return
*/
@DeleteMapping("/del/{id}")
public ObjectRestResponse<Void> deleteReallyBannerById(@PathVariable(value = "id") Integer id){
bannerBiz.deleteById(id);
return ObjectRestResponse.succ();
}
}
\ 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.tour.mapper.TourBannerMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.xxfc.platform.app.entity.Banner" id="bannerMap">
<result property="id" column="id"/>
<result property="title" column="title"/>
<result property="cover" column="cover"/>
<result property="crtName" column="crt_name"/>
<result property="crtTime" column="crt_time"/>
<result property="updName" column="upd_name"/>
<result property="updTime" column="upd_time"/>
<result property="url" column="url"/>
<result property="isDel" column="is_del"/>
</resultMap>
</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