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

Commit f3b69670 authored by jiangxiulong's avatar jiangxiulong

活动list

parent 7a65a54d
...@@ -7,10 +7,10 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult; ...@@ -7,10 +7,10 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.enums.BusinessType; import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.zhengzai.sweet.service.ISweetIntegralActivityService; import com.liquidnet.client.admin.zhengzai.sweet.service.ISweetIntegralActivityService;
import com.liquidnet.service.sweet.dto.SweetIntegralActivityDto;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityFromParam; import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityFromParam;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityListSearchParam; import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityListSearchParam;
import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityVo; import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityVo;
import com.liquidnet.service.sweet.entity.SweetIntegralActivity;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -112,7 +112,7 @@ public class SweetIntegralActivityController extends BaseController { ...@@ -112,7 +112,7 @@ public class SweetIntegralActivityController extends BaseController {
@PostMapping("list") @PostMapping("list")
@ResponseBody @ResponseBody
public TableDataInfo list(SweetIntegralActivityListSearchParam listParam) { public TableDataInfo list(SweetIntegralActivityListSearchParam listParam) {
PageInfo<SweetIntegralActivity> result = iSweetIntegralActivityService.list(listParam); PageInfo<SweetIntegralActivityDto> result = iSweetIntegralActivityService.list(listParam);
return getDataTable(result.getList()); return getDataTable(result.getList());
} }
......
...@@ -39,13 +39,15 @@ ...@@ -39,13 +39,15 @@
<script th:inline="javascript"> <script th:inline="javascript">
var updateFlag = [[${@permission.hasPermi('sweet:integralActivity:create')}]]; var updateFlag = [[${@permission.hasPermi('sweet:integralActivity:create')}]];
var isOnlineFlag = [[${@permission.hasPermi('sweet:integralActivity:isOnline')}]]; var isOnlineFlag = [[${@permission.hasPermi('sweet:integralActivity:isOnline')}]];
var drawListFlag = [[${@permission.hasPermi('sweet:integralActivityDraw:list')}]];
var prefix = ctx + "sweet/integralActivity"; var prefix = ctx + "sweet/integralActivity";
$(function () { $(function () {
var options = { var options = {
url: prefix + "/list", url: prefix + "/list",
updateUrl: prefix + "/update/{id}", updateUrl: prefix + "/formView", // /update/{id}
createUrl: prefix + "/formView", createUrl: prefix + "/formView",
detailUrl: prefix + "/sweet/integralActivityDraw/drawList/{id}",
modalName: "积分活动", modalName: "积分活动",
columns: [{ columns: [{
checkbox: true checkbox: true
...@@ -61,6 +63,49 @@ ...@@ -61,6 +63,49 @@
return $.table.imageView(value,"300", "600"); 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', field: 'createdAt',
title: '创建时间' title: '创建时间'
...@@ -70,6 +115,7 @@ ...@@ -70,6 +115,7 @@
align: 'center', align: 'center',
formatter: function (value, row, index) { formatter: function (value, row, index) {
var actions = []; 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-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-danger btn-xs ' + isOnlineFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.integralActivityId + '\')"></i>上下线</a> ');
return actions.join(''); return actions.join('');
......
...@@ -2,6 +2,7 @@ package com.liquidnet.client.admin.zhengzai.sweet.service; ...@@ -2,6 +2,7 @@ package com.liquidnet.client.admin.zhengzai.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.service.sweet.dto.SweetIntegralActivityDto;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityFromParam; import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityFromParam;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityListSearchParam; import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityListSearchParam;
import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityVo; import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityVo;
...@@ -25,6 +26,6 @@ public interface ISweetIntegralActivityService extends IService<SweetIntegralAct ...@@ -25,6 +26,6 @@ public interface ISweetIntegralActivityService extends IService<SweetIntegralAct
SweetIntegralActivityVo detail(String integralActivityId); SweetIntegralActivityVo detail(String integralActivityId);
PageInfo<SweetIntegralActivity> list(SweetIntegralActivityListSearchParam listParam); PageInfo<SweetIntegralActivityDto> list(SweetIntegralActivityListSearchParam listParam);
} }
package com.liquidnet.client.admin.zhengzai.sweet.service.impl; package com.liquidnet.client.admin.zhengzai.sweet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.sweet.service.ISweetIntegralActivityService; 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.commons.lang.util.IDGenerator;
import com.liquidnet.service.sweet.dto.SweetIntegralActivityDto;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityFromParam; import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityFromParam;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityListSearchParam; import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityListSearchParam;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityPrizeFormParam; import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityPrizeFormParam;
...@@ -24,7 +25,6 @@ import org.springframework.stereotype.Service; ...@@ -24,7 +25,6 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
...@@ -138,15 +138,10 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA ...@@ -138,15 +138,10 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
} }
@Override @Override
public PageInfo<SweetIntegralActivity> list(SweetIntegralActivityListSearchParam listParam) { public PageInfo<SweetIntegralActivityDto> list(SweetIntegralActivityListSearchParam listParam) {
PageHelper.startPage(listParam.getPageNum(), listParam.getPageSize()); PageHelper.startPage(listParam.getPageNum(), listParam.getPageSize());
LambdaQueryWrapper<SweetIntegralActivity> lambdaQueryWrapper = Wrappers.lambdaQuery(SweetIntegralActivity.class); List<SweetIntegralActivityDto> voList = sweetIntegralActivityMapper.searchActivityList(listParam.getActivityTitle());
if (!listParam.getActivityTitle().isEmpty()) { return new PageInfo(voList);
lambdaQueryWrapper.like(SweetIntegralActivity::getActivityTitle, listParam.getActivityTitle());
}
List<SweetIntegralActivity> sweetIntegralActivities = sweetIntegralActivityMapper.selectList(lambdaQueryWrapper);
// TODO: 2021/10/20 查询奖品数量 中奖数量计算展示 返回vo
return new PageInfo(sweetIntegralActivities);
} }
} }
...@@ -126,7 +126,7 @@ mybatis: ...@@ -126,7 +126,7 @@ mybatis:
# 搜索指定包别名 # 搜索指定包别名
typeAliasesPackage: com.liquidnet.service.kylin.**.entity,com.liquidnet.client.admin.**.domain typeAliasesPackage: com.liquidnet.service.kylin.**.entity,com.liquidnet.client.admin.**.domain
# 配置mapper的扫描,找到所有的mapper.xml映射文件 # 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml,classpath:com.liquidnet.service.kylin.mapper/*Mapper.xml,classpath:com.liquidnet.service.adam.mapper/*Mapper.xml mapperLocations: classpath*:mapper/**/*Mapper.xml,**mapper/**/*Mapper.xml,classpath:com.liquidnet.service.kylin.mapper/*Mapper.xml,classpath:com.liquidnet.service.adam.mapper/*Mapper.xml
# 加载全局的配置文件 # 加载全局的配置文件
configLocation: classpath:mybatis/mybatis-config.xml configLocation: classpath:mybatis/mybatis-config.xml
......
...@@ -10,5 +10,19 @@ ...@@ -10,5 +10,19 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>liquidnet-service-sweet-do</artifactId> <artifactId>liquidnet-service-sweet-do</artifactId>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.10.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-common-base</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project> </project>
\ No newline at end of file
package com.liquidnet.service.sweet.dto;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import java.time.LocalDateTime;
@Data
public class SweetIntegralActivityDto {
/**
* 活动id
*/
private String integralActivityId;
/**
* 活动名称
*/
private String activityTitle;
/**
* 活动图片
*/
private String activityImg;
/**
* 活动类型 1转盘
*/
private Integer activityType;
/**
* 活动时间类型 1长期 2开始结束时间
*/
private Integer timeType;
/**
* 如果活动有时间限制 开始时间
*/
private LocalDateTime startTime;
/**
* 如果活动有时间限制 结束时间
*/
private LocalDateTime endTime;
/**
* 快递费用类型 1包邮 2到付
*/
private Integer expressFeeType;
/**
* 活动规则
*/
private String activityRules;
/**
* 是否上线 1未上线 2已上线
*/
private Integer isOnline;
/**
* 创建时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt;
/**
* 更新时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt;
private Integer prizeNum;
private Integer drawNum;
}
package com.liquidnet.service.sweet.mapper; package com.liquidnet.service.sweet.mapper;
import com.liquidnet.service.sweet.dto.SweetIntegralActivityDto;
import com.liquidnet.service.sweet.entity.SweetIntegralActivity; import com.liquidnet.service.sweet.entity.SweetIntegralActivity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface SweetIntegralActivityMapper extends BaseMapper<SweetIntegralActivity> { public interface SweetIntegralActivityMapper extends BaseMapper<SweetIntegralActivity> {
List<SweetIntegralActivityDto> searchActivityList(@Param("activityTitle") String activityTitle);
} }
...@@ -2,4 +2,19 @@ ...@@ -2,4 +2,19 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!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.SweetIntegralActivityMapper"> <mapper namespace="com.liquidnet.service.sweet.mapper.SweetIntegralActivityMapper">
<select id="searchActivityList" resultType="com.liquidnet.service.sweet.dto.SweetIntegralActivityDto">
select a.*,
sum(b.prize_num) as prize_num,
count(c.prize_id) as draw_num
from sweet_integral_activity as a
left join sweet_integral_activity_prize as b on a.integral_activity_id = b.integral_activity_id
left join sweet_integral_activity_draw as c on b.prize_id = c.prize_id
<where>
<if test="activityTitle != null and activityTitle != ''">
and kot.activity_title like concat('%', #{activityTitle}, '%')
</if>
</where>
group by a.integral_activity_id
ORDER BY a.mid DESC
</select>
</mapper> </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