记得上下班打卡 | git大法好,push需谨慎

Commit a19ad67b authored by jiangxiulong's avatar jiangxiulong

banner

parent 8af7c317
......@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
......@@ -27,9 +28,11 @@ public class BannersSearchParam implements Serializable {
@ApiModelProperty(value = "推广类型 1全国 2省份", example = "1", allowableValues = "1,2")
private Integer promotionType;
@ApiModelProperty(value = "页数 ", example = "1")
private Integer page;
@ApiModelProperty(value = "页数", example = "0")
@NotNull(message = "不能为空")
private Integer pageSize;
@ApiModelProperty(value = "数量 ", example = "10")
private Integer size;
@ApiModelProperty(value = "数量", example = "20")
@NotNull(message = "不能为空")
private Integer pageNum;
}
package com.liquidnet.client.admin.web.controller.zhengzai.kylin;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinBannersServiceImpl;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dao.BannerDetailsListDao;
import com.liquidnet.service.kylin.dto.param.BannersParam;
import com.liquidnet.service.kylin.dto.param.BannersSearchParam;
import com.liquidnet.service.kylin.dto.vo.KylinBannersVo;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 轮播图 后端管理控制器
* </p>
*
* @author jiangxiulong
* @since 2021-05-01
*/
@Controller
@RequestMapping("/kylin/banners")
public class KylinBannersAdminController extends BaseController {
private String prefix = "zhengzai/kylin/banners";
@Autowired
private KylinBannersServiceImpl kylinBannersServiceImpl;
@RequiresPermissions("kylin:banners:view")
@GetMapping()
public String banners() {
return prefix + "/banners";
}
@GetMapping("/create")
public String create()
{
return prefix + "/create";
}
@RequiresPermissions("kylin:banners:create")
@PostMapping("create")
@ResponseBody
public AjaxResult createSave(@RequestBody @Validated BannersParam bannersParam) {
Boolean res = kylinBannersServiceImpl.create(bannersParam);
if (res) {
return success();
} else {
return error("添加banner失败");
}
}
@GetMapping("/update/{bannersId}")
public String update(@PathVariable("bannersId") String bannersId, ModelMap mmap)
{
KylinBannersVo result = null;
result = kylinBannersServiceImpl.detail(bannersId);
mmap.put("KylinBannersVo", result);
return prefix + "/update";
}
@RequiresPermissions("kylin:banners:update")
@PostMapping("update")
@ResponseBody
public AjaxResult updateSave(@RequestBody BannersParam bannersParam) {
boolean res = kylinBannersServiceImpl.update(bannersParam);
if (res) {
return success();
} else {
return error("修改banner失败");
}
}
@RequiresPermissions("kylin:banners:detail")
@GetMapping("/details/{bannersId}")
public String detail(@PathVariable("bannersId") String bannersId, ModelMap mmap) {
KylinBannersVo result = null;
result = kylinBannersServiceImpl.detail(bannersId);
mmap.put("KylinBannersVo", result);
return prefix + "/details";
}
@RequiresPermissions("kylin:banners:list")
@PostMapping("list")
@ResponseBody
public TableDataInfo bannerList(BannersSearchParam bannersSearchParam) {
PageInfo<BannerDetailsListDao> result = kylinBannersServiceImpl.bannerList(bannersSearchParam);
return getDataTable(result.getList());
}
@RequiresPermissions("kylin:banners:delete")
@PostMapping("delete")
@ResponseBody
public AjaxResult delete(BannersParam bannersParam) {
String bannersId = bannersParam.getBannersId();
boolean result = kylinBannersServiceImpl.delete(bannersId);
if (result) {
return success("删除成功");
} else {
return error("删除失败");
}
}
}
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('Banner列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>标题:</label>
<input type="text" name="bannersName"/>
</li>
<li>
<label>跳转类型:</label>
<select name="targetType">
<option value="">全部</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</li>
<li>
<label>是否上线:</label>
<select name="targetType">
<option value="">全部</option>
<option value="0">下线</option>
<option value="1">上线</option>
</select>
</li>
<li>
<label>推广类型:</label>
<select name="targetType">
<option value="">全部</option>
<option value="1">全国</option>
<option value="2">省份</option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="kylin:banners:create">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll('确定取消选中的退款申请吗?', 'banners/delete')"
shiro:hasPermission="kylin:banners:delete">
删除
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var detailFlag = [[${@permission.hasPermi('kylin:banners:detail')}]];
var updateFlag = [[${@permission.hasPermi('kylin:banners:update')}]];
var deleteFlag = [[${@permission.hasPermi('kylin:banners:delete')}]];
var prefix = ctx + "kylin/banners";
$(function () {
var options = {
url: prefix + "/list",
updateFlag: prefix + "/update",
detailUrl: prefix + "/details/{id}",
deleteFlag: prefix + "/delete",
modalName: "-Banner",
columns: [{
checkbox: true
},
{
field: 'bannersId',
title: 'BannerId'
},
{
field: 'bannersName',
title: '标题'
},
{
field: 'coverImg',
title: '封面图'
},
{
field: 'targetType',
title: '跳转类型'
},
{
field: 'targetObj',
title: '跳转目标'
},
{
field: 'isOnline',
title: '是否上线'
},
{
field: 'onlineStartTime',
title: '上线开始时间'
},
{
field: 'onlineEndTime',
title: '上线结束时间'
},
{
field: 'promotionType',
title: '推广类型'
},
{
field: 'createdAt',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-info btn-xs' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.orderRefundsId + '\')"></i>查看</a> ');
actions.push('<a class="btn btn-success btn-xs ' + updateFlag + '" href="javascript:void(0)" onclick="review(\'' + row.orderRefundsId + '\')"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + deleteFlag + '" href="javascript:void(0)" onclick="execute(\'' + row.orderRefundsId + '\')"></i>删除</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('提交订单退款')"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-post-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">订单id:</label>
<div class="col-sm-8">
<input class="form-control" type="text" name="orderTicketsId" id="orderTicketsId" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">快递费:</label>
<div class="col-sm-8">
<input class="form-control" type="text" name="RefundPriceExpress">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">入场人:</label>
<div class="col-sm-8">
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label layui-required is-required">备注:</label>
<div class="col-sm-8">
<textarea name="reason" maxlength="500" class="form-control layui-required" rows="3"></textarea>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer"/>
<script type="text/javascript">
var prefix = ctx + "kylin/refund";
$("#form-post-add").validate({
onkeyup: false,
rules: {
orderTicketsId: {
submitHandler: function (form) {
var config = {
url: prefix + "/applyOrder",
type: "post",
dataType: "json",
data: {
"orderTicketsId": function () {
return $.common.trim($("#orderTicketsId").val());
}
},
beforeSend: function () {
$.modal.loading("正在查询订单,请稍后...");
},
success: function (result) {
var options = {
data: result.orderTicketEntitiesVo,
pagination: false,
columns: [{
checkbox: true
},
{
field: 'orderTicketEntitiesId',
title: '入场人id'
},
]
};
$.table.init(options);
$.modal.closeLoading();
}
};
$.ajax(config)
}
},
},
focusCleanup: true
});
function submitHandler() {
var reason = $('#form-post-add').find("[name='reason']").val();
var orderTicketsId = $('#form-post-add').find("[name='orderTicketsId']").val();
var rows = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
if (!orderTicketsId || !reason || rows.length <= 0) {
layer.msg("请完善数据");
return false;
}
if ($.validate.form()) {
var data = $('#form-post-add').serializeArray();
data.push({"ticketEntityIds":rows.join()});
data.push({"name":"ticketEntityIds","value":rows});
$.operate.save(prefix + "/apply", data);
}
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('退款详情')"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m-t" id="signupForm">
<div class="form-group">
<label class="col-sm-2 control-label">退款单id:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.orderRefundsId}"></div>
<label class="col-sm-2 control-label">票务订单id:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.orderTicketsId}"></div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">退款编号:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.orderRefundCode}"></div>
<label class="col-sm-2 control-label">退款中心退款编号:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.RefundCode}"></div>
<label class="col-sm-2 control-label">第三方退款编号:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.RefundId}"></div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">退款总金额:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.price}"></div>
<label class="col-sm-2 control-label">退款状态:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.statusName}"></div>
<label class="col-sm-2 control-label">成功退款时间:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.RefundAt}"></div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">申请人名称:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.applicantName}"></div>
<label class="col-sm-2 control-label">申请时间:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.applicantAt}"></div>
<label class="col-sm-2 control-label">申请备注:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.reason}"></div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">审核人名称:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.auditorName}"></div>
<label class="col-sm-2 control-label">审核时间:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.auditorAt}"></div>
<label class="col-sm-2 control-label">审核备注:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.reject}"></div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">执行人名称:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.executorName}"></div>
<label class="col-sm-2 control-label">执行时间:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.executorAt}"></div>
<label class="col-sm-2 control-label">执行备注:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.refuse}"></div>
</div>
<div class="form-group">
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
<legend>票种</legend>
</fieldset>
<table class="col-sm-8 select-table table-bordered">
<thead>
<tr>
<th>票种名称</th>
<th>适用日期</th>
<th>入场人</th>
<th>状态</th>
<th>价格</th>
</tr>
</thead>
<tbody>
<tr th:each="v : ${KylinOrderRefundsVo.entities}">
<td th:text="${v.title}"></td>
<td th:text="${v.useStart}"></td>
<td th:text="${v.enterName}"></td>
<td th:text="${v.isPaymentName}"></td>
<td th:text="${v.price}"></td>
</tr>
</tbody>
</table>
</div>
</form>
</div>
<th:block th:include="include :: footer"/>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('提交订单退款')"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-post-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">订单id:</label>
<div class="col-sm-8">
<input class="form-control" type="text" name="orderTicketsId" id="orderTicketsId" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">快递费:</label>
<div class="col-sm-8">
<input class="form-control" type="text" name="RefundPriceExpress">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">入场人:</label>
<div class="col-sm-8">
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label layui-required is-required">备注:</label>
<div class="col-sm-8">
<textarea name="reason" maxlength="500" class="form-control layui-required" rows="3"></textarea>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer"/>
<script type="text/javascript">
var prefix = ctx + "kylin/refund";
$("#form-post-add").validate({
onkeyup: false,
rules: {
orderTicketsId: {
submitHandler: function (form) {
var config = {
url: prefix + "/applyOrder",
type: "post",
dataType: "json",
data: {
"orderTicketsId": function () {
return $.common.trim($("#orderTicketsId").val());
}
},
beforeSend: function () {
$.modal.loading("正在查询订单,请稍后...");
},
success: function (result) {
var options = {
data: result.orderTicketEntitiesVo,
pagination: false,
columns: [{
checkbox: true
},
{
field: 'orderTicketEntitiesId',
title: '入场人id'
},
]
};
$.table.init(options);
$.modal.closeLoading();
}
};
$.ajax(config)
}
},
},
focusCleanup: true
});
function submitHandler() {
var reason = $('#form-post-add').find("[name='reason']").val();
var orderTicketsId = $('#form-post-add').find("[name='orderTicketsId']").val();
var rows = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
if (!orderTicketsId || !reason || rows.length <= 0) {
layer.msg("请完善数据");
return false;
}
if ($.validate.form()) {
var data = $('#form-post-add').serializeArray();
data.push({"ticketEntityIds":rows.join()});
data.push({"name":"ticketEntityIds","value":rows});
$.operate.save(prefix + "/apply", data);
}
}
</script>
</body>
</html>
......@@ -234,7 +234,6 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}
pageInfoTmp = new PageInfo(voList);
} catch (Exception e) {
e.printStackTrace();
return new PageInfo();
}
return pageInfoTmp;
......
......@@ -27,9 +27,8 @@
</select>
<!-- admin banner列表 -->
<select id="searchBannersList" parameterType="java.util.Map" resultMap="bannerDetailsResult">
SELECT
*
<select id="searchBannersList" parameterType="java.util.Map" resultType="com.liquidnet.service.kylin.dao.BannerDetailsListDao" resultMap="bannerDetailsResult">
SELECT *
FROM kylin_banners
<where>
is_deleted = 1
......@@ -47,7 +46,6 @@
</if>
</where>
ORDER BY banners_sort DESC
LIMIT #{page},#{size}
</select>
<!-- admin banner列表数量 -->
......
......@@ -3,7 +3,7 @@ package com.liquidnet.service.kylin.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.KylinBannersVo;
import com.liquidnet.service.kylin.service.impl.admin.KylinBannersServiceImpl;
import com.liquidnet.service.kylin.service.impl.BannersServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
......@@ -29,7 +29,7 @@ import java.util.List;
public class KylinBannersController {
@Autowired
private KylinBannersServiceImpl kylinBannersServiceImpl;
private BannersServiceImpl bannersServiceImpl;
@GetMapping("")
@ApiOperation("banner列表")
......@@ -42,7 +42,7 @@ public class KylinBannersController {
@RequestParam(defaultValue = "") String provinceName
) {
List result = new ArrayList();
result = kylinBannersServiceImpl.blist(position, provinceName);
result = bannersServiceImpl.blist(position, provinceName);
return ResponseDto.success(result);
}
......
package com.liquidnet.service.kylin.controller.admin;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dao.BannerDetailsListDao;
import com.liquidnet.service.kylin.dto.param.BannersParam;
import com.liquidnet.service.kylin.dto.param.BannersSearchParam;
import com.liquidnet.service.kylin.dto.vo.KylinBannersVo;
import com.liquidnet.service.kylin.dto.vo.KylinPagerVo;
import com.liquidnet.service.kylin.service.impl.admin.KylinBannersServiceImpl;
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 轮播图 后端管理控制器
* </p>
*
* @author jiangxiulong
* @since 2021-05-01
*/
@Api(tags = "后端-banner")
@RestController
@RequestMapping("admin/banners")
public class KylinBannersAdminController {
@Autowired
private KylinBannersServiceImpl kylinBannersServiceImpl;
@PostMapping("")
@ApiOperation("创建banner")
public ResponseDto<Object> create(@RequestBody @Validated BannersParam bannersParam) {
Boolean res = kylinBannersServiceImpl.create(bannersParam);
if (res) {
return ResponseDto.success();
} else {
return ResponseDto.failure("添加banner失败");
}
}
@PutMapping("")
@ApiOperation("修改banner")
public ResponseDto<Object> update(@RequestBody BannersParam bannersParam) {
boolean res = kylinBannersServiceImpl.update(bannersParam);
if (res) {
return ResponseDto.success();
} else {
return ResponseDto.failure("修改banner失败");
}
}
@GetMapping("{bannersId}")
@ApiOperation("banner详情")
@ApiImplicitParam(type = "path", dataType = "String", name = "bannersId", value = "banner主键id", required = true)
public ResponseDto<KylinBannersVo> detail(@PathVariable("bannersId") String bannersId) {
KylinBannersVo result = null;
result = kylinBannersServiceImpl.detail(bannersId);
if (null != result) {
return ResponseDto.success(result);
} else {
return ResponseDto.failure("获取banner详情失败");
}
}
@GetMapping("list")
@ApiOperation("banner列表")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "bannersName", value = "banner标题"),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "isOnline", value = "0下线 1上线"),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "promotionType", value = "推广类型 1全国 2省份"),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "page", value = "页码"),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "size", value = "每页数量")
})
public ResponseDto<KylinPagerVo<BannerDetailsListDao>> bannerList(
@RequestParam(defaultValue = "") String bannersName,
@RequestParam(defaultValue = "1") Integer isOnline,
@RequestParam(defaultValue = "") Integer promotionType,
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer size
) {
BannersSearchParam bannersSearchParam = new BannersSearchParam();
bannersSearchParam.setBannersName(bannersName);
bannersSearchParam.setIsOnline(isOnline);
bannersSearchParam.setPromotionType(promotionType);
bannersSearchParam.setPage(page);
bannersSearchParam.setSize(size);
List<BannerDetailsListDao> result = kylinBannersServiceImpl.bannerList(bannersSearchParam);
Long total = kylinBannersServiceImpl.bannerListCount(bannersSearchParam);
KylinPagerVo<BannerDetailsListDao> kylinPagerVo = new KylinPagerVo();
kylinPagerVo.setRows(result);
kylinPagerVo.setTotal(total);
if (kylinPagerVo.getRows().size() > 0) {
return ResponseDto.success(kylinPagerVo);
} else {
return ResponseDto.failure("获取列表失败");
}
}
@DeleteMapping("{bannersId}")
@ApiOperation("删除banner")
@ApiImplicitParam(type = "path", dataType = "String", name = "bannersId", value = "banner主键id", required = true)
public ResponseDto<Object> delete(@PathVariable("bannersId") String bannersId) {
boolean result = kylinBannersServiceImpl.delete(bannersId);
if (result) {
return ResponseDto.success("删除成功");
} else {
return ResponseDto.failure("删除失败");
}
}
}
package com.liquidnet.service.kylin.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.kylin.dto.vo.KylinBannersVo;
import com.liquidnet.service.kylin.entity.KylinBanners;
import com.liquidnet.service.kylin.mapper.KylinBannersMapper;
import com.liquidnet.service.kylin.service.admin.IKylinBannersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
/**
* <p>
* 轮播图 服务实现类
* </p>
*
* @author jiangxiulong
* @since 2021-05-02
*/
@Service
public class BannersServiceImpl extends ServiceImpl<KylinBannersMapper, KylinBanners> implements IKylinBannersService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
RedisUtil redisUtil;
public List blist(String position, String provinceName) {
Query query = new Query();
query.addCriteria(
Criteria.where("isOnline").is(1).and("isDeleted").is(1)
);
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
Criteria onlineTimeBetween = Criteria.where("onlineStartTime").lte(nowTimeStr).and("onlineEndTime").gte(nowTimeStr);
Criteria onlineTimeGt = Criteria.where("onlineStartTime").lte(nowTimeStr).and("onlineEndTime").is("");
Criteria onlineTimeLt = Criteria.where("onlineStartTime").is("").and("onlineEndTime").gte(nowTimeStr);
Criteria onlineTimeEmpty = Criteria.where("onlineStartTime").is("").and("onlineEndTime").is("");
Criteria mergeCriteriaTime = new Criteria();
mergeCriteriaTime.orOperator(onlineTimeBetween, onlineTimeGt, onlineTimeLt, onlineTimeEmpty);
if (!position.isEmpty()) {
query.addCriteria(
Criteria.where("positionList").in(position)
);
}
Criteria mergeCriteriaPromotion = new Criteria();
if (!provinceName.isEmpty()) {
Criteria promotionCity = Criteria.where("provincesNameList").in(provinceName);
Criteria promotionAll = Criteria.where("promotionType").is(1);
mergeCriteriaPromotion.orOperator(promotionCity, promotionAll);
}
Criteria criteria = new Criteria();
query.addCriteria(
criteria.andOperator(mergeCriteriaTime, mergeCriteriaPromotion)
);
List bannerList = mongoTemplate.find(
query,
KylinBannersVo.class,
KylinBannersVo.class.getSimpleName()
);
return bannerList;
}
}
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