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

Commit ec18762f authored by 胡佳晨's avatar 胡佳晨

提交 推荐演出接口

parent bdd63d40
...@@ -4,6 +4,7 @@ public class KylinRedisConst { ...@@ -4,6 +4,7 @@ public class KylinRedisConst {
public static final String FIELDS = "kylin:fields:id"; public static final String FIELDS = "kylin:fields:id";
public static final String PERFORMANCES = "kylin:performances:id"; public static final String PERFORMANCES = "kylin:performances:id";
public static final String PERFORMANCES_RECOMMEND = "kylin:performances:recommend";
public static final String PERFORMANCES_INVENTORY = "kylin:performances_inventory:ticket:"; public static final String PERFORMANCES_INVENTORY = "kylin:performances_inventory:ticket:";
public static final String SURPLUS_GENERAL = "surplusGeneral"; public static final String SURPLUS_GENERAL = "surplusGeneral";
public static final String SURPLUS_EXCHANGE = "surplusExchange"; public static final String SURPLUS_EXCHANGE = "surplusExchange";
......
package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel
@Data
public class PerformanceRecommendAdminParam {
@ApiModelProperty(value = "演出id")
private String performanceId;
@ApiModelProperty(value = "推荐位")
private int isRecommend;
}
...@@ -52,6 +52,8 @@ public class PerformanceVo { ...@@ -52,6 +52,8 @@ public class PerformanceVo {
// @ApiModelProperty(value = "购票须知") // @ApiModelProperty(value = "购票须知")
// private String noticeImage; // private String noticeImage;
@ApiModelProperty(value = "推荐顺序 0为不推荐")
private int isRecommend;
@ApiModelProperty(value = "状态") @ApiModelProperty(value = "状态")
private int appStatus; private int appStatus;
@ApiModelProperty(value = "是否可买") @ApiModelProperty(value = "是否可买")
...@@ -89,6 +91,7 @@ public class PerformanceVo { ...@@ -89,6 +91,7 @@ public class PerformanceVo {
public void setPerformanceStatus(KylinPerformanceStatus performanceStatus) { public void setPerformanceStatus(KylinPerformanceStatus performanceStatus) {
this.statusSell = performanceStatus.getStatusSell(); this.statusSell = performanceStatus.getStatusSell();
this.isRecommend = performanceStatus.getIsRecommend();
} }
//TODO 巡演 搭售 场地 //TODO 巡演 搭售 场地
......
...@@ -3,8 +3,10 @@ package com.liquidnet.service.kylin.service.admin; ...@@ -3,8 +3,10 @@ package com.liquidnet.service.kylin.service.admin;
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.kylin.dao.PerformanceAdminListDao; import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao; import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam; import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
import com.liquidnet.service.kylin.dto.param.PerformanceRecommendAdminParam;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceMisVo; import com.liquidnet.service.kylin.dto.vo.partner.PerformanceMisVo;
import com.liquidnet.service.kylin.entity.KylinPerformances; import com.liquidnet.service.kylin.entity.KylinPerformances;
...@@ -35,4 +37,8 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc ...@@ -35,4 +37,8 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
List<PerformanceTitleDao> getListByStatus(String status); List<PerformanceTitleDao> getListByStatus(String status);
boolean changeRoadShowId(String performancesId,String roadShowId); boolean changeRoadShowId(String performancesId,String roadShowId);
boolean setRecommend(List<PerformanceRecommendAdminParam> performancesId);
PageInfo<PerformanceRecommendAdminDao> listRecommend();
} }
package com.liquidnet.service.kylin.dao;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel
@Data
public class PerformanceRecommendAdminDao {
@ApiModelProperty(value = "演出id")
private String performancesId;
@ApiModelProperty(value = "演出名称")
private String title;
@ApiModelProperty(value = "演出开始时间")
private String timeStart;
@ApiModelProperty(value = "演出状态")
private int status;
@ApiModelProperty(value = "排序位")
private int isRecommend;
}
...@@ -42,7 +42,7 @@ public class KylinPerformanceStatus implements Serializable { ...@@ -42,7 +42,7 @@ public class KylinPerformanceStatus implements Serializable {
/** /**
* 状态:-1删除;0未提交;1审核中;2审核中(自动上线);3审核通过;4审核未通过;6上线;7下架;8活动结束;9活动取消退款中;10活动取消退 * 状态:-1删除;0未提交;1审核中;2审核中(自动上线);3审核通过;4审核未通过;6上线;7下架;8活动结束;9活动取消退款中;10活动取消退
*/ */
private int status; private Integer status;
/** /**
* 是否售卖 0停止 1正常 * 是否售卖 0停止 1正常
...@@ -74,6 +74,10 @@ public class KylinPerformanceStatus implements Serializable { ...@@ -74,6 +74,10 @@ public class KylinPerformanceStatus implements Serializable {
*/ */
private Integer limitCount; private Integer limitCount;
/**
* 推荐顺序 0不推荐
*/
private Integer isRecommend;
/** /**
* 创建时间 * 创建时间
......
package com.liquidnet.service.kylin.mapper; package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.dao.FieldMisListDao; import com.liquidnet.service.kylin.dao.*;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
import com.liquidnet.service.kylin.entity.KylinPerformances; import com.liquidnet.service.kylin.entity.KylinPerformances;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...@@ -31,4 +28,7 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> { ...@@ -31,4 +28,7 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
//根据巡演查询 通过审核演出列表 //根据巡演查询 通过审核演出列表
List<PerformanceTitleDao> misTitleByStatusList(String status); List<PerformanceTitleDao> misTitleByStatusList(String status);
//推荐列表
List<PerformanceRecommendAdminDao> reCommendPerformanceList();
} }
...@@ -40,11 +40,13 @@ ...@@ -40,11 +40,13 @@
<result column="title" property="title"/> <result column="title" property="title"/>
</resultMap> </resultMap>
<resultMap id="PerformanceRecommendAdminDaoResult" type="com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao">
<!-- 列表封装 --> <result column="performances_id" property="performancesId"/>
<sql id="partner_performance_list_Column"> <result column="title" property="title"/>
<result column="time_start" property="timeStart"/>
</sql> <result column="status" property="status"/>
<result column="is_recommend" property="isRecommend"/>
</resultMap>
<!-- 第三方演出列表 (不包含退票信息) --> <!-- 第三方演出列表 (不包含退票信息) -->
<select id="partnerPerformanceList" parameterType="java.util.Map" resultMap="partnerPerformanceListResult"> <select id="partnerPerformanceList" parameterType="java.util.Map" resultMap="partnerPerformanceListResult">
...@@ -112,7 +114,6 @@ ...@@ -112,7 +114,6 @@
</where> </where>
ORDER BY #{orderItem} #{orderSc} ORDER BY #{orderItem} #{orderSc}
</select> </select>
<!-- Mis演出列表 (不包含退票信息) --> <!-- Mis演出列表 (不包含退票信息) -->
<select id="misPerformanceList" parameterType="java.util.Map" resultMap="partnerPerformanceListResult"> <select id="misPerformanceList" parameterType="java.util.Map" resultMap="partnerPerformanceListResult">
SELECT SELECT
...@@ -188,7 +189,6 @@ ...@@ -188,7 +189,6 @@
</where> </where>
ORDER BY #{orderItem} #{orderSc} ORDER BY #{orderItem} #{orderSc}
</select> </select>
<!-- Mis 根据巡演查询演出列表 --> <!-- Mis 根据巡演查询演出列表 -->
<select id="misTitleByRoadShowIdList" parameterType="java.lang.String" resultMap="performanceTitleDaoResult"> <select id="misTitleByRoadShowIdList" parameterType="java.lang.String" resultMap="performanceTitleDaoResult">
SELECT performances_id, SELECT performances_id,
...@@ -209,4 +209,17 @@ ...@@ -209,4 +209,17 @@
LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
WHERE ps.status = ${roadShowId} WHERE ps.status = ${roadShowId}
</select> </select>
<!-- Mis演出推荐列表 -->
<select id="reCommendPerformanceList" resultMap="PerformanceRecommendAdminDaoResult">
SELECT performances_id,
title,
time_start,
status,
is_recommend
FROM kylin_performances AS p
LEFT JOIN kylin_performance_status AS ps ON ps.performance_id = p.performances_id
WHERE is_recommend > 0
ORDER BY is_recommend DESC
</select>
</mapper> </mapper>
...@@ -158,6 +158,7 @@ CREATE TABLE `kylin_performance_status` ...@@ -158,6 +158,7 @@ CREATE TABLE `kylin_performance_status`
`audit_status` tinyint NOT NULL DEFAULT -1 COMMENT '-1未提交审核,0提交审核,1审核通过,2审核拒绝', `audit_status` tinyint NOT NULL DEFAULT -1 COMMENT '-1未提交审核,0提交审核,1审核通过,2审核拒绝',
`is_true_name` tinyint NOT NULL DEFAULT 0 COMMENT '是否实名 0不需要 1需要', `is_true_name` tinyint NOT NULL DEFAULT 0 COMMENT '是否实名 0不需要 1需要',
`limit_count` int(11) NOT NULL DEFAULT 0 COMMENT '限购张数 0无限 (开启实名 则实名限购 未开始为账号限购)', `limit_count` int(11) NOT NULL DEFAULT 0 COMMENT '限购张数 0无限 (开启实名 则实名限购 未开始为账号限购)',
`is_recommend` tinyint(255) NOT NULL DEFAULT 0 COMMENT '是否推荐 0否 1是',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间', `created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间', `updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_performance_status_uid_index` (`performance_status_id`), KEY `kylin_performance_status_uid_index` (`performance_status_id`),
......
...@@ -4,8 +4,10 @@ package com.liquidnet.service.kylin.controller.admin; ...@@ -4,8 +4,10 @@ package com.liquidnet.service.kylin.controller.admin;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.service.ResponseDto; import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao; import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao; import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam; import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
import com.liquidnet.service.kylin.dto.param.PerformanceRecommendAdminParam;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceMisVo; import com.liquidnet.service.kylin.dto.vo.partner.PerformanceMisVo;
import com.liquidnet.service.kylin.service.impl.admin.KylinPerformancesAdminServiceImpl; import com.liquidnet.service.kylin.service.impl.admin.KylinPerformancesAdminServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -62,7 +64,7 @@ public class KylinPerformancesAdminController { ...@@ -62,7 +64,7 @@ public class KylinPerformancesAdminController {
@PostMapping(value = "audit") @PostMapping(value = "audit")
@ApiOperation(value = "演出审核") @ApiOperation(value = "演出审核")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> performanceAudit(@RequestParam("performancesId") String performancesId, @RequestParam("status") int status, @RequestParam(value = "rejectTxt" , required = false) String rejectTxt) { public ResponseDto<String> performanceAudit(@RequestParam("performancesId") String performancesId, @RequestParam("status") int status, @RequestParam(value = "rejectTxt", required = false) String rejectTxt) {
boolean result = performancesAdminService.performanceAudit(performancesId, status, rejectTxt); boolean result = performancesAdminService.performanceAudit(performancesId, status, rejectTxt);
if (result) { if (result) {
return ResponseDto.success("审核完成"); return ResponseDto.success("审核完成");
...@@ -106,4 +108,28 @@ public class KylinPerformancesAdminController { ...@@ -106,4 +108,28 @@ public class KylinPerformancesAdminController {
return ResponseDto.failure("操作失败"); return ResponseDto.failure("操作失败");
} }
} }
@PutMapping(value = "performance/recommend")
@ApiOperation(value = "演出推荐编辑")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> setRecommend(@RequestBody @Valid List<PerformanceRecommendAdminParam> performanceRecommendAdminParam) {
boolean result = performancesAdminService.setRecommend(performanceRecommendAdminParam);
if (result) {
return ResponseDto.success("操作成功");
} else {
return ResponseDto.failure("操作失败");
}
}
@GetMapping(value = "performance/recommend/list")
@ApiOperation(value = "演出推荐列表")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<PerformanceRecommendAdminDao>> listRecommend() {
PageInfo<PerformanceRecommendAdminDao> result = performancesAdminService.listRecommend();
if (result != null) {
return ResponseDto.success(result);
} else {
return ResponseDto.failure("获取失败");
}
}
} }
...@@ -7,9 +7,12 @@ import com.github.pagehelper.PageInfo; ...@@ -7,9 +7,12 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil; import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao; import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao; import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam; import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
import com.liquidnet.service.kylin.dto.param.PerformanceRecommendAdminParam;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo; import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceMisVo; import com.liquidnet.service.kylin.dto.vo.partner.PerformanceMisVo;
import com.liquidnet.service.kylin.dto.vo.partner.PerformancePartnerVo; import com.liquidnet.service.kylin.dto.vo.partner.PerformancePartnerVo;
...@@ -264,4 +267,53 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -264,4 +267,53 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
return false; return false;
} }
} }
@Override
public boolean setRecommend(List<PerformanceRecommendAdminParam> performancesIdList) {
try {
KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus();
performanceStatus.setIsRecommend(0);
performanceStatus.setStatus(null);
performanceStatusMapper.update(performanceStatus, new UpdateWrapper<KylinPerformanceStatus>().gt("is_recommend", 0));
HashMap<String, Object> map = new HashMap<>();
map.put("isRecommend", 0);
BasicDBObject object = new BasicDBObject("$set", map);
mongoTemplate.getCollection(PerformanceVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("isRecommend").gt(0)).getQueryObject(),
object
);
for (PerformanceRecommendAdminParam item : performancesIdList) {
performanceStatus.setIsRecommend(item.getIsRecommend());
performanceStatusMapper.update(performanceStatus, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", item.getPerformanceId()));
HashMap<String, Object> map2 = new HashMap<>();
map2.put("isRecommend", item.getIsRecommend());
BasicDBObject object2 = new BasicDBObject("$set", map2);
mongoTemplate.getCollection(PerformanceVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(item.getPerformanceId())).getQueryObject(),
object2
);
}
redisUtil.del(KylinRedisConst.PERFORMANCES_RECOMMEND);
return true;
} catch (Exception e) {
return false;
}
}
@Override
public PageInfo<PerformanceRecommendAdminDao> listRecommend() {
PageInfo<PerformanceRecommendAdminDao> pageInfoTmp = null;
try {
PageHelper.startPage(1, 10);
List<PerformanceRecommendAdminDao> voList = performancesMapper.reCommendPerformanceList();
pageInfoTmp = new PageInfo(voList);
} catch (Exception e) {
return null;
}
return pageInfoTmp;
}
} }
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