admin
2019-12-14 b3e49862fe348acbf8cb964ded298a050ea915fa
Merge remote-tracking branch 'origin/div' into div
8个文件已修改
109 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserInviteSeparateMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/UpdateThreeSaleJob.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/user/UserInviteSeparateMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInviteSeparateService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/vo/redpack/RedPackWinProgressVO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java
@@ -470,6 +470,7 @@
                    continue;
            
                RedPackWinProgressVO progressVO = new RedPackWinProgressVO();
                progressVO.setUid(userInfo.getId());
                progressVO.setName(userInfo.getNickName());
                progressVO.setPortrait(userInfo.getPortrait());
                progressVO.setMoney(win.getMoney().setScale(2).toString());
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserInviteSeparateMapper.java
@@ -1,5 +1,7 @@
package com.yeshi.fanli.dao.mybatis.user;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.yeshi.fanli.dao.BaseMapper;
@@ -27,4 +29,11 @@
     */
    UserInviteSeparate selectByWorkerIdAndBossId(@Param("workerId") Long workerId, @Param("bossId") Long bossId);
    
    /**
     * 查询已超时代处理的记录
     * @param start
     * @param count
     * @return
     */
    List<UserInviteSeparate> getHandleOverdue(@Param("start") int start, @Param("count") int count);
}
fanli/src/main/java/com/yeshi/fanli/job/UpdateThreeSaleJob.java
@@ -1,6 +1,5 @@
package com.yeshi.fanli.job;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
@@ -8,55 +7,46 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.user.invite.UserInviteMsgNotificationService;
import com.yeshi.fanli.entity.bus.user.UserInviteSeparate;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.user.UserInviteSeparateService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.util.Constant;
@Component
public class UpdateThreeSaleJob {
    @Resource
    private ThreeSaleSerivce ThreeSaleSerivce;
    @Resource
    private UserInviteMsgNotificationService userInviteMsgNotificationService;
    @Resource
    private UserInfoService userInfoService;
    private UserVIPInfoService userVIPInfoService;
    // 每天00点20执行 过期邀请筛选
    @Scheduled(cron = "0 20 0 * * ? ")
    public void updateReward() {
    @Resource
    private UserInviteSeparateService userInviteSeparateService;
    // 邀请关系脱离
    @Scheduled(cron = "0 0/10 * * * ? ")
    public void inviteSeparate() {
        if (!Constant.IS_TASK) {
            return;
        }
        try {
            List<Long> list = new ArrayList<Long>();
            // 发出邀请未成功 超过60天
            List<Long> listFailed = ThreeSaleSerivce.queryLongTimeFailed(60);
            if (listFailed != null && listFailed.size() > 0) {
                list.addAll(listFailed);
            }
            // 更新邀请过期: 60天未被邀请成功、60天未登陆系统
            if (list.size() > 0) {
                ThreeSaleSerivce.updateExpire(list);
                for (Long id : listFailed) {
                    // 通知
                    ThreeSale ts = ThreeSaleSerivce.selectByPrimaryKey(id);
                    if (ts != null)
                        userInviteMsgNotificationService.inviteFail(ts.getBoss().getId(), ts);
        int count = 100;
        for (int i = 0; i < 1000; i++) {
            List<UserInviteSeparate> list = userInviteSeparateService.getHandleOverdue(i, count);
            if (list == null || list.size() == 0)
                break;
            for (UserInviteSeparate separate: list) {
                try {
                    userVIPInfoService.inviteSeparate(separate.getWorkerId(), separate.getBossId());
                } catch (Exception e) {
                    LogHelper.errorDetailInfo(e);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            if (list.size() < count) {
                break;
            }
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/mapping/user/UserInviteSeparateMapper.xml
@@ -66,4 +66,11 @@
    LIMIT 1
  </select>
  
  <select id="getHandleOverdue" resultMap="BaseResultMap">
      SELECT * FROM yeshi_ec_user_invite_separate d
    WHERE d.`uis_state` = 0 AND uis_end_time <![CDATA[<=]]> NOW()
    LIMIT #{start},#{count}
  </select>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java
@@ -368,7 +368,7 @@
                continue;
            } 
            
            if (win.getType() == RedPackWinInviteTypeEnum.twoStageReward) {
            if (win.getType() == RedPackWinInviteTypeEnum.threeStageReward) {
                listVO.add(new RedPackWinProgressVO("第三阶段第" + month + "个月", time, money.toString()));
                month ++;
                continue;
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java
@@ -1,5 +1,7 @@
package com.yeshi.fanli.service.impl.user.invite;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
@@ -30,10 +32,14 @@
        userInviteSeparateMapper.updateStateByWorkerIdAndBossId(workerId, bossId, state);
    }
    @Override
    public UserInviteSeparate selectByWorkerIdAndBossId(Long workerId, Long bossId) {
        return userInviteSeparateMapper.selectByWorkerIdAndBossId(workerId, bossId);
    }
    
    @Override
    public List<UserInviteSeparate> getHandleOverdue(int start, int count) {
        return userInviteSeparateMapper.getHandleOverdue(start, count);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInviteSeparateService.java
@@ -1,5 +1,7 @@
package com.yeshi.fanli.service.inter.user;
import java.util.List;
import com.yeshi.fanli.entity.bus.user.UserInviteSeparate;
public interface UserInviteSeparateService {
@@ -25,4 +27,12 @@
    public void updateStateByWorkerIdAndBossId(Long workerId, Long bossId, int state);
    /**
     * 查询要过期的
     * @param start
     * @param count
     * @return
     */
    public List<UserInviteSeparate> getHandleOverdue(int start, int count);
}
fanli/src/main/java/com/yeshi/fanli/vo/redpack/RedPackWinProgressVO.java
@@ -12,6 +12,8 @@
    private static final long serialVersionUID = 1L;
    @Expose
    private Long uid;
    @Expose
    private String name;
    @Expose
    private String portrait;
@@ -67,4 +69,12 @@
        this.time = time;
    }
    public Long getUid() {
        return uid;
    }
    public void setUid(Long uid) {
        this.uid = uid;
    }
}