UserOperationService.java 4.81 KB
package com.topdraw.business.process.service;

import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.module.user.app.domain.UserApp;
import com.topdraw.business.module.user.app.domain.UserAppBind;
import com.topdraw.business.module.user.app.service.dto.UserAppDTO;
import com.topdraw.business.module.user.app.service.dto.UserAppSimpleDTO;
import com.topdraw.business.module.user.iptv.domain.UserTv;
import com.topdraw.business.module.user.iptv.growreport.domain.GrowthReport;
import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO;
import com.topdraw.business.module.user.weixin.domain.UserWeixin;
import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO;
import com.topdraw.business.process.domian.weixin.BindBean;
import com.topdraw.business.process.domian.weixin.SubscribeBean;
import com.topdraw.business.process.domian.weixin.TvUnBindBean;
import com.topdraw.business.process.domian.weixin.WeixinUnBindBean;
import com.topdraw.common.ResultInfo;


public interface UserOperationService {

    /**
     * 保存大屏账户并创建会员
     * @param resources
     * @return
     */
    UserTvDTO createTvUserAndMember(UserTv resources);

    /**
     * 保存小屏账户并创建会员
     * @param resources
     * @return
     */
    UserWeixinDTO createWeixinUserAndMember(UserWeixin resources);

    /**
     * 保存小屏账户并创建会员
     * @param resources
     * @return
     */
    UserWeixinDTO createWeixinUserAndMember(UserWeixin resources, Integer vip);

    /**
     * 服务号(H5)登录
     * @param resources
     * @return
     */
    UserWeixinDTO serviceLogin(UserWeixin resources);

    /**
     * 微信小程序登录
     * @param resources
     * @return
     */
    UserWeixinDTO appletLogin(UserWeixin resources);

    /**
     * 大屏解绑
     * @param userTv
     */
    boolean tvUnbind(TvUnBindBean userTv);

    /**
     * 大屏切换主账户(会员)
     * @param userTv
     */
    boolean changeMainAccount(UserTv userTv);

    /**
     * 微信公众号关注
     * 1.团粉,会员vip=0,则修改为vip=1
     * 2.判断是否通过扫描大屏的二维码进行关注的,如果是需要绑定大屏账户,将对应会员中iptvUserId绑定大屏对应的id
     * 3.修改微信账户的status字段为1(已关注)
     * @param resources
     * @return
     */
    boolean subscribe(SubscribeBean resources);


    /**
     * 微信公众号取关
     * @param resources
     * @return
     */
    boolean unsubscribe(SubscribeBean resources);

    /**
     * 保存账户
     * @param data
     * @return
     */
    UserWeixinDTO saveUserInfo(String data);

    /**
     * 大屏删除所有收藏
     * @param content
     * @return
     */
    boolean deleteAllCollection(String content);

    /**
     * 大屏删除收藏
     * @param content
     * @return
     */
    boolean deleteCollection(String content);

    /**
     * 大屏收藏
     * @param content
     * @return
     */
    boolean addCollection(String content);

    /**
     * 小程序绑定大屏
     * @param resources
     * @return
     */
    boolean minaBind(BindBean resources);

    /**
     * app绑定大屏
     * @param resources
     * @return
     */
    boolean appBind(BindBean resources);

    /**
     *
     * @param memberDTO
     * @param platformAccount
     * @return
     */
    UserTvDTO bind(MemberDTO memberDTO, String platformAccount);

    /**
     *
     * @param memberDTO
     * @return
     */
    UserTvDTO checkBind(MemberDTO memberDTO);

    /**
     *
     * @param platformAccount
     * @return
     */
    UserTvDTO findByPlatformAccount(String platformAccount);

    /**
     * 小屏解绑
     * @param weixinUnBindBean
     */
    ResultInfo minaUnbind(WeixinUnBindBean weixinUnBindBean);

    /**
     *
     * @param userId
     * @return
     */
    UserWeixinDTO findById(Long userId);

    /**
     *
     * @param resources
     */
    UserWeixinDTO updateWeixin(UserWeixin resources);

    /**
     *
     * @param resources
     * @return
     */
    UserTvDTO updateUserTv(UserTv resources);


    /**
     *
     * @param resources
     * @return
     */
    UserAppDTO appRegister(UserApp resources);

    /**
     *
     * @param resources
     * @return
     */
    boolean cancelUserAppBind(UserAppBind resources);

    /**
     * 
     * @param resources
     * @return
     */
    ResultInfo appBindThirdAccount(UserAppBind resources);

    /**
     *
     * @param resources
     * @return
     */
    UserAppSimpleDTO updateAppInfo(UserApp resources);

    /**
     *
     * @param resources
     * @return
     */
    boolean updatePasswordById(UserApp resources);

    /**
     *
     * @param growthReport
     * @return
     */
    ResultInfo saveGrowthReport(GrowthReport growthReport);


    boolean appCancellation(UserApp userApp);
}