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

Commit 6884701e authored by 胡佳晨's avatar 胡佳晨

Merge remote-tracking branch 'origin/dev_stone' into dev_stone

parents 65d81d19 4eeff9ef
......@@ -7,14 +7,14 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExpressExportExcelListDao;
import com.liquidnet.client.admin.zhengzai.sweet.dto.SweetActivityDrawExcelListDao;
import com.liquidnet.client.admin.zhengzai.sweet.service.ISweetIntegralActivityDrawService;
import com.liquidnet.service.kylin.dao.OrderExpressExportListDao;
import com.liquidnet.service.sweet.dto.SweetIntegralActivityDto;
import com.liquidnet.service.sweet.dto.SweetActivityDrawListDao;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityDrawListSearchParam;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityListSearchParam;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -23,6 +23,7 @@ import org.springframework.ui.ModelMap;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import java.util.ArrayList;
import java.util.List;
......@@ -46,7 +47,7 @@ public class SweetIntegralActivityDrawController extends BaseController {
@Log(title = "积分活动中奖列表数据", businessType = BusinessType.LIST)
@RequiresPermissions("sweet:integralActivityDraw:list")
@ApiOperation(value = "积分活动列表数据")
@ApiOperation(value = "积分活动中奖列表数据")
@PostMapping("list")
@ResponseBody
public TableDataInfo list(SweetIntegralActivityDrawListSearchParam listParam) {
......@@ -59,15 +60,34 @@ public class SweetIntegralActivityDrawController extends BaseController {
@PostMapping("/export")
@ResponseBody
public AjaxResult export(@RequestParam("ids") String integralActivityId) {
List<OrderExpressExportListDao> list = iSweetIntegralActivityDrawService.selectExpressList(integralActivityId);
ExcelUtil<OrderExpressExportExcelListDao> excelUtil = new ExcelUtil<>(OrderExpressExportExcelListDao.class);
List<OrderExpressExportExcelListDao> excelList = new ArrayList<>();
List<SweetActivityDrawListDao> list = iSweetIntegralActivityDrawService.selectExcelList(integralActivityId);
ExcelUtil<SweetActivityDrawExcelListDao> excelUtil = new ExcelUtil<>(SweetActivityDrawExcelListDao.class);
List<SweetActivityDrawExcelListDao> excelList = new ArrayList<>();
list.forEach(r -> {
excelList.add(OrderExpressExportExcelListDao.getNew().copy(r));
excelList.add(SweetActivityDrawExcelListDao.getNew().copy(r));
});
return excelUtil.exportExcel(excelList, "积分活动导出中奖列表数据");
}
@Log(title = "积分活动中奖发货", businessType = BusinessType.UPDATE)
@RequiresPermissions("sweet:integralActivityDraw:receivingStatus")
@ApiOperation(value = "积分活动中奖发货")
@PutMapping("receivingStatus")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "drawId", value = "抽奖id")
})
public AjaxResult isOnline(
@RequestParam("drawId") @NotEmpty(message = "drawId不能为空") String drawId
) {
Integer result = iSweetIntegralActivityDrawService.isOnline(drawId);
if (result > 0) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@GetMapping("listView/{id}")
@ApiOperation(value = "积分活动中奖列表view")
public String listView(@PathVariable("id") String id, ModelMap mmap) {
......
<!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-2 control-label is-required">标题:</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="activityTitle" required>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer"/>
<script type="text/javascript">
var prefix = ctx + "sweet/sweetIntegralActivity";
</script>
</body>
</html>
\ No newline at end of file
<!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('积分活动列表')"/>
</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="activityTitle"/>
</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="sweet:integralActivity:create">
<i class="fa fa-plus"></i> 添加
</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 updateFlag = [[${@permission.hasPermi('sweet:integralActivity:create')}]];
var isOnlineFlag = [[${@permission.hasPermi('sweet:integralActivity:isOnline')}]];
var drawListFlag = [[${@permission.hasPermi('sweet:integralActivityDraw:list')}]];
var exportExcelFlag = [[${@permission.hasPermi('sweet:integralActivityDraw:export')}]];
var prefix = ctx + "sweet/integralActivity";
function exportExcel(integralActivityId) {
var data = {"ids": integralActivityId};
$.table.exportExcel("", data)
}
$(function () {
var options = {
url: prefix + "/list",
updateUrl: prefix + "/formView", // /update/{id}
createUrl: prefix + "/formView",
detailUrl: "/sweet/IntegralActivityDraw/listView/{id}",
exportUrl: "/sweet/IntegralActivityDraw/export",
modalName: "积分活动",
columns: [{
checkbox: true
},
{
field: 'activityTitle',
title: '活动名称'
},
{
field: 'activityImg',
title: '活动图片',
formatter: function (value, row, index) {
return $.table.imageView(value, "300", "600");
}
},
{
field: 'activityType',
title: '活动类型',
formatter: function (value, row) {
var activityType = row.activityType;
if (row.activityType == 1) {
activityType = "转盘";
} else {
activityType = "未知";
}
return activityType;
}
},
{
field: 'prizeNum',
title: '奖品数量'
},
{
field: 'drawNum',
title: '已发出'
},
{
field: '',
title: '奖品剩余',
formatter: function (value, row) {
var prizeNum = row.prizeNum;
var drawNum = row.drawNum;
return prizeNum - drawNum;
}
},
{
field: 'isOnline',
title: '活动状态',
formatter: function (value, row) {
var isOnline = row.isOnline;
if (row.isOnline == 1) {
isOnline = "未上线";
} else {
isOnline = "已上线";
}
return isOnline;
}
},
{
field: 'createdAt',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + drawListFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.integralActivityId + '\')"><i class="fa fa-edit"></i>查看中奖名单</a> ');
actions.push('<a class="btn btn-success btn-xs ' + updateFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.integralActivityId + '\')"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + isOnlineFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.integralActivityId + '\')"></i>上下线</a> ');
actions.push('<a class="btn btn-warning btn-xs ' + exportExcelFlag + '" href="javascript:void(0)" onclick="exportExcel(\'' + row.integralActivityId + '\')"></i>导出中奖信息</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
\ No newline at end of file
package com.liquidnet.client.admin.zhengzai.sweet.dto;
import com.liquidnet.client.admin.common.annotation.Excel;
import com.liquidnet.service.sweet.dto.SweetActivityDrawListDao;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class SweetActivityDrawExcelListDao implements Serializable, Cloneable {
private static final long serialVersionUID = -3918944925598231439L;
@Excel(name = "活动id")
private String integralActivityId;
@Excel(name = "奖品id")
private String prizeId;
@Excel(name = "用户id")
private String userId;
@Excel(name = "完整地址")
private String receivingAddress;
@Excel(name = "发放状态")
private Integer receivingStatus;
@Excel(name = "创建时间")
private LocalDateTime createdAt;
private static final SweetActivityDrawExcelListDao obj = new SweetActivityDrawExcelListDao();
public static SweetActivityDrawExcelListDao getNew() {
try {
return (SweetActivityDrawExcelListDao) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetActivityDrawExcelListDao();
}
}
public SweetActivityDrawExcelListDao copy(SweetActivityDrawListDao source) {
if (null == source) return this;
this.setIntegralActivityId(source.getIntegralActivityId());
this.setPrizeId(source.getPrizeId());
this.setUserId(source.getUserId());
this.setReceivingAddress(source.getReceivingAddress());
this.setReceivingStatus(source.getReceivingStatus());
this.setCreatedAt(source.getCreatedAt());
return this;
}
}
package com.liquidnet.client.admin.zhengzai.sweet.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.kylin.dao.OrderExpressExportListDao;
import com.liquidnet.service.sweet.dto.SweetActivityDrawListDao;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityDrawListSearchParam;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import com.baomidou.mybatisplus.extension.service.IService;
......@@ -20,5 +20,7 @@ public interface ISweetIntegralActivityDrawService extends IService<SweetIntegra
PageInfo<SweetIntegralActivityDraw> drawList(SweetIntegralActivityDrawListSearchParam listParam);
List<OrderExpressExportListDao> selectExpressList(String integralActivityId);
List<SweetActivityDrawListDao> selectExcelList(String integralActivityId);
Integer isOnline(String drawId);
}
......@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.sweet.service.ISweetIntegralActivityDrawService;
import com.liquidnet.service.kylin.dao.OrderExpressExportListDao;
import com.liquidnet.service.sweet.dto.SweetActivityDrawListDao;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityDrawListSearchParam;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import com.liquidnet.service.sweet.mapper.SweetIntegralActivityDrawMapper;
......@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
......@@ -38,7 +39,21 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
}
@Override
public List<OrderExpressExportListDao> selectExpressList(String integralActivityId) {
return null;
public List<SweetActivityDrawListDao> selectExcelList(String integralActivityId) {
List<SweetActivityDrawListDao> sweetIntegralActivityDraws = sweetIntegralActivityDrawMapper.selectExcelList(integralActivityId);
return sweetIntegralActivityDraws;
}
@Override
public Integer isOnline(String drawId) {
SweetIntegralActivityDraw sweetIntegralActivityDraw = SweetIntegralActivityDraw.getNew();
sweetIntegralActivityDraw.setReceivingStatus(2);
sweetIntegralActivityDraw.setUpdatedAt(LocalDateTime.now());
int update = sweetIntegralActivityDrawMapper.update(
sweetIntegralActivityDraw,
Wrappers.lambdaUpdate(SweetIntegralActivityDraw.class).eq(SweetIntegralActivityDraw::getDrawId, drawId)
);
// TODO: 2021/10/20 更新缓存
return update;
}
}
......@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.sweet.service.ISweetIntegralActivityService;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.sweet.dto.SweetIntegralActivityDto;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityFromParam;
......
......@@ -154,7 +154,7 @@ liquidnet:
custid: 7551234567
jCompany: 北京正在映画互联网有限公司
jContact: 摩登天空票务部
jTel: 4001680650
jTel: 4006310750
jProvince: 北京
jCity: 北京市
jAddress: 朝阳区广渠路1号北京市商业储运公司3-12号 摩登天空
......
......@@ -157,7 +157,7 @@ liquidnet:
custid: 7551234567
jCompany: 北京正在映画互联网有限公司
jContact: 摩登天空票务部
jTel: 4001680650
jTel: 4006310750
jProvince: 北京
jCity: 北京市
jAddress: 朝阳区广渠路1号北京市商业储运公司3-12号 摩登天空
......
package com.liquidnet.service.sweet.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class SweetActivityDrawListDao implements Serializable {
private static final long serialVersionUID = 3465116974370295458L;
private String integralActivityId;
private String prizeId;
private String userId;
private String receivingAddress;
private Integer receivingStatus;
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt;
}
package com.liquidnet.service.sweet.mapper;
import com.liquidnet.service.sweet.dto.SweetActivityDrawListDao;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
......@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface SweetIntegralActivityDrawMapper extends BaseMapper<SweetIntegralActivityDraw> {
List<SweetActivityDrawListDao> selectExcelList(@Param("integralActivityId") String integralActivityId);
}
......@@ -2,4 +2,16 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.sweet.mapper.SweetIntegralActivityDrawMapper">
<select id="selectExcelList" resultType="com.liquidnet.service.sweet.dto.SweetActivityDrawListDao">
select a.*
from sweet_integral_activity_draw as a
left join sweet_integral_activity_prize as b on b.prize_id = a.prize_id
left join sweet_integral_activity as c on a.integral_activity_id = c.integral_activity_id
<where>
<if test="integralActivityId != null and integralActivityId != ''">
and a.integral_activity_id = #{integralActivityId}
</if>
</where>
ORDER BY a.mid DESC
</select>
</mapper>
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