直播记录页面添加进粉记录
This commit is contained in:
parent
af454ecf9a
commit
ad3b5be706
@ -5,16 +5,10 @@ import java.util.List;
|
|||||||
|
|
||||||
import com.stdiet.common.utils.DateUtils;
|
import com.stdiet.common.utils.DateUtils;
|
||||||
import com.stdiet.common.utils.StringUtils;
|
import com.stdiet.common.utils.StringUtils;
|
||||||
|
import com.stdiet.custom.domain.SysLiveSchedulFanRecord;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
import com.stdiet.common.annotation.Log;
|
import com.stdiet.common.annotation.Log;
|
||||||
import com.stdiet.common.core.controller.BaseController;
|
import com.stdiet.common.core.controller.BaseController;
|
||||||
import com.stdiet.common.core.domain.AjaxResult;
|
import com.stdiet.common.core.domain.AjaxResult;
|
||||||
@ -261,4 +255,21 @@ public class SysLiveSchedulController extends BaseController
|
|||||||
}
|
}
|
||||||
return AjaxResult.success(live);
|
return AjaxResult.success(live);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 给对应直播添加、更新进粉记录
|
||||||
|
*/
|
||||||
|
@PostMapping(value = "/addOrEditSysLiveSchedulFanRecord")
|
||||||
|
public AjaxResult addOrEditSysLiveSchedulFanRecord(@RequestBody SysLiveSchedulFanRecord sysLiveSchedulFanRecord){
|
||||||
|
int row = sysLiveSchedulFanRecord.getId() == null ? sysLiveSchedulService.addLiveSchedulFanRecord(sysLiveSchedulFanRecord) : sysLiveSchedulService.updateLiveSchedulFanRecord(sysLiveSchedulFanRecord);
|
||||||
|
return toAjax(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 给对应直播删除进粉记录
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/delSysLiveSchedulFanRecord")
|
||||||
|
public AjaxResult delSysLiveSchedulFanRecord(@RequestParam("id")Long id){
|
||||||
|
return toAjax(sysLiveSchedulService.delLiveSchedulFanRecord(id));
|
||||||
|
}
|
||||||
}
|
}
|
@ -119,4 +119,13 @@ public class SysWxSaleAccountController extends BaseController
|
|||||||
{
|
{
|
||||||
return toAjax(sysWxSaleAccountService.deleteSysWxSaleAccountByIds(ids));
|
return toAjax(sysWxSaleAccountService.deleteSysWxSaleAccountByIds(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询所有微信账号
|
||||||
|
*/
|
||||||
|
@GetMapping("/getAllWxAccount")
|
||||||
|
public AjaxResult getAllWxAccount() {
|
||||||
|
List<SysWxSaleAccount> list = sysWxSaleAccountService.selectSysWxSaleAccountList(new SysWxSaleAccount());
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
}
|
}
|
@ -81,5 +81,9 @@ public class SysLiveSchedul extends BaseEntity
|
|||||||
|
|
||||||
private String fanChannelName;
|
private String fanChannelName;
|
||||||
|
|
||||||
|
//导粉情况
|
||||||
private List<Map<String,Object>> wxAccountList;
|
private List<Map<String,Object>> wxAccountList;
|
||||||
|
|
||||||
|
//进粉情况
|
||||||
|
private List<Map<String,Object>> addFanList;
|
||||||
}
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
package com.stdiet.custom.domain;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.stdiet.common.utils.DateUtils;
|
||||||
|
import lombok.Data;
|
||||||
|
import com.stdiet.common.annotation.Excel;
|
||||||
|
import com.stdiet.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 直播记录中每场直播对应进粉记录对象 sys_live_schedul_fan_record
|
||||||
|
*
|
||||||
|
* @author xzj
|
||||||
|
* @date 2021-08-19
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SysLiveSchedulFanRecord extends BaseEntity
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** $column.columnComment */
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 直播ID */
|
||||||
|
@Excel(name = "直播ID")
|
||||||
|
private Long liveSchedulId;
|
||||||
|
|
||||||
|
/** 微信账号ID */
|
||||||
|
@Excel(name = "微信账号ID")
|
||||||
|
private Long saleWxAccountId;
|
||||||
|
|
||||||
|
/** 进粉客户微信号 */
|
||||||
|
@Excel(name = "进粉客户微信号")
|
||||||
|
private String fanWxNumber;
|
||||||
|
|
||||||
|
/** 进粉时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||||
|
@Excel(name = "进粉时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
|
||||||
|
private Date enterFanTime;
|
||||||
|
|
||||||
|
/** 删除标识 0未删除 1已删除 */
|
||||||
|
private Integer delFlag;
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
package com.stdiet.custom.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.stdiet.custom.domain.SysLiveSchedulFanRecord;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 直播记录中每场直播对应进粉记录Mapper接口
|
||||||
|
*
|
||||||
|
* @author xzj
|
||||||
|
* @date 2021-08-19
|
||||||
|
*/
|
||||||
|
public interface SysLiveSchedulFanRecordMapper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询直播记录中每场直播对应进粉记录
|
||||||
|
*
|
||||||
|
* @param id 直播记录中每场直播对应进粉记录ID
|
||||||
|
* @return 直播记录中每场直播对应进粉记录
|
||||||
|
*/
|
||||||
|
public SysLiveSchedulFanRecord selectSysLiveSchedulFanRecordById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询直播记录中每场直播对应进粉记录列表
|
||||||
|
*
|
||||||
|
* @param sysLiveSchedulFanRecord 直播记录中每场直播对应进粉记录
|
||||||
|
* @return 直播记录中每场直播对应进粉记录集合
|
||||||
|
*/
|
||||||
|
public List<SysLiveSchedulFanRecord> selectSysLiveSchedulFanRecordList(SysLiveSchedulFanRecord sysLiveSchedulFanRecord);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增直播记录中每场直播对应进粉记录
|
||||||
|
*
|
||||||
|
* @param sysLiveSchedulFanRecord 直播记录中每场直播对应进粉记录
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertSysLiveSchedulFanRecord(SysLiveSchedulFanRecord sysLiveSchedulFanRecord);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改直播记录中每场直播对应进粉记录
|
||||||
|
*
|
||||||
|
* @param sysLiveSchedulFanRecord 直播记录中每场直播对应进粉记录
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateSysLiveSchedulFanRecord(SysLiveSchedulFanRecord sysLiveSchedulFanRecord);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除直播记录中每场直播对应进粉记录
|
||||||
|
*
|
||||||
|
* @param id 直播记录中每场直播对应进粉记录ID
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteSysLiveSchedulFanRecordById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除直播记录中每场直播对应进粉记录
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的数据ID
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteSysLiveSchedulFanRecordByIds(Long[] ids);
|
||||||
|
}
|
@ -4,6 +4,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import com.stdiet.common.core.domain.AjaxResult;
|
import com.stdiet.common.core.domain.AjaxResult;
|
||||||
import com.stdiet.custom.domain.SysLiveSchedul;
|
import com.stdiet.custom.domain.SysLiveSchedul;
|
||||||
|
import com.stdiet.custom.domain.SysLiveSchedulFanRecord;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 直播排班Service接口
|
* 直播排班Service接口
|
||||||
@ -91,4 +92,25 @@ public interface ISysLiveSchedulService
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public SysLiveSchedul getLiveSchedulByTime(SysLiveSchedul sysLiveSchedul);
|
public SysLiveSchedul getLiveSchedulByTime(SysLiveSchedul sysLiveSchedul);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 给对应直播添加进粉记录
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int addLiveSchedulFanRecord(SysLiveSchedulFanRecord sysLiveSchedulFanRecord);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 给对应直播更新进粉记录
|
||||||
|
* @param sysLiveSchedulFanRecord
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int updateLiveSchedulFanRecord(SysLiveSchedulFanRecord sysLiveSchedulFanRecord);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 给对应直播删除进粉记录
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int delLiveSchedulFanRecord(Long id);
|
||||||
}
|
}
|
@ -8,6 +8,8 @@ import java.util.List;
|
|||||||
import com.stdiet.common.core.domain.AjaxResult;
|
import com.stdiet.common.core.domain.AjaxResult;
|
||||||
import com.stdiet.common.utils.DateUtils;
|
import com.stdiet.common.utils.DateUtils;
|
||||||
import com.stdiet.common.utils.SecurityUtils;
|
import com.stdiet.common.utils.SecurityUtils;
|
||||||
|
import com.stdiet.custom.domain.SysLiveSchedulFanRecord;
|
||||||
|
import com.stdiet.custom.mapper.SysLiveSchedulFanRecordMapper;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -27,6 +29,9 @@ public class SysLiveSchedulServiceImpl implements ISysLiveSchedulService
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SysLiveSchedulMapper sysLiveSchedulMapper;
|
private SysLiveSchedulMapper sysLiveSchedulMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SysLiveSchedulFanRecordMapper sysLiveSchedulFanRecordMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询直播排班
|
* 查询直播排班
|
||||||
*
|
*
|
||||||
@ -186,4 +191,29 @@ public class SysLiveSchedulServiceImpl implements ISysLiveSchedulService
|
|||||||
public SysLiveSchedul getLiveSchedulByTime(SysLiveSchedul sysLiveSchedul){
|
public SysLiveSchedul getLiveSchedulByTime(SysLiveSchedul sysLiveSchedul){
|
||||||
return sysLiveSchedulMapper.getLiveSchedulByTime(sysLiveSchedul);
|
return sysLiveSchedulMapper.getLiveSchedulByTime(sysLiveSchedul);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 给对应直播添加进粉记录
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int addLiveSchedulFanRecord(SysLiveSchedulFanRecord sysLiveSchedulFanRecord){
|
||||||
|
return sysLiveSchedulFanRecordMapper.insertSysLiveSchedulFanRecord(sysLiveSchedulFanRecord);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 给对应直播修改进粉记录
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int updateLiveSchedulFanRecord(SysLiveSchedulFanRecord sysLiveSchedulFanRecord){
|
||||||
|
return sysLiveSchedulFanRecordMapper.updateSysLiveSchedulFanRecord(sysLiveSchedulFanRecord);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 给对应直播删除进粉记录
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int delLiveSchedulFanRecord(Long id){
|
||||||
|
return sysLiveSchedulFanRecordMapper.deleteSysLiveSchedulFanRecordById(id);
|
||||||
|
}
|
||||||
}
|
}
|
@ -0,0 +1,85 @@
|
|||||||
|
<?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.stdiet.custom.mapper.SysLiveSchedulFanRecordMapper">
|
||||||
|
|
||||||
|
<resultMap type="SysLiveSchedulFanRecord" id="SysLiveSchedulFanRecordResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="liveSchedulId" column="live_schedul_id" />
|
||||||
|
<result property="saleWxAccountId" column="sale_wx_account_id" />
|
||||||
|
<result property="fanWxNumber" column="fan_wx_number" />
|
||||||
|
<result property="enterFanTime" column="enter_fan_time" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="updateTime" column="update_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="delFlag" column="del_flag" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectSysLiveSchedulFanRecordVo">
|
||||||
|
select id, live_schedul_id, sale_wx_account_id, fan_wx_number, enter_fan_time, create_time, create_by, update_time, update_by, del_flag from sys_live_schedul_fan_record
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectSysLiveSchedulFanRecordList" parameterType="SysLiveSchedulFanRecord" resultMap="SysLiveSchedulFanRecordResult">
|
||||||
|
<include refid="selectSysLiveSchedulFanRecordVo"/> where del_flag = 0
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectSysLiveSchedulFanRecordById" parameterType="Long" resultMap="SysLiveSchedulFanRecordResult">
|
||||||
|
<include refid="selectSysLiveSchedulFanRecordVo"/>
|
||||||
|
where id = #{id} and del_flag = 0
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertSysLiveSchedulFanRecord" parameterType="SysLiveSchedulFanRecord" useGeneratedKeys="true" keyProperty="id">
|
||||||
|
insert into sys_live_schedul_fan_record
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="liveSchedulId != null">live_schedul_id,</if>
|
||||||
|
<if test="saleWxAccountId != null">sale_wx_account_id,</if>
|
||||||
|
<if test="fanWxNumber != null">fan_wx_number,</if>
|
||||||
|
<if test="enterFanTime != null">enter_fan_time,</if>
|
||||||
|
<if test="createTime != null">create_time,</if>
|
||||||
|
<if test="createBy != null">create_by,</if>
|
||||||
|
<if test="updateTime != null">update_time,</if>
|
||||||
|
<if test="updateBy != null">update_by,</if>
|
||||||
|
<if test="delFlag != null">del_flag,</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="liveSchedulId != null">#{liveSchedulId},</if>
|
||||||
|
<if test="saleWxAccountId != null">#{saleWxAccountId},</if>
|
||||||
|
<if test="fanWxNumber != null">#{fanWxNumber},</if>
|
||||||
|
<if test="enterFanTime != null">#{enterFanTime},</if>
|
||||||
|
<if test="createTime != null">#{createTime},</if>
|
||||||
|
<if test="createBy != null">#{createBy},</if>
|
||||||
|
<if test="updateTime != null">#{updateTime},</if>
|
||||||
|
<if test="updateBy != null">#{updateBy},</if>
|
||||||
|
<if test="delFlag != null">#{delFlag},</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateSysLiveSchedulFanRecord" parameterType="SysLiveSchedulFanRecord">
|
||||||
|
update sys_live_schedul_fan_record
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="liveSchedulId != null">live_schedul_id = #{liveSchedulId},</if>
|
||||||
|
<if test="saleWxAccountId != null">sale_wx_account_id = #{saleWxAccountId},</if>
|
||||||
|
<if test="fanWxNumber != null">fan_wx_number = #{fanWxNumber},</if>
|
||||||
|
<if test="enterFanTime != null">enter_fan_time = #{enterFanTime},</if>
|
||||||
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
|
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="deleteSysLiveSchedulFanRecordById" parameterType="Long">
|
||||||
|
update sys_live_schedul_fan_record set del_flag = 1 where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="deleteSysLiveSchedulFanRecordByIds" parameterType="String">
|
||||||
|
update sys_live_schedul_fan_record set del_flag = 1 where id in
|
||||||
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
</mapper>
|
@ -29,6 +29,8 @@
|
|||||||
|
|
||||||
<!-- 根据渠道查询对应微信号(微信账号分配表中) -->
|
<!-- 根据渠道查询对应微信号(微信账号分配表中) -->
|
||||||
<association property="wxAccountList" column="id" select="getWxAccountListByLiveId"/>
|
<association property="wxAccountList" column="id" select="getWxAccountListByLiveId"/>
|
||||||
|
<!-- 查询该场直播真实进粉情况 -->
|
||||||
|
<association property="addFanList" column="id" select="getAddFanRecordByLiveSchedulId"></association>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<resultMap type="SysLiveSchedul" id="SysLiveSchedulResultSigle">
|
<resultMap type="SysLiveSchedul" id="SysLiveSchedulResultSigle">
|
||||||
@ -220,5 +222,16 @@
|
|||||||
and #{liveStartTime} >= live_start_time order by live_start_time desc limit 1
|
and #{liveStartTime} >= live_start_time order by live_start_time desc limit 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 根据直播记录ID查询对应进粉情况 -->
|
||||||
|
<select id="getAddFanRecordByLiveSchedulId" parameterType="Long" resultType="Map">
|
||||||
|
select
|
||||||
|
fr.id, fr.live_schedul_id liveSchedulId, fr.sale_wx_account_id saleWxAccountId, fr.fan_wx_number as fanWxNumber, DATE_FORMAT(fr.enter_fan_time,'%Y-%m-%d %H:%i') as enterFanTime,
|
||||||
|
w.wx_account as saleWxAccount, u.nick_name as saleName
|
||||||
|
from sys_live_schedul_fan_record as fr
|
||||||
|
left join sys_wx_sale_account as w on w.id = fr.sale_wx_account_id and w.del_flag = 0
|
||||||
|
left join sys_wx_distribution as swd on swd.wechat_account = w.id and swd.del_flag = 0
|
||||||
|
left join sys_user u on u.user_id = swd.user_id
|
||||||
|
where fr.del_flag = 0 and fr.live_schedul_id = #{id} order by fr.create_time desc
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
@ -89,5 +89,23 @@ export function getLiveSchedulByTime(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//添加、编辑进粉记录
|
||||||
|
export function addOrEditSysLiveSchedulFanRecord(data){
|
||||||
|
return request({
|
||||||
|
url: '/custom/liveSchedul/addOrEditSysLiveSchedulFanRecord',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//删除进粉记录
|
||||||
|
export function delSysLiveSchedulFanRecord(query){
|
||||||
|
return request({
|
||||||
|
url: '/custom/liveSchedul/delSysLiveSchedulFanRecord',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,3 +51,12 @@ export function exportWxAccount(query) {
|
|||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 查询所有微信账号
|
||||||
|
export function getAllWxAccount() {
|
||||||
|
return request({
|
||||||
|
url: '/custom/wxAccount/getAllWxAccount',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -137,16 +137,18 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="直播营养师" align="center" prop="liveNutritionistName" />
|
<el-table-column label="直播营养师" align="center" prop="liveNutritionistName" />
|
||||||
<el-table-column label="直播运营" align="center" prop="liveOperatorName" />
|
<!--<el-table-column label="直播运营" align="center" prop="liveOperatorName" />
|
||||||
<el-table-column label="直播策划" align="center" prop="livePlannerName" />
|
<el-table-column label="直播策划" align="center" prop="livePlannerName" />-->
|
||||||
<el-table-column label="所属账号" align="center" prop="fanChannelName" />
|
<el-table-column label="所属账号" align="center" prop="fanChannelName" />
|
||||||
<el-table-column label="接粉微信号" align="center" prop="wxAccountList">
|
<el-table-column label="导粉情况" align="center" prop="wxAccountList">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
<span style="margin-right:10px">{{scope.row.wxAccountList.length}}</span>
|
||||||
<el-popover
|
<el-popover
|
||||||
placement="left"
|
placement="left"
|
||||||
width="370"
|
width="370"
|
||||||
trigger="click">
|
trigger="click">
|
||||||
<el-table :data="scope.row.wxAccountList" style="width:360;height: 300px;overflow: auto;">
|
|
||||||
|
<el-table :data="scope.row.wxAccountList" height="300" style="width: 100%">
|
||||||
<el-table-column width="80" property="saleName" label="销售"></el-table-column>
|
<el-table-column width="80" property="saleName" label="销售"></el-table-column>
|
||||||
<el-table-column width="180" property="wxAccount" label="微信号" align="center"></el-table-column>
|
<el-table-column width="180" property="wxAccount" label="微信号" align="center"></el-table-column>
|
||||||
<el-table-column width="80" property="fanNum" label="导粉量" align="center"></el-table-column>
|
<el-table-column width="80" property="fanNum" label="导粉量" align="center"></el-table-column>
|
||||||
@ -155,6 +157,55 @@
|
|||||||
</el-popover>
|
</el-popover>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="进粉情况" align="center" prop="addFanList">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span style="margin-right:10px">{{scope.row.addFanList.length}}</span>
|
||||||
|
<el-popover
|
||||||
|
:title="scope.row.liveRoomName + '-' + scope.row.fanChannelName + '-' + scope.row.liveNutritionistName + '-' + parseTime(scope.row.liveStartTime, '{h}:{i}') + '至' + parseTime(scope.row.liveEndTime, '{h}:{i}') + '直播进粉记录'"
|
||||||
|
placement="left"
|
||||||
|
width="680"
|
||||||
|
trigger="click">
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-plus"
|
||||||
|
size="mini"
|
||||||
|
@click="addFanRecord(scope.row)"
|
||||||
|
>新增</el-button>
|
||||||
|
<span style="margin-left:5px;color:red">总数:{{scope.row.addFanList.length}}</span>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-table :data="scope.row.addFanList" height="250" style="width: 100%"><!-- 620;height: 300px;overflow: auto; -->
|
||||||
|
<el-table-column width="70" property="saleName" label="销售"></el-table-column>
|
||||||
|
<el-table-column width="140" property="saleWxAccount" label="销售微信号" align="center"></el-table-column>
|
||||||
|
<el-table-column width="140" property="fanWxNumber" label="客户微信号" align="center"></el-table-column>
|
||||||
|
<el-table-column width="140" property="enterFanTime" label="进粉时间" align="center"></el-table-column>
|
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="140">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
style="margin-left:16px"
|
||||||
|
size="normal"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="updateFanRecord(scope.row)"
|
||||||
|
>修改</el-button>
|
||||||
|
<el-popconfirm title="确定要删除吗?" @onConfirm="delFanRecord(scope.row)">
|
||||||
|
<el-button
|
||||||
|
slot="reference"
|
||||||
|
size="normal"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
>删除</el-button>
|
||||||
|
</el-popconfirm>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-button slot="reference">详情</el-button>
|
||||||
|
</el-popover>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300">
|
||||||
<template slot-scope="scope"><!-- scope.row.statusTrueName,scope.row.statusFalseName -->
|
<template slot-scope="scope"><!-- scope.row.statusTrueName,scope.row.statusFalseName -->
|
||||||
<el-switch
|
<el-switch
|
||||||
@ -344,12 +395,58 @@
|
|||||||
<el-button @click="cancel">取 消</el-button>
|
<el-button @click="cancel">取 消</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-dialog :title="addEditFanRecordTitle" :visible.sync="addEditFanRecordOpen" width="600px" append-to-body :close-on-click-modal="false">
|
||||||
|
<el-form ref="addEditFanRecordForm" :model="addEditFanRecordForm" :rules="addEditFanRecordRules" label-width="120px">
|
||||||
|
<el-form-item label="销售微信号" prop="saleWxAccountId">
|
||||||
|
<el-select
|
||||||
|
v-model="addEditFanRecordForm.saleWxAccountId"
|
||||||
|
placeholder="请选择销售微信号"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
size="small"
|
||||||
|
style="width:300px"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in wxAccountList"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.wxAccount"
|
||||||
|
:value="parseInt(dict.id)"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="粉丝微信号" prop="fanWxNumber">
|
||||||
|
<el-input
|
||||||
|
v-model="addEditFanRecordForm.fanWxNumber"
|
||||||
|
placeholder="请输入微信号"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
maxlength="50"
|
||||||
|
style="width:300px"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="进粉时间" prop="enterFanTime">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="addEditFanRecordForm.enterFanTime"
|
||||||
|
format="yyyy-MM-dd HH:mm"
|
||||||
|
value-format="yyyy-MM-dd HH:mm"
|
||||||
|
type="datetime"
|
||||||
|
style="width:300px"
|
||||||
|
placeholder="进粉时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitAddEditFanRecordForm">确 定</el-button>
|
||||||
|
<el-button @click="cancelAddEditFanRecordForm">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listLiveSchedul, getLiveSchedul, delLiveSchedul, addLiveSchedul, updateLiveSchedul, exportLiveSchedul,updateLiveStatus,copyLastTimeLiveSchedul } from "@/api/custom/liveSchedul";
|
import { listLiveSchedul, getLiveSchedul, delLiveSchedul, addLiveSchedul, updateLiveSchedul, exportLiveSchedul,updateLiveStatus,copyLastTimeLiveSchedul,addOrEditSysLiveSchedulFanRecord,delSysLiveSchedulFanRecord } from "@/api/custom/liveSchedul";
|
||||||
import { listWxAccount } from "@/api/custom/wxAccount";
|
import { getAllWxAccount } from "@/api/custom/wxAccount";
|
||||||
import AutoHideInfo from "@/components/AutoHideInfo";
|
import AutoHideInfo from "@/components/AutoHideInfo";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
const nowDate = dayjs().format("YYYY-MM-DD");
|
const nowDate = dayjs().format("YYYY-MM-DD");
|
||||||
@ -414,7 +511,19 @@ export default {
|
|||||||
//接粉渠道
|
//接粉渠道
|
||||||
fanChanneloptions: [],
|
fanChanneloptions: [],
|
||||||
//所有微信号
|
//所有微信号
|
||||||
wxAccountList:[]
|
wxAccountList:[],
|
||||||
|
|
||||||
|
addEditFanRecordTitle: "",
|
||||||
|
addEditFanRecordOpen: false,
|
||||||
|
addEditFanRecordForm: {},
|
||||||
|
addEditFanRecordRules: {
|
||||||
|
saleWxAccountId: [{ required: true, trigger: "blur", message: "请选择销售微信号" }],
|
||||||
|
fanWxNumber:[{ required: true, trigger: "blur", message: "请填写粉丝微信号" }],
|
||||||
|
enterFanTime:[{ required: true, trigger: "blur", message: "请选择进粉时间" }],
|
||||||
|
},
|
||||||
|
//记录当前添加或编辑进粉记录对应直播记录的ID
|
||||||
|
addOrEditSchedulId: null,
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
components:{
|
components:{
|
||||||
@ -454,16 +563,18 @@ export default {
|
|||||||
item.status = (item.liveStatus == 0 || item.liveStatus == 2) ? false : true;
|
item.status = (item.liveStatus == 0 || item.liveStatus == 2) ? false : true;
|
||||||
item.statusFalseName = item.liveStatus == 0 ? '未开播' : '已下播';
|
item.statusFalseName = item.liveStatus == 0 ? '未开播' : '已下播';
|
||||||
item.statusTrueName = '已开播';
|
item.statusTrueName = '已开播';
|
||||||
|
item.addFanVisible = this.addOrEditSchedulId == item.id;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
this.addOrEditSchedulId = null;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
//获取所有微信号
|
//获取所有微信号
|
||||||
getListWxAccount() {
|
getListWxAccount() {
|
||||||
listWxAccount(this.queryParams).then((response) => {
|
getAllWxAccount().then((response) => {
|
||||||
this.wxAccountList = response.rows;
|
this.wxAccountList = response.data;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消按钮
|
// 取消按钮
|
||||||
@ -620,6 +731,79 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
addEditFanRecordFormRest(){
|
||||||
|
this.addEditFanRecordForm = {
|
||||||
|
id: null,
|
||||||
|
liveSchedulId: null,
|
||||||
|
saleWxAccountId: null,
|
||||||
|
fanWxNumber: null,
|
||||||
|
enterFanTime: nowTime
|
||||||
|
},
|
||||||
|
this.addOrEditSchedulId = null;
|
||||||
|
},
|
||||||
|
addFanRecord(item){
|
||||||
|
this.addEditFanRecordFormRest();
|
||||||
|
this.addEditFanRecordForm.liveSchedulId = item.id;
|
||||||
|
this.addEditFanRecordTitle = item.liveRoomName + "-" + item.fanChannelName + "-" + item.liveNutritionistName + "-" + this.parseTime(item.liveStartTime, '{h}:{i}') +"至" + this.parseTime(item.liveEndTime, '{h}:{i}') + "直播-添加进粉记录";
|
||||||
|
this.addEditFanRecordOpen = true;
|
||||||
|
},
|
||||||
|
updateFanRecord(item){
|
||||||
|
this.addEditFanRecordFormRest();
|
||||||
|
if(item.id == null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.addEditFanRecordForm = {
|
||||||
|
id: item.id,
|
||||||
|
liveSchedulId: item.liveSchedulId,
|
||||||
|
saleWxAccountId: item.saleWxAccountId,
|
||||||
|
fanWxNumber: item.fanWxNumber,
|
||||||
|
enterFanTime: item.enterFanTime
|
||||||
|
};
|
||||||
|
let liveSchedul = this.getLiveSchedulById(item.liveSchedulId);
|
||||||
|
this.addEditFanRecordTitle = liveSchedul.liveRoomName + "-" + liveSchedul.fanChannelName + "-" + liveSchedul.liveNutritionistName + "-" + this.parseTime(liveSchedul.liveStartTime, '{h}:{i}') +"至" + this.parseTime(liveSchedul.liveEndTime, '{h}:{i}') + "直播-编辑进粉记录";
|
||||||
|
this.addEditFanRecordOpen = true;
|
||||||
|
},
|
||||||
|
delFanRecord(item){
|
||||||
|
if(item == null || item.id == null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
delSysLiveSchedulFanRecord({'id': item.id}).then((reponse) => {
|
||||||
|
if(reponse.code == 200){
|
||||||
|
this.msgSuccess("删除成功");
|
||||||
|
this.addEditFanRecordOpen = false;
|
||||||
|
this.getList();
|
||||||
|
}else{
|
||||||
|
this.msgSuccess("删除失败");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
submitAddEditFanRecordForm(){
|
||||||
|
this.$refs["addEditFanRecordForm"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
addOrEditSysLiveSchedulFanRecord(this.addEditFanRecordForm).then((response) => {
|
||||||
|
if(response.code == 200){
|
||||||
|
this.msgSuccess(this.addEditFanRecordForm.id == null ? "添加成功" : "编辑成功");
|
||||||
|
this.addEditFanRecordOpen = false;
|
||||||
|
this.addOrEditSchedulId = this.addEditFanRecordForm.liveSchedulId;
|
||||||
|
this.getList();
|
||||||
|
}else{
|
||||||
|
this.msgError(this.addEditFanRecordForm.id == null ? "添加失败" : "编辑失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
this.msgError("数据未填写完整");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
cancelAddEditFanRecordForm(){
|
||||||
|
this.addEditFanRecordOpen = false;
|
||||||
|
},
|
||||||
|
getLiveSchedulById(id){
|
||||||
|
if(this.liveSchedulList != null && this.liveSchedulList.length > 0 && id != null){
|
||||||
|
return this.liveSchedulList.find((opt) => opt.id === id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user