|
|
|
@ -11,13 +11,29 @@ import org.jeecg.common.api.vo.Result; |
|
|
|
import org.jeecg.config.shiro.ShiroRealm; |
|
|
|
import org.jeecg.modules.commonBook.entity.CommonBook; |
|
|
|
import org.jeecg.modules.commonBook.service.ICommonBookService; |
|
|
|
import org.jeecg.modules.commonBookLog.entity.CommonBookLog; |
|
|
|
import org.jeecg.modules.commonBookLog.service.ICommonBookLogService; |
|
|
|
import org.jeecg.modules.commonCode.entity.CommonCode; |
|
|
|
import org.jeecg.modules.commonCode.service.ICommonCodeService; |
|
|
|
import org.jeecg.modules.commonConfig.entity.CommonConfig; |
|
|
|
import org.jeecg.modules.commonConfig.service.ICommonConfigService; |
|
|
|
import org.jeecg.modules.commonMember.entity.CommonMember; |
|
|
|
import org.jeecg.modules.commonMember.service.ICommonMemberService; |
|
|
|
import org.jeecg.modules.commonMemberLog.entity.CommonMemberLog; |
|
|
|
import org.jeecg.modules.commonMemberLog.service.ICommonMemberLogService; |
|
|
|
import org.jeecg.modules.commonMoney.entity.CommonMoney; |
|
|
|
import org.jeecg.modules.commonMoney.service.ICommonMoneyService; |
|
|
|
import org.jeecg.modules.commonNews.entity.CommonNews; |
|
|
|
import org.jeecg.modules.commonTeam.entity.CommonTeam; |
|
|
|
import org.jeecg.modules.commonTeam.service.ICommonTeamService; |
|
|
|
import org.jeecg.modules.commonTeamLog.entity.CommonTeamLog; |
|
|
|
import org.jeecg.modules.commonTeamLog.service.ICommonTeamLogService; |
|
|
|
import org.jeecg.modules.commonVio.entity.CommonVio; |
|
|
|
import org.jeecg.modules.commonVio.service.ICommonVioService; |
|
|
|
import org.jeecg.modules.commonVioLog.entity.CommonVioLog; |
|
|
|
import org.jeecg.modules.commonVioLog.service.ICommonVioLogService; |
|
|
|
import org.jeecg.modules.commonVip.entity.CommonVip; |
|
|
|
import org.jeecg.modules.commonVip.service.ICommonVipService; |
|
|
|
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; |
|
|
|
import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
@ -25,7 +41,9 @@ import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
@Slf4j |
|
|
|
@ -35,15 +53,33 @@ public class AppletFenServiceImpl implements AppletFenService { |
|
|
|
@Autowired |
|
|
|
private ICommonBookService commonBookService; |
|
|
|
@Autowired |
|
|
|
private ICommonCodeService commonCodeService; |
|
|
|
@Autowired |
|
|
|
private ICommonTeamService commonTeamService; |
|
|
|
@Autowired |
|
|
|
private ICommonVioService commonVioService; |
|
|
|
@Autowired |
|
|
|
private ICommonMemberService commonMemberService; |
|
|
|
@Autowired |
|
|
|
private ICommonMoneyService commonMoneyService; |
|
|
|
@Resource |
|
|
|
private ShiroRealm shiroRealm; |
|
|
|
@Autowired |
|
|
|
private IHanHaiMemberService hanHaiMemberService; |
|
|
|
@Autowired |
|
|
|
private ICommonVipService commonVipService; |
|
|
|
@Autowired |
|
|
|
private ICommonConfigService commonConfigService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ICommonMemberLogService commonMemberLogService; |
|
|
|
@Autowired |
|
|
|
private ICommonBookLogService commonBookLogService; |
|
|
|
@Autowired |
|
|
|
private ICommonTeamLogService commonTeamLogService; |
|
|
|
@Autowired |
|
|
|
private ICommonVioLogService commonVioLogService; |
|
|
|
|
|
|
|
|
|
|
|
//获取分享记录列表带分页 |
|
|
|
@Override |
|
|
|
@ -137,16 +173,182 @@ public class AppletFenServiceImpl implements AppletFenService { |
|
|
|
return Result.OK("个人分享详情",commonMember); |
|
|
|
} |
|
|
|
|
|
|
|
//增加分享次数 |
|
|
|
@Override |
|
|
|
public Result<?> addLog(String token,String state,String id){ |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
//增加加点击记录id state shareId |
|
|
|
if(state.equals("0")){ |
|
|
|
//个人分享 |
|
|
|
CommonMemberLog memberLog = new CommonMemberLog(); |
|
|
|
memberLog.setCreateTime(new Date()); |
|
|
|
memberLog.setMemberId(id); |
|
|
|
// memberLog.setUserId(hanHaiMember.getId()); |
|
|
|
memberLog.setShareId(hanHaiMember.getId()); |
|
|
|
commonMemberLogService.save(memberLog); |
|
|
|
}else if(state.equals("1")){ |
|
|
|
//视频分享 |
|
|
|
CommonVioLog commonVioLog = new CommonVioLog(); |
|
|
|
commonVioLog.setCreateTime(new Date()); |
|
|
|
commonVioLog.setVid(id); |
|
|
|
// commonVioLog.setUserId(hanHaiMember.getId()); |
|
|
|
commonVioLog.setShareId(hanHaiMember.getId()); |
|
|
|
commonVioLogService.save(commonVioLog); |
|
|
|
|
|
|
|
}else if(state.equals("2")){ |
|
|
|
//群分享 |
|
|
|
CommonTeamLog commonTeamLog = new CommonTeamLog(); |
|
|
|
commonTeamLog.setCreateTime(new Date()); |
|
|
|
commonTeamLog.setTeamId(id); |
|
|
|
// commonTeamLog.setUserId(hanHaiMember.getId()); |
|
|
|
commonTeamLog.setShareId(hanHaiMember.getId()); |
|
|
|
commonTeamLogService.save(commonTeamLog); |
|
|
|
|
|
|
|
}else{ |
|
|
|
//文章分 |
|
|
|
CommonBookLog commonBookLog = new CommonBookLog(); |
|
|
|
commonBookLog.setCreateTime(new Date()); |
|
|
|
commonBookLog.setBookId(id); |
|
|
|
// commonBookLog.setUserId(hanHaiMember.getId()); |
|
|
|
commonBookLog.setShareId(hanHaiMember.getId()); |
|
|
|
commonBookLogService.save(commonBookLog); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return Result.OK("增加成功"); |
|
|
|
} |
|
|
|
|
|
|
|
//激活 |
|
|
|
@Override |
|
|
|
public Result<?> openVip (String token,String code){ |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
//激活码不能为空 |
|
|
|
if(StringUtils.isBlank(code)){ |
|
|
|
return Result.error("激活码不能为空"); |
|
|
|
} |
|
|
|
//查询该激活码是否被使用 |
|
|
|
CommonCode commonCode = commonCodeService.lambdaQuery() |
|
|
|
.eq(CommonCode::getCode,code) |
|
|
|
.one(); |
|
|
|
if(null==commonCode){ |
|
|
|
return Result.error("激活码不存在"); |
|
|
|
} |
|
|
|
// if(commonCode.getStatus().equals("1")){ |
|
|
|
// return Result.error("激活码已被使用"); |
|
|
|
// } |
|
|
|
if(StringUtils.isNotBlank(commonCode.getUserId())){ |
|
|
|
return Result.error("激活码已被使用"); |
|
|
|
} |
|
|
|
|
|
|
|
//根据配置查询配置列表 |
|
|
|
CommonConfig dliMoney = commonConfigService.lambdaQuery().eq(CommonConfig::getKeyName, "dli_money").one(); |
|
|
|
//得到价格 |
|
|
|
BigDecimal price =new BigDecimal(dliMoney.getKeyContent()) ; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//根据用户一级邀请人id查询用户信息 |
|
|
|
HanHaiMember hanHaiMemberOne = hanHaiMemberService.lambdaQuery() |
|
|
|
.eq(HanHaiMember::getId,commonCode.getPid()) |
|
|
|
.one(); |
|
|
|
if(null!=hanHaiMemberOne){ |
|
|
|
//根据配置列表查询返佣比例 |
|
|
|
CommonVip one = commonVipService.lambdaQuery() |
|
|
|
.eq(CommonVip::getNum, 1) |
|
|
|
.one(); |
|
|
|
//得到比例 |
|
|
|
BigDecimal onePrice = one.getPrice(); |
|
|
|
//计算返佣 |
|
|
|
BigDecimal oneMoney = onePrice.multiply(price); |
|
|
|
|
|
|
|
//增加佣金流水 |
|
|
|
CommonMoney commonMoney = new CommonMoney(); |
|
|
|
commonMoney.setCreateTime(new Date()); |
|
|
|
commonMoney.setPrice(oneMoney); |
|
|
|
commonMoney.setStatus("1"); |
|
|
|
commonMoney.setTitle("一级邀请人获得佣金"); |
|
|
|
commonMoney.setUserId(hanHaiMemberOne.getId()); |
|
|
|
commonMoney.setMoney(hanHaiMemberOne.getPrice()); |
|
|
|
commonMoneyService.save(commonMoney); |
|
|
|
|
|
|
|
//增加用户佣金 |
|
|
|
BigDecimal oneMoney1 = hanHaiMemberOne.getPrice().add(oneMoney); |
|
|
|
hanHaiMemberOne.setPrice(oneMoney1); |
|
|
|
hanHaiMemberService.updateById(hanHaiMemberOne); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//根据用户一级邀请人id查询用户信息 |
|
|
|
HanHaiMember hanHaiMemberTwo = hanHaiMemberService.lambdaQuery() |
|
|
|
.eq(HanHaiMember::getId,commonCode.getPidTwo()) |
|
|
|
.one(); |
|
|
|
if(null!=hanHaiMemberTwo){ |
|
|
|
//根据配置列表查询返佣比例 |
|
|
|
CommonVip two = commonVipService.lambdaQuery() |
|
|
|
.eq(CommonVip::getNum, 2) |
|
|
|
.one(); |
|
|
|
BigDecimal twoPrice = two.getPrice(); |
|
|
|
BigDecimal twoMoney = twoPrice.multiply(price); |
|
|
|
|
|
|
|
//增加佣金流水 |
|
|
|
CommonMoney commonMoney = new CommonMoney(); |
|
|
|
commonMoney.setCreateTime(new Date()); |
|
|
|
commonMoney.setPrice(twoMoney); |
|
|
|
commonMoney.setStatus("1"); |
|
|
|
commonMoney.setTitle("二级邀请人获得佣金"); |
|
|
|
commonMoney.setUserId(hanHaiMemberTwo.getId()); |
|
|
|
commonMoney.setMoney(hanHaiMemberTwo.getPrice()); |
|
|
|
commonMoneyService.save(commonMoney); |
|
|
|
|
|
|
|
BigDecimal twoMoney1 = hanHaiMemberTwo.getPrice().add(twoMoney); |
|
|
|
hanHaiMemberTwo.setPrice(twoMoney1); |
|
|
|
hanHaiMemberService.updateById(hanHaiMemberTwo); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
commonCode.setUserId(hanHaiMember.getId()); |
|
|
|
commonCode.setStartTime(new Date()); |
|
|
|
commonCode.setStatus(1); |
|
|
|
commonCodeService.updateById(commonCode); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//修改个人信息 |
|
|
|
hanHaiMember.setIsPay(1); |
|
|
|
hanHaiMember.setEndTime(commonCode.getEndTime()); |
|
|
|
hanHaiMemberService.updateById(hanHaiMember); |
|
|
|
|
|
|
|
|
|
|
|
return Result.OK("激活成功"); |
|
|
|
} |
|
|
|
|
|
|
|
//提现 |
|
|
|
@Override |
|
|
|
public Result<?> openMoney (String token, BigDecimal money){ |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
if(money.compareTo(hanHaiMember.getPrice()) == 1){ |
|
|
|
return Result.error("提现金额不能大于余额"); |
|
|
|
} |
|
|
|
//增加提现流水 |
|
|
|
CommonMoney commonMoney = new CommonMoney(); |
|
|
|
commonMoney.setCreateTime(new Date()); |
|
|
|
commonMoney.setPrice(money); |
|
|
|
commonMoney.setStatus("0"); |
|
|
|
commonMoney.setTitle("提现"); |
|
|
|
commonMoney.setUserId(hanHaiMember.getId()); |
|
|
|
commonMoney.setMoney(hanHaiMember.getPrice()); |
|
|
|
commonMoney.setType(1); |
|
|
|
commonMoneyService.save(commonMoney); |
|
|
|
|
|
|
|
//修改用户余额 |
|
|
|
BigDecimal money1 = hanHaiMember.getPrice().subtract(money); |
|
|
|
hanHaiMember.setPrice(money1); |
|
|
|
hanHaiMemberService.updateById(hanHaiMember); |
|
|
|
|
|
|
|
|
|
|
|
return Result.OK("提现成功"); |
|
|
|
} |
|
|
|
|
|
|
|
@ -179,51 +381,167 @@ public class AppletFenServiceImpl implements AppletFenService { |
|
|
|
|
|
|
|
//校验个人转发是否达标 |
|
|
|
@Override |
|
|
|
public Result<?> checkShare(String token){ |
|
|
|
public Result<?> checkShare(String token,String id){ |
|
|
|
// 1. 校验用户token |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
Map<String,Object> map = new HashMap<>(); |
|
|
|
map.put("title","已转发5次"); |
|
|
|
map.put("need_num",30); |
|
|
|
map.put("num",5); |
|
|
|
map.put("open",false); |
|
|
|
return Result.OK("查询成功",map); |
|
|
|
if (hanHaiMember == null) { |
|
|
|
return Result.error("无效token"); |
|
|
|
} |
|
|
|
|
|
|
|
// 2. 查询转发记录 |
|
|
|
List<CommonMemberLog> list = commonMemberLogService.lambdaQuery() |
|
|
|
.eq(CommonMemberLog::getShareId, hanHaiMember.getId()) |
|
|
|
.eq(CommonMemberLog::getMemberId, id) |
|
|
|
.list(); |
|
|
|
|
|
|
|
// 3. 查询目标配置 |
|
|
|
CommonMember target = commonMemberService.getById(id); |
|
|
|
if (target == null) { |
|
|
|
return Result.error("配置不存在"); |
|
|
|
} |
|
|
|
|
|
|
|
// 4. 处理数字转换 |
|
|
|
int required; |
|
|
|
try { |
|
|
|
// 假设num字段是String类型存储的数字 |
|
|
|
required = Integer.parseInt(target.getNum()); |
|
|
|
} catch (NumberFormatException e) { |
|
|
|
return Result.error("转发次数配置错误"); |
|
|
|
} |
|
|
|
|
|
|
|
// 5. 直接使用int值比较 |
|
|
|
int current = list.size(); |
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
map.put("title", "已转发" + current + "次"); |
|
|
|
map.put("need_num", required); |
|
|
|
map.put("num", current); |
|
|
|
map.put("open", current >= required); // 直接使用boolean表达式 |
|
|
|
|
|
|
|
return Result.OK("查询成功", map); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//校验视频转发是否达标 |
|
|
|
@Override |
|
|
|
public Result<?> checkVideoShare(String token){ |
|
|
|
public Result<?> checkVideoShare(String token,String id){ |
|
|
|
// 1. 校验用户token |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
Map<String,Object> map = new HashMap<>(); |
|
|
|
map.put("title","已转发5次"); |
|
|
|
map.put("need_num",3); |
|
|
|
map.put("num",15); |
|
|
|
map.put("open",true); |
|
|
|
return Result.OK("查询成功",map); |
|
|
|
if (hanHaiMember == null) { |
|
|
|
return Result.error("无效token"); |
|
|
|
} |
|
|
|
|
|
|
|
// 2. 查询转发记录 |
|
|
|
List<CommonVioLog> list = commonVioLogService.lambdaQuery() |
|
|
|
.eq(CommonVioLog::getShareId, hanHaiMember.getId()) |
|
|
|
.eq(CommonVioLog::getVid, id) |
|
|
|
.list(); |
|
|
|
|
|
|
|
// 3. 查询目标配置 |
|
|
|
CommonVio target = commonVioService.getById(id); |
|
|
|
if (target == null) { |
|
|
|
return Result.error("配置不存在"); |
|
|
|
} |
|
|
|
|
|
|
|
// 4. 处理数字转换 |
|
|
|
int required; |
|
|
|
try { |
|
|
|
// 假设num字段是String类型存储的数字 |
|
|
|
required = Integer.parseInt(target.getNum()); |
|
|
|
} catch (NumberFormatException e) { |
|
|
|
return Result.error("转发次数配置错误"); |
|
|
|
} |
|
|
|
|
|
|
|
// 5. 直接使用int值比较 |
|
|
|
int current = list.size(); |
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
map.put("title", "已转发" + current + "次"); |
|
|
|
map.put("need_num", required); |
|
|
|
map.put("num", current); |
|
|
|
map.put("open", current >= required); // 直接使用boolean表达式 |
|
|
|
|
|
|
|
return Result.OK("查询成功", map); |
|
|
|
} |
|
|
|
|
|
|
|
//校验群转发是否达标 |
|
|
|
@Override |
|
|
|
public Result<?> checkGroupShare(String token){ |
|
|
|
public Result<?> checkGroupShare(String token,String id){ |
|
|
|
// 1. 校验用户token |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
Map<String,Object> map = new HashMap<>(); |
|
|
|
map.put("title","已转发5次"); |
|
|
|
map.put("need_num",10); |
|
|
|
map.put("num",5); |
|
|
|
map.put("open",false); |
|
|
|
return Result.OK("查询成功",map); |
|
|
|
if (hanHaiMember == null) { |
|
|
|
return Result.error("无效token"); |
|
|
|
} |
|
|
|
|
|
|
|
// 2. 查询转发记录 |
|
|
|
List<CommonTeamLog> list = commonTeamLogService.lambdaQuery() |
|
|
|
.eq(CommonTeamLog::getShareId, hanHaiMember.getId()) |
|
|
|
.eq(CommonTeamLog::getTeamId, id) |
|
|
|
.list(); |
|
|
|
|
|
|
|
// 3. 查询目标配置 |
|
|
|
CommonTeam target = commonTeamService.getById(id); |
|
|
|
if (target == null) { |
|
|
|
return Result.error("配置不存在"); |
|
|
|
} |
|
|
|
|
|
|
|
// 4. 处理数字转换 |
|
|
|
int required; |
|
|
|
try { |
|
|
|
// 假设num字段是String类型存储的数字 |
|
|
|
required = Integer.parseInt(target.getNum()); |
|
|
|
} catch (NumberFormatException e) { |
|
|
|
return Result.error("转发次数配置错误"); |
|
|
|
} |
|
|
|
|
|
|
|
// 5. 直接使用int值比较 |
|
|
|
int current = list.size(); |
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
map.put("title", "已转发" + current + "次"); |
|
|
|
map.put("need_num", required); |
|
|
|
map.put("num", current); |
|
|
|
map.put("open", current >= required); // 直接使用boolean表达式 |
|
|
|
|
|
|
|
return Result.OK("查询成功", map); |
|
|
|
} |
|
|
|
|
|
|
|
//校验文章转发是否达标 |
|
|
|
@Override |
|
|
|
public Result<?> checkArticleShare(String token){ |
|
|
|
public Result<?> checkArticleShare(String token,String id){ |
|
|
|
// 1. 校验用户token |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
Map<String,Object> map = new HashMap<>(); |
|
|
|
map.put("title","已转发5次"); |
|
|
|
map.put("need_num",3); |
|
|
|
map.put("num",5); |
|
|
|
map.put("open",true); |
|
|
|
return Result.OK("查询成功",map); |
|
|
|
if (hanHaiMember == null) { |
|
|
|
return Result.error("无效token"); |
|
|
|
} |
|
|
|
|
|
|
|
// 2. 查询转发记录 |
|
|
|
List<CommonBookLog> list = commonBookLogService.lambdaQuery() |
|
|
|
.eq(CommonBookLog::getShareId, hanHaiMember.getId()) |
|
|
|
.eq(CommonBookLog::getBookId, id) |
|
|
|
.list(); |
|
|
|
|
|
|
|
// 3. 查询目标配置 |
|
|
|
CommonBook target = commonBookService.getById(id); |
|
|
|
if (target == null) { |
|
|
|
return Result.error("配置不存在"); |
|
|
|
} |
|
|
|
|
|
|
|
// 4. 处理数字转换 |
|
|
|
int required; |
|
|
|
try { |
|
|
|
// 假设num字段是String类型存储的数字 |
|
|
|
required = Integer.parseInt(target.getNum()); |
|
|
|
} catch (NumberFormatException e) { |
|
|
|
return Result.error("转发次数配置错误"); |
|
|
|
} |
|
|
|
|
|
|
|
// 5. 直接使用int值比较 |
|
|
|
int current = list.size(); |
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
map.put("title", "已转发" + current + "次"); |
|
|
|
map.put("need_num", required); |
|
|
|
map.put("num", current); |
|
|
|
map.put("open", current >= required); // 直接使用boolean表达式 |
|
|
|
|
|
|
|
return Result.OK("查询成功", map); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|