Compare commits
23 Commits
aed0db32f7
...
moliparty
Author | SHA1 | Date | |
---|---|---|---|
a3928548a5 | |||
407b9f1a65 | |||
404c8ce9f7 | |||
91c15878b4 | |||
084733d8b9 | |||
dca5c8dad1 | |||
ec30b83224 | |||
f7f2d4a1de | |||
55b6370920 | |||
4eb1d55b1b | |||
a4768691bb | |||
230f81fd98 | |||
4564cfbbf2 | |||
3ebfa34e88 | |||
bccd82f021 | |||
b4a3e3f37a | |||
7819a92f27 | |||
4184e3210c | |||
89bea63b86 | |||
d4c256c522 | |||
37fc0a79c3 | |||
a788956f90 | |||
c19589c674 |
@@ -73,34 +73,33 @@ public class RoomBoomAwardRecordAdminController extends BaseController {
|
||||
|
||||
//1 创建IPage分页对象,设置分页参数
|
||||
IPage<RoomBoomSign> page=new Page<>(params.getPageNo(),params.getPageSize());
|
||||
LambdaQueryWrapper<RoomBoomSign> wrapper = new LambdaQueryWrapper<>();
|
||||
Long uid = null;
|
||||
Long roomUid = null;
|
||||
if (params.getRoomErbanNo() != null){
|
||||
Users erbanNo = usersService.getUserByErbanNo(params.getRoomErbanNo());
|
||||
if (erbanNo == null) {
|
||||
throw new AdminServiceException(BusiStatus.SERVERERROR, "房间id不存在");
|
||||
}
|
||||
wrapper.eq(RoomBoomSign::getRoomUid,erbanNo.getUid());
|
||||
roomUid = erbanNo.getUid();
|
||||
}
|
||||
if (params.getErbanNo() != null){
|
||||
Users erbanNo = usersService.getUserByErbanNo(params.getErbanNo());
|
||||
if (erbanNo == null) {
|
||||
throw new AdminServiceException(BusiStatus.SERVERERROR, "触发者id不存在");
|
||||
}
|
||||
wrapper.eq(RoomBoomSign::getUid,erbanNo.getUid());
|
||||
uid = erbanNo.getUid();
|
||||
}
|
||||
if (params.getLevel() != null){
|
||||
wrapper.eq(RoomBoomSign::getLevel,params.getLevel());
|
||||
Date startTime = null, endTime = null;
|
||||
if (StringUtils.isNotEmpty(params.getStartTime())) {
|
||||
startTime = DateUtil.parseDateTime(params.getStartTime());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(params.getStartTime())){
|
||||
wrapper.ge(RoomBoomSign::getCreateTime, (Date)DateUtil.parseDateTime(params.getStartTime()));
|
||||
if (StringUtils.isNotEmpty(params.getEndTime())) {
|
||||
endTime = DateUtil.parseDateTime(params.getEndTime());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(params.getEndTime())){
|
||||
wrapper.le(RoomBoomSign::getCreateTime, (Date)DateUtil.parseDateTime(params.getEndTime()));
|
||||
}
|
||||
wrapper.eq(RoomBoomSign::getStatus,2);
|
||||
wrapper.orderByDesc(RoomBoomSign::getId);
|
||||
//2 执行分页查询
|
||||
IPage<RoomBoomSign> boomSignIPage = roomBoomSignService.page(page, wrapper);
|
||||
IPage<RoomBoomSign> boomSignIPage = roomBoomSignService.list(page, uid, roomUid, params.getLevel(),
|
||||
startTime, endTime, params.getPartitionId());
|
||||
|
||||
Page<RoomBoomSignVO> resultVo = new Page<>();
|
||||
resultVo.setTotal(boomSignIPage.getTotal());
|
||||
List<RoomBoomSignVO> roomBoomSignVOS = new ArrayList<>();
|
||||
|
@@ -116,7 +116,7 @@ public class RoomBoomLevelAwardAdminController {
|
||||
|
||||
if (ObjectUtil.equal(RewardTypeEnum.DIAMOND.getType(), awardType)){
|
||||
awardName = "coin";
|
||||
awardPic = "https://image.molistar.xyz/Molistarcoins.png";
|
||||
awardPic = "https://cdn.moliparty.com/EPartycoins.png";
|
||||
}
|
||||
if (ObjectUtil.equal(RewardTypeEnum.GIFT.getType(), awardType)){
|
||||
Gift gift = giftService.getEachGiftById(awardId.intValue());
|
||||
|
@@ -19,7 +19,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 124.156.164.187:8848
|
||||
namespace: 5edc3246-3e69-4be5-a32a-273f0a09ddf6
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
@@ -42,7 +42,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 124.156.164.187:8848
|
||||
namespace: 5edc3246-3e69-4be5-a32a-273f0a09ddf6
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
@@ -67,7 +67,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 172.19.16.15:8848
|
||||
namespace: 0c9bf047-19ca-4969-bf5d-bbc1f86b501a
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
|
@@ -19,7 +19,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 124.156.164.187:8848
|
||||
namespace: 5edc3246-3e69-4be5-a32a-273f0a09ddf6
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
@@ -42,7 +42,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 124.156.164.187:8848
|
||||
namespace: 5edc3246-3e69-4be5-a32a-273f0a09ddf6
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
@@ -66,7 +66,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 172.19.16.15:8848
|
||||
namespace: 0c9bf047-19ca-4969-bf5d-bbc1f86b501a
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
|
@@ -76,4 +76,6 @@ public interface UsersMapper {
|
||||
|
||||
|
||||
List<Users> listUid(@Param("start") Integer start, @Param("len") Integer len);
|
||||
|
||||
Integer recharegeCount(@Param("uid") Long uid);
|
||||
}
|
@@ -22,7 +22,6 @@ import com.google.gson.reflect.TypeToken;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
@@ -523,4 +522,9 @@ public class UsersBaseService extends BaseService {
|
||||
deleteUserRelateCache(uid.toString());
|
||||
}
|
||||
|
||||
|
||||
public Integer rechargeUserCount(Long uid) {
|
||||
return usersMapper.recharegeCount(uid);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1082,4 +1082,8 @@
|
||||
/* SHARDINGSPHERE_HINT: WRITE_ROUTE_ONLY=true */
|
||||
select uid, partition_id partitionId from users order by uid asc limit #{start},#{len}
|
||||
</select>
|
||||
|
||||
<select id="recharegeCount" resultType="java.lang.Integer">
|
||||
select ifnull(count(1),0) from recharge_user where uid = #{uid}
|
||||
</select>
|
||||
</mapper>
|
@@ -990,6 +990,7 @@ public enum BusiStatus {
|
||||
ROOM_DAY_DIAMOND_REWARD_DATE_CHECK(500, "TODAY NOT ALLOW RECEIVE"),
|
||||
GUILD_USD_OPT_LIMIT(500, "该交易类型已达到本周交易次数上限"),
|
||||
GUILD_MEMBER_REMOVE_LIMIT(500, "仅在每个月1号、2号、3号才可以移除主播"),
|
||||
H5_RECHARGE_USER_NOT_OPEN(1404, "Your account has not enabled this function yet, so it cannot be used."),
|
||||
;
|
||||
|
||||
private final int value;
|
||||
|
@@ -1,6 +1,8 @@
|
||||
package com.accompany.common.constant;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@@ -16,10 +18,12 @@ public enum AppEnum {
|
||||
Map.of(Pattern.compile("baishun.minigame.*"), "baishun.minigame.moliparty.com")),
|
||||
molistar("molistar", "molistar google马甲包", "api.molistar.xyz", "image.molistar.xyz", "api.molistar.xyz", "molistar",
|
||||
Map.of(Pattern.compile("baishun.minigame.*"), "baishun.minigame.molistar.xyz")),
|
||||
moliparty("MoliParty", "moliparty google马甲包", "api.moliparty.com", "cdn.moliparty.com", "api.moliparty.com", "moliparty",
|
||||
Map.of(Pattern.compile("baishun.minigame.*"), "baishun.minigame.moliparty.com")),
|
||||
;
|
||||
|
||||
public static AppEnum getCurApp(){
|
||||
return AppEnum.molistar;
|
||||
return AppEnum.moliparty;
|
||||
}
|
||||
|
||||
private String value;
|
||||
@@ -74,4 +78,15 @@ public enum AppEnum {
|
||||
return patternMap;
|
||||
}
|
||||
|
||||
|
||||
public static List<AppEnum> getOtherAppEnums(AppEnum currentApp) {
|
||||
List<AppEnum> otherApps = new ArrayList<>();
|
||||
// 遍历所有枚举,排除传入的 app 对应的枚举
|
||||
for (AppEnum app : AppEnum.values()) {
|
||||
if (!app.equals(currentApp)) {
|
||||
otherApps.add(app);
|
||||
}
|
||||
}
|
||||
return otherApps;
|
||||
}
|
||||
}
|
||||
|
@@ -1894,9 +1894,9 @@ public class Constant {
|
||||
public static final Byte invalid = 0; //无效
|
||||
}
|
||||
|
||||
public static String DEFAULT_DOMAIN = "https://img.molistar.xyz";
|
||||
public static String DEFAULT_DOMAIN = "https://cdn.moliparty.com";
|
||||
public static String DEFAULT_NICK = "Platform New User";
|
||||
public static String DEFAULT_AVATAR = DEFAULT_DOMAIN + "/default_avatar_molistar.png";
|
||||
public static String DEFAULT_AVATAR = DEFAULT_DOMAIN + "/useavater_MP.png";
|
||||
public static String DEFAULT_CAR = DEFAULT_DOMAIN + "/default_car.png";
|
||||
|
||||
/**
|
||||
|
@@ -1473,10 +1473,6 @@ public enum RedisKey {
|
||||
charge_user_x_detail,//嫌疑用户
|
||||
;
|
||||
|
||||
public String getKey() {
|
||||
return ("molistar_" + name()).toLowerCase();
|
||||
}
|
||||
|
||||
public String getKey(String suffix) {
|
||||
if (StringUtils.isEmpty(suffix)) {
|
||||
return getKey();
|
||||
@@ -1504,6 +1500,10 @@ public enum RedisKey {
|
||||
}
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
return ("molistar_" + name()).toLowerCase();
|
||||
}
|
||||
|
||||
public static String getCacheSign() {
|
||||
return "molistar_";
|
||||
}
|
||||
|
@@ -319,9 +319,9 @@ public enum I18nAlertEnum {
|
||||
GOLD_BEAN_NAME("Gold Bean"),
|
||||
DIAMOND_NAME("DIAMOND"),
|
||||
GUILD_CREATE_TASK_MSG("你在公会的卓越表现,获得了精美奖励。快去背包看看吧!"),
|
||||
EXTRA_GUILD_MSG("你的钻石奖励已经发放,请注意查收。"),
|
||||
EXTRA_GUILD_MEMBER_MSG("你的钻石奖励已经发放,请注意查收。"),
|
||||
EXTRA_ROOM_MSG("你的钻石奖励已经发放,请注意查收。"),
|
||||
EXTRA_GUILD_MSG("尊敬的用户,根据政策,您的公会长次日奖励{0}钻石已到账,您可以前往【我的钱包】查看。"),
|
||||
EXTRA_GUILD_MEMBER_MSG("尊敬的用户,根据政策,您的主播次日奖励{0}钻石已到账,您可以前往【我的钱包】查看。"),
|
||||
EXTRA_ROOM_MSG("尊敬的用户,根据政策,您每周一结算的奖励{0}钻石已到账,您可以前往【我的钱包】查看。"),
|
||||
;
|
||||
|
||||
private final String defaultStr;
|
||||
|
@@ -115,10 +115,12 @@ public interface RoomBoomConstant {
|
||||
* 土耳其:普通100%+lucky5%+Bravo2%
|
||||
* 英语区:普通100%+lucky2%+Bravo2%
|
||||
* 英语2区:普通100%+lucky5%+Bravo2%
|
||||
* 独联体:普通礼物100%+幸运礼物4%
|
||||
* @return
|
||||
*/
|
||||
BigDecimal NORMAL_GIFT_BOOM_RATE = BigDecimal.valueOf(1.0D);
|
||||
BigDecimal SUPER_GIFT_BOOM_RATE_AR = BigDecimal.valueOf(0.05D);
|
||||
BigDecimal SUPER_GIFT_BOOM_RATE_SO = BigDecimal.valueOf(0.04D);
|
||||
BigDecimal SUPER_GIFT_BOOM_RATE_EN = BigDecimal.valueOf(0.02D);
|
||||
BigDecimal BRAVO_GIFT_BOOM_RATE_EN = BigDecimal.valueOf(0.02D);
|
||||
|
||||
@@ -127,6 +129,8 @@ public interface RoomBoomConstant {
|
||||
LUCKY((type, partition) -> {
|
||||
if (PartitionEnum.ENGLISH.getId() == partition || PartitionEnum.CHINESE.getId() == partition) {
|
||||
return SUPER_GIFT_BOOM_RATE_EN;
|
||||
} else if (PartitionEnum.SOVIET.getId() == partition) {
|
||||
return SUPER_GIFT_BOOM_RATE_SO;
|
||||
}
|
||||
return SUPER_GIFT_BOOM_RATE_AR;
|
||||
}),
|
||||
|
@@ -3,14 +3,14 @@ package com.accompany.business.constant.family;
|
||||
public class FamilyConstant {
|
||||
|
||||
public static class SkipUrl {
|
||||
public static final String MY_FAMILY_URL = "/molistar/modules/guildAr/index.html";
|
||||
public static final String FAMILY_LIST_URL = "/molistar/modules/guildAr/guild.html";
|
||||
public static final String MY_FAMILY_URL = "/moliparty/modules/guildAr/index.html";
|
||||
public static final String FAMILY_LIST_URL = "/moliparty/modules/guildAr/guild.html";
|
||||
}
|
||||
|
||||
public static class DefaultInfo {
|
||||
public static final String DEFAULT_NAME_SUFFIX_I18N_ID = "Family.defaultNameSuffix";
|
||||
public static final String DEFAULT_NAME_SUFFIX = "的家族";
|
||||
public static final String DEFAULT_BACKGROUND_URL = "https://image.molistar.xyz/family_default_background.png";
|
||||
public static final String DEFAULT_BACKGROUND_URL = "https://cdn.moliparty.com/family_default_background.png";
|
||||
}
|
||||
|
||||
public static class RoleType {
|
||||
|
@@ -5,16 +5,16 @@ import java.math.BigDecimal;
|
||||
public class GuildConstant {
|
||||
|
||||
public static class SkipUrl {
|
||||
public static final String MY_FAMILY_URL = "/molistar/modules/guild-ar/index.html";
|
||||
public static final String FAMILY_LIST_URL = "/molistar/modules/guild-ar/guild.html";
|
||||
public static final String BILL_RECORD_URL = "/molistar/modules/guild-ar/bill.html";
|
||||
public static final String RECHARGE_USER_RECORD_URL = "/molistar/modules/guild-ar/record.html";
|
||||
public static final String MY_FAMILY_URL = "/moliparty/modules/guild-ar/index.html";
|
||||
public static final String FAMILY_LIST_URL = "/moliparty/modules/guild-ar/guild.html";
|
||||
public static final String BILL_RECORD_URL = "/moliparty/modules/guild-ar/bill.html";
|
||||
public static final String RECHARGE_USER_RECORD_URL = "/moliparty/modules/guild-ar/record.html";
|
||||
}
|
||||
|
||||
public static class DefaultInfo {
|
||||
public static final String DEFAULT_NAME_SUFFIX_I18N_ID = "Family.defaultNameSuffix";
|
||||
public static final String DEFAULT_NAME_SUFFIX = "的家族";
|
||||
public static final String DEFAULT_BACKGROUND_URL = "https://image.molistar.xyz/family_default_background.png";
|
||||
public static final String DEFAULT_BACKGROUND_URL = "https://cdn.moliparty.com/family_default_background.png";
|
||||
}
|
||||
|
||||
public static class RoleType {
|
||||
|
@@ -28,6 +28,9 @@ public enum RuleCodeEnum {
|
||||
//用户等级
|
||||
USER_LEVEL,
|
||||
|
||||
//用户等级限制身份,1-全部用户,2非主播身份
|
||||
USER_LEVEL_LIMIT_ROLE,
|
||||
|
||||
//备用字段
|
||||
RESERVE,;
|
||||
|
||||
|
@@ -5,7 +5,7 @@ import com.accompany.common.redis.BaseRedisKey;
|
||||
|
||||
public interface UserEventConstant {
|
||||
|
||||
String H5_URL = "%s/molistar/modules/eventDetails/index.html?eventId=%s&lang=en";
|
||||
String H5_URL = "%s/moliparty/modules/eventDetails/index.html?eventId=%s&lang=en";
|
||||
|
||||
interface EventStatus {
|
||||
byte IN_REVIEW = 0; //待审核
|
||||
|
@@ -10,6 +10,7 @@ public class SimpleGuildVo {
|
||||
|
||||
private Integer guildId;
|
||||
private String guildName;
|
||||
private Long ownerUid;
|
||||
private SimpleUserVo owner;
|
||||
private Double weekIncome;
|
||||
private String markScore;
|
||||
|
@@ -4,6 +4,7 @@ import com.accompany.business.model.guild.GuildDiamondStatisticsDay;
|
||||
import com.accompany.business.vo.guild.GuildDiamondStatisticsDayVo;
|
||||
import com.accompany.business.vo.guild.GuildInfoVo;
|
||||
import com.accompany.business.vo.guild.GuildMemberDiamondStatisticsDayVo;
|
||||
import com.accompany.business.vo.guild.SimpleGuildVo;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -49,4 +50,6 @@ public interface GuildDiamondStatisticsDayMapper extends BaseMapper<GuildDiamond
|
||||
|
||||
List<GuildDiamondStatisticsDayVo> listByStatDateGuildIds(@Param("startDate")String startDate, @Param("endDate")String endDate,
|
||||
@Param("guildIds") List<Integer> guildIds, @Param("partitionId") Integer partitionId);
|
||||
|
||||
List<SimpleGuildVo> listRank(@Param("ipage") IPage<SimpleGuildVo> ipage, @Param("partitionId") Integer partitionId, @Param("startDate")String startDate);
|
||||
}
|
||||
|
@@ -2,8 +2,10 @@ package com.accompany.business.mybatismapper.room;
|
||||
|
||||
import com.accompany.business.model.room.RoomBoomSign;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -34,4 +36,8 @@ public interface RoomBoomSignMapper extends BaseMapper<RoomBoomSign> {
|
||||
* @return 开奖情况
|
||||
*/
|
||||
RoomBoomSign getOneByRecordIdAndLevel(@Param("recordId") Long recordId, @Param("level") Integer level);
|
||||
|
||||
IPage<RoomBoomSign> list(@Param("page") IPage<RoomBoomSign> page, @Param("roomUid") Long roomUid, @Param("uid") Long uid,
|
||||
@Param("level") Integer level, @Param("startTime") Date startTime, @Param("endTime") Date endTime,
|
||||
@Param("partitionId") Integer partitionId);
|
||||
}
|
||||
|
@@ -60,7 +60,7 @@ public class AutoGenRobotService extends BaseService {
|
||||
@Autowired
|
||||
private SysConfService sysConfService;
|
||||
|
||||
private static final String DEFAULT_NICK = "Molistar";
|
||||
private static final String DEFAULT_NICK = "Hello Nick";
|
||||
|
||||
public void batchGenRobAccount() throws Exception {
|
||||
AutoGenRobotExample AutoGenRobotExample = new AutoGenRobotExample();
|
||||
|
@@ -324,7 +324,7 @@ public class ActivityH5LevelAwardServiceImpl extends ServiceImpl<ActivityH5Level
|
||||
break;
|
||||
case DIAMOND:
|
||||
i18nValue = I18NMessageSourceUtil.getMessage(GOLD_NAME, partitionId);
|
||||
vo.setPic("https://image.molistar.xyz/moli_coin_rechage.png");
|
||||
vo.setPic("https://cdn.moliparty.com/moli_coin_rechage.png");
|
||||
break;
|
||||
case GOLD:
|
||||
i18nValue = I18NMessageSourceUtil.getMessage(DIAMOND_NAME, partitionId);
|
||||
|
@@ -5,6 +5,7 @@ import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.vo.guild.GuildDiamondStatisticsDayVo;
|
||||
import com.accompany.business.vo.guild.GuildInfoVo;
|
||||
import com.accompany.business.vo.guild.GuildMemberDiamondStatisticsDayVo;
|
||||
import com.accompany.business.vo.guild.SimpleGuildVo;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
@@ -40,4 +41,6 @@ public interface GuildDiamondStatisticsDayService extends IService<GuildDiamondS
|
||||
Map<Integer, Double> mapByStatDate(String statDate, String endDate, int partitionId, List<Integer> guildIds);
|
||||
|
||||
RMap<Integer, BigDecimal> guildStatDateDiamondMap(Integer partitionId, String statDate);
|
||||
|
||||
List<SimpleGuildVo> listRank(Integer partitionId, String startDate, Integer pageNo, Integer pageSize);
|
||||
}
|
||||
|
@@ -7,6 +7,7 @@ import com.accompany.business.mybatismapper.guild.GuildDiamondStatisticsDayMappe
|
||||
import com.accompany.business.vo.guild.GuildDiamondStatisticsDayVo;
|
||||
import com.accompany.business.vo.guild.GuildInfoVo;
|
||||
import com.accompany.business.vo.guild.GuildMemberDiamondStatisticsDayVo;
|
||||
import com.accompany.business.vo.guild.SimpleGuildVo;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -100,4 +101,10 @@ public class GuildDiamondStatisticsDayServiceImpl extends ServiceImpl<GuildDiamo
|
||||
new TypedJsonJacksonCodec(Integer.class, BigDecimal.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SimpleGuildVo> listRank(Integer partitionId, String startDate, Integer pageNo, Integer pageSize) {
|
||||
IPage<SimpleGuildVo> page = new Page<>(pageNo, pageSize, false);
|
||||
return baseMapper.listRank(page, partitionId, startDate);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package com.accompany.business.service.guild;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.accompany.business.constant.guild.GuildConstant;
|
||||
import com.accompany.business.event.GuildMemberStatusChangeEvent;
|
||||
import com.accompany.business.model.UserPurse;
|
||||
@@ -93,6 +94,8 @@ public class GuildManagerService {
|
||||
private UserPurseService userPurseService;
|
||||
@Autowired
|
||||
private UploadAvatarService uploadAvatarService;
|
||||
@Autowired
|
||||
private GuildDiamondStatisticsDayService guildDiamondStatisticsDayService;
|
||||
|
||||
@SneakyThrows
|
||||
public GuildVo getGuildVo(Long uid) {
|
||||
@@ -484,7 +487,7 @@ public class GuildManagerService {
|
||||
return listGuildMember(guildMember.getGuildId(), GuildConstant.RoleType.MANAGER);
|
||||
}
|
||||
|
||||
public List<SimpleGuildVo> listRank(Long uid) {
|
||||
public List<SimpleGuildVo> listRank(Long uid, Integer pageNo, Integer pageSize) {
|
||||
GuildMember guildMember = guildMemberService.getVaildGuildMemberByUid(uid);
|
||||
if (null != guildMember){
|
||||
throw new ServiceException(BusiStatus.HAS_ONE_HALL);
|
||||
@@ -495,12 +498,48 @@ public class GuildManagerService {
|
||||
throw new ServiceException(BusiStatus.USERNOTEXISTS);
|
||||
}
|
||||
|
||||
List<Guild> guildList = guildService.listVaildGuildByPartitionId(u.getPartitionId());
|
||||
Integer partitionId = u.getPartitionId();
|
||||
List<SimpleGuildVo> simpleGuildVos;
|
||||
if (PartitionEnum.SOVIET.getId() == partitionId) {
|
||||
Date offsetDay = DateUtil.offsetDay(new Date(), -60);
|
||||
simpleGuildVos = guildDiamondStatisticsDayService.listRank(partitionId, DateUtil.formatDate(offsetDay), pageNo, pageSize);
|
||||
} else {
|
||||
simpleGuildVos = this.listRank(partitionId);
|
||||
}
|
||||
if (CollectionUtils.isEmpty(simpleGuildVos)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
List<Integer> guildIds = simpleGuildVos.stream().map(SimpleGuildVo::getGuildId).collect(Collectors.toList());
|
||||
Map<Integer, GuildSSRankDetailVo> ssMarkMap = ssGuildService.getSSMarkByGuildId(partitionId, guildIds);
|
||||
Map<Integer, Integer> memberNumMap = guildService.getGuildMemberNumMapByGuildIds(guildIds);
|
||||
List<Long> ownerUids = simpleGuildVos.stream().map(SimpleGuildVo::getOwnerUid).collect(Collectors.toList());
|
||||
Map<Long, SimpleUserVo> ownerErbanNoMap = usersService.getSimpleUsersByUid(ownerUids);
|
||||
for (SimpleGuildVo simpleGuildVo : simpleGuildVos) {
|
||||
Integer guildId = simpleGuildVo.getGuildId();
|
||||
simpleGuildVo.setOwner(ownerErbanNoMap.get(simpleGuildVo.getOwnerUid()));
|
||||
|
||||
GuildSSRankDetailVo guildSSRankDetailVo = ssMarkMap.get(guildId);
|
||||
if (guildSSRankDetailVo != null) {
|
||||
simpleGuildVo.setMarkScore(guildSSRankDetailVo.getMarkScore());
|
||||
simpleGuildVo.setSsLevel(guildSSRankDetailVo.getSsLevel());
|
||||
}
|
||||
Integer memberNum = memberNumMap.get(guildId);
|
||||
memberNum = memberNum == null ? 0 : memberNum;
|
||||
simpleGuildVo.setMemberNum(memberNum);
|
||||
}
|
||||
|
||||
return simpleGuildVos;
|
||||
}
|
||||
|
||||
public List<SimpleGuildVo> listRank(Integer partitionId) {
|
||||
|
||||
List<Guild> guildList = guildService.listVaildGuildByPartitionId(partitionId);
|
||||
if (CollectionUtils.isEmpty(guildList)){
|
||||
return Collections.emptyList();
|
||||
}
|
||||
PartitionInfo partitionInfo = partitionInfoService.getById(u.getPartitionId());
|
||||
Map<Integer, Double> weekIncomeMap = guildRankService.getWeekRankScoreMap(u.getPartitionId(),
|
||||
PartitionInfo partitionInfo = partitionInfoService.getById(partitionId);
|
||||
Map<Integer, Double> weekIncomeMap = guildRankService.getWeekRankScoreMap(partitionId,
|
||||
null != partitionInfo? partitionInfo.getZoneId(): ZoneId.systemDefault().getId());
|
||||
|
||||
List<SimpleGuildVo> voList = new ArrayList<>();
|
||||
@@ -508,26 +547,13 @@ public class GuildManagerService {
|
||||
Collections.shuffle(guildList);
|
||||
guildList = guildList.subList(0, 10);
|
||||
}
|
||||
List<Integer> guildIds = guildList.stream().map(Guild::getId).collect(Collectors.toList());
|
||||
Map<Integer, GuildSSRankDetailVo> ssMarkMap = ssGuildService.getSSMarkByGuildId(partitionInfo.getId(), guildIds);
|
||||
Map<Integer, Integer> memberNumMap = guildService.getGuildMemberNumMapByGuildIds(guildIds);
|
||||
for (Guild guild: guildList){
|
||||
SimpleGuildVo vo = new SimpleGuildVo();
|
||||
vo.setGuildId(guild.getId());
|
||||
vo.setGuildName(guild.getName());
|
||||
vo.setMemberNumLimit(guild.getMemberNumLimit());
|
||||
SimpleUserVo ownerVo = usersService.getSimpleUserByUid(guild.getOwnerUid());
|
||||
vo.setOwner(ownerVo);
|
||||
|
||||
vo.setOwnerUid(guild.getOwnerUid());
|
||||
vo.setWeekIncome(weekIncomeMap.getOrDefault(guild.getId(), 0D));
|
||||
GuildSSRankDetailVo guildSSRankDetailVo = ssMarkMap.get(guild.getId());
|
||||
if (guildSSRankDetailVo != null) {
|
||||
vo.setMarkScore(guildSSRankDetailVo.getMarkScore());
|
||||
vo.setSsLevel(guildSSRankDetailVo.getSsLevel());
|
||||
}
|
||||
Integer memberNum = memberNumMap.get(guild.getId());
|
||||
memberNum = memberNum == null ? 0 : memberNum;
|
||||
vo.setMemberNum(memberNum);
|
||||
voList.add(vo);
|
||||
}
|
||||
|
||||
|
@@ -138,19 +138,20 @@ public class ExtraDiamondDayService {
|
||||
boolean updateBatchById = guildExtraDiamondDayService.updateBatchById(guildExtraDiamondDays);
|
||||
if (!updateBatchById) {
|
||||
}
|
||||
HashSet<Long> uids = new HashSet<>();
|
||||
Map<Long, BigDecimal> sendGoldMap = new HashMap<>();
|
||||
for (GuildExtraDiamondDay extraDiamondDay : guildExtraDiamondDays) {
|
||||
BigDecimal sendGold = BigDecimal.ZERO;
|
||||
if (extraDiamondDay.getAnchorExtraNum().compareTo(BigDecimal.ZERO) > 0) {
|
||||
userPurseService.addGold(extraDiamondDay.getUid(), extraDiamondDay.getAnchorExtraNum().doubleValue(), ANCHOR_EXTRA_GOLD);
|
||||
uids.add(extraDiamondDay.getUid());
|
||||
sendGold = sendGold.add(extraDiamondDay.getAnchorExtraNum());
|
||||
}
|
||||
if (extraDiamondDay.getAnchorExtraLuckyNum().compareTo(BigDecimal.ZERO) > 0) {
|
||||
userPurseService.addGold(extraDiamondDay.getUid(), extraDiamondDay.getAnchorExtraLuckyNum().doubleValue(), ANCHOR_EXTRA_LUCKY_GOLD);
|
||||
uids.add(extraDiamondDay.getUid());
|
||||
sendGold = sendGold.add(extraDiamondDay.getAnchorExtraLuckyNum());
|
||||
}
|
||||
sendGoldMap.put(extraDiamondDay.getUid(), sendGold);
|
||||
}
|
||||
String message = I18NMessageSourceUtil.getMessage(I18nAlertEnum.EXTRA_GUILD_MEMBER_MSG, partitionId);
|
||||
this.sendMessage(message, uids);
|
||||
this.sendMessage(I18nAlertEnum.EXTRA_GUILD_MEMBER_MSG, sendGoldMap, partitionId);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("sendGuildMemberExtraDiamondTask anchor error" , e);
|
||||
@@ -204,15 +205,14 @@ public class ExtraDiamondDayService {
|
||||
ownerExtra = ownerExtra == null ? add : ownerExtra.add(add);
|
||||
ownerExtraMap.put(ownerUid, ownerExtra);
|
||||
}
|
||||
HashSet<Long> uids = new HashSet<>();
|
||||
Map<Long, BigDecimal> sendGoldMap = new HashMap<>();
|
||||
for (Map.Entry<Long, BigDecimal> decimalEntry : ownerExtraMap.entrySet()) {
|
||||
if (decimalEntry.getValue().compareTo(BigDecimal.ZERO) > 0) {
|
||||
userPurseService.addGold(decimalEntry.getKey(), decimalEntry.getValue().doubleValue(), OWNER_EXTRA_GOLD);
|
||||
uids.add(decimalEntry.getKey());
|
||||
sendGoldMap.put(decimalEntry.getKey(), decimalEntry.getValue());
|
||||
}
|
||||
}
|
||||
String message = I18NMessageSourceUtil.getMessage(I18nAlertEnum.EXTRA_GUILD_MSG, partitionId);
|
||||
this.sendMessage(message, uids);
|
||||
this.sendMessage(I18nAlertEnum.EXTRA_GUILD_MSG, sendGoldMap, partitionId);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("sendGuildExtraDiamondTask anchor error" , e);
|
||||
@@ -258,18 +258,17 @@ public class ExtraDiamondDayService {
|
||||
},
|
||||
BigDecimal::add
|
||||
));
|
||||
HashSet<Long> uids = new HashSet<>();
|
||||
Map<Long, BigDecimal> sendGoldMap = new HashMap<>();
|
||||
extraDiamondMap.entrySet().stream()
|
||||
.filter(entry -> entry.getValue().compareTo(BigDecimal.ZERO) > 0)
|
||||
.forEach(entry -> {
|
||||
Long roomUid = entry.getKey();
|
||||
BigDecimal extraDiamond = entry.getValue();
|
||||
userPurseService.addGold(roomUid, extraDiamond.doubleValue(), ROOM_EXTRA_GOLD);
|
||||
uids.add(roomUid);
|
||||
sendGoldMap.put(roomUid, extraDiamond);
|
||||
});
|
||||
|
||||
String message = I18NMessageSourceUtil.getMessage(I18nAlertEnum.EXTRA_GUILD_MEMBER_MSG, partitionId);
|
||||
this.sendMessage(message, uids);
|
||||
this.sendMessage(I18nAlertEnum.EXTRA_ROOM_MSG, sendGoldMap, partitionId);
|
||||
} catch (Exception e) {
|
||||
log.error("sendLastDayDiamondtask room error" , e);
|
||||
} finally {
|
||||
@@ -280,9 +279,13 @@ public class ExtraDiamondDayService {
|
||||
}
|
||||
|
||||
@Async
|
||||
public void sendMessage(String msg, Set<Long> uids) {
|
||||
uids.forEach(uid -> {
|
||||
baseSendService.sendSystemMsg(uid.toString(), msg);
|
||||
public void sendMessage(I18nAlertEnum msg, Map<Long, BigDecimal> sendGoldMap, Integer partitionId) {
|
||||
sendGoldMap.entrySet().forEach(entry -> {
|
||||
if (entry.getValue().compareTo(BigDecimal.ZERO) <= 0) {
|
||||
return;
|
||||
}
|
||||
String message = I18NMessageSourceUtil.getMessage(msg, new Object[]{entry.getValue()}, partitionId);
|
||||
baseSendService.sendSystemMsg(entry.getKey().toString(), message);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -6,10 +6,12 @@ import com.accompany.business.dto.resource.ResourceContext;
|
||||
import com.accompany.business.enums.resource.ResourceTypeEnum;
|
||||
import com.accompany.business.enums.resource.RuleCodeEnum;
|
||||
import com.accompany.business.model.UserLevelExperience;
|
||||
import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.model.resource.Resource;
|
||||
import com.accompany.business.model.resource.ResourceRule;
|
||||
import com.accompany.business.mybatismapper.resource.ResourceMapper;
|
||||
import com.accompany.business.service.fillstrategy.strategy.FillFactory;
|
||||
import com.accompany.business.service.guild.GuildMemberService;
|
||||
import com.accompany.business.service.level.LevelService;
|
||||
import com.accompany.business.service.resource.ResourceRuleService;
|
||||
import com.accompany.business.service.resource.ResourceService;
|
||||
@@ -64,6 +66,9 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
|
||||
@Autowired
|
||||
private HighRechargeUserService highRechargeUserService;
|
||||
|
||||
@Autowired
|
||||
private GuildMemberService guildMemberService;
|
||||
|
||||
@Override
|
||||
public boolean isOpen(String code) {
|
||||
return getResource(code) != null;
|
||||
@@ -96,6 +101,7 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
|
||||
}
|
||||
context.setNotChannels(channel);
|
||||
Integer partitionId = null;
|
||||
GuildMember guildMember = null;
|
||||
if (uid != null) {
|
||||
UserLevelExperience userExperience = levelService.getUserExper(uid);
|
||||
if (userExperience != null && userExperience.getLevelExperience() != null) {
|
||||
@@ -109,6 +115,7 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
|
||||
}
|
||||
partitionId = users.getPartitionId();
|
||||
}
|
||||
guildMember = guildMemberService.getVaildGuildMemberByUid(uid);
|
||||
boolean isHighRechargeUser = highRechargeUserService.isHighRechargeUser(uid);
|
||||
context.setHighRechargeUser(isHighRechargeUser? "大R": "普通");
|
||||
}
|
||||
@@ -156,10 +163,13 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
|
||||
}
|
||||
//动态校验规则
|
||||
JSONObject jsonObject = JSONObject.parseObject(ruleValueJson);
|
||||
boolean limitUserLevel = !(guildMember != null
|
||||
&& jsonObject.containsKey(RuleCodeEnum.USER_LEVEL_LIMIT_ROLE.name())
|
||||
&& "2".equals(jsonObject.getString(RuleCodeEnum.USER_LEVEL_LIMIT_ROLE.name())));
|
||||
for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
Object ruleValue = entry.getValue();
|
||||
if (CollectionUtil.isEmpty(rules)) {
|
||||
if (CollectionUtil.isEmpty(rules) || RuleCodeEnum.USER_LEVEL_LIMIT_ROLE.name().equals(key)) {
|
||||
continue;
|
||||
}
|
||||
if (ruleValue == null || StrUtil.isEmpty(ruleValue.toString())) {
|
||||
@@ -198,11 +208,13 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
|
||||
isSkip = Integer.parseInt(val1) > Integer.parseInt(val2);
|
||||
}
|
||||
} else if (OperateType.GE.name().equals(kind)) {
|
||||
//版本号
|
||||
if (targetValue.toString().contains(StrUtil.DOT) && !targetValue.toString().startsWith(StrUtil.DELIM_START) && !targetValue.toString().startsWith(StrUtil.DELIM_END)){
|
||||
isSkip = AppVersionUtil.compareVersion(val1, val2) < 0;
|
||||
} else {
|
||||
isSkip = Integer.parseInt(val1) < Integer.parseInt(val2);
|
||||
boolean needLimit = RuleCodeEnum.USER_LEVEL.name().equals(key) && limitUserLevel;
|
||||
if (needLimit) {
|
||||
if (targetValue.toString().contains(StrUtil.DOT) && !targetValue.toString().startsWith(StrUtil.DELIM_START) && !targetValue.toString().startsWith(StrUtil.DELIM_END)){
|
||||
isSkip = AppVersionUtil.compareVersion(val1, val2) < 0;
|
||||
} else {
|
||||
isSkip = Integer.parseInt(val1) < Integer.parseInt(val2);
|
||||
}
|
||||
}
|
||||
} else if (OperateType.LEFT_LIKE.name().equals(kind)) {
|
||||
if (StrUtil.isNotEmpty(val1) && StrUtil.isNotEmpty(description) && val2.equals(YES_ZH)) {
|
||||
|
@@ -66,54 +66,59 @@ public class FaceJsonService extends BaseService {
|
||||
*/
|
||||
@SneakyThrows
|
||||
public FaceJson getValidFaceJson(String appVersion) {
|
||||
boolean afterVipFaceVer = AppVersionUtil.compareVersion(appVersion, VIP_FACE_VERSION) >= 0;
|
||||
String json = jedisService.get(RedisKey.face_json.getKey());
|
||||
FaceJson faceJson;
|
||||
if (!BlankUtil.isBlank(json)) {
|
||||
faceJson = gson.fromJson(json, FaceJson.class);
|
||||
} else {
|
||||
faceJson = getFaceJsonFromDB();
|
||||
jedisService.set(RedisKey.face_json.getKey(), gson.toJson(faceJson));
|
||||
}
|
||||
/**
|
||||
* 解密 -> 处理数据 -> 重新加密返回
|
||||
* 不知道为啥非要全部信息加密返回给客户端,真是折磨
|
||||
*/
|
||||
String faceJsonString = DESUtils.DESAndBase64Decrypt(faceJson.getJson(), Constant.FaceJsonConfig.FACE_JSON_KEY);
|
||||
FaceJsonDetail faceJsonDetail = JSONObject.parseObject(faceJsonString, FaceJsonDetail.class);
|
||||
List<FaceInfo> faceList = faceJsonDetail.getFaces();
|
||||
for (FaceInfo faceInfo : faceList) {
|
||||
faceInfo.setName(StrUtil.EMPTY);
|
||||
}
|
||||
List<FaceInfo> normalFaceList = faceList.stream().filter(faceInfo ->
|
||||
(faceInfo.getFaceKind() == null || Constant.FaceKind.NORMAL.equals(faceInfo.getFaceKind())))
|
||||
.collect(Collectors.toList());
|
||||
if (afterVipFaceVer) {
|
||||
// 按照faceKind进行分组
|
||||
List<FaceInfo> vipFaceList = faceList.stream().filter(faceInfo -> Constant.FaceKind.VIP_FACE.equals(faceInfo.getFaceKind()))
|
||||
try {
|
||||
boolean afterVipFaceVer = AppVersionUtil.compareVersion(appVersion, VIP_FACE_VERSION) >= 0;
|
||||
String json = jedisService.get(RedisKey.face_json.getKey());
|
||||
if (!BlankUtil.isBlank(json)) {
|
||||
faceJson = gson.fromJson(json, FaceJson.class);
|
||||
} else {
|
||||
faceJson = getFaceJsonFromDB();
|
||||
jedisService.set(RedisKey.face_json.getKey(), gson.toJson(faceJson));
|
||||
}
|
||||
/**
|
||||
* 解密 -> 处理数据 -> 重新加密返回
|
||||
* 不知道为啥非要全部信息加密返回给客户端,真是折磨
|
||||
*/
|
||||
String faceJsonString = DESUtils.DESAndBase64Decrypt(faceJson.getJson(), Constant.FaceJsonConfig.FACE_JSON_KEY);
|
||||
FaceJsonDetail faceJsonDetail = JSONObject.parseObject(faceJsonString, FaceJsonDetail.class);
|
||||
List<FaceInfo> faceList = faceJsonDetail.getFaces();
|
||||
for (FaceInfo faceInfo : faceList) {
|
||||
faceInfo.setName(StrUtil.EMPTY);
|
||||
}
|
||||
List<FaceInfo> normalFaceList = faceList.stream().filter(faceInfo ->
|
||||
(faceInfo.getFaceKind() == null || Constant.FaceKind.NORMAL.equals(faceInfo.getFaceKind())))
|
||||
.collect(Collectors.toList());
|
||||
List<FaceInfo> vipFaces = new ArrayList<>();
|
||||
List<FaceInfo> finalVipFaces = vipFaces;
|
||||
vipFaceList.forEach(faceInfo -> {
|
||||
VipInfo vipInfo = vipAuthItemService.getVipInfoByTypeAndItemId(Constant.VipAuthType.FACE, faceInfo.getId().toString());
|
||||
if (null != vipInfo) {
|
||||
VipBaseInfoVO faceVipInfo = new VipBaseInfoVO();
|
||||
faceVipInfo.setVipIcon(vipInfo.getVipIcon());
|
||||
faceVipInfo.setVipLevel(vipInfo.getVipLevel());
|
||||
faceVipInfo.setVipName(vipInfo.getVipName());
|
||||
faceInfo.setFaceVipInfo(faceVipInfo);
|
||||
finalVipFaces.add(faceInfo);
|
||||
}
|
||||
});
|
||||
vipFaces = finalVipFaces.stream().sorted(Comparator.comparing(face -> face.getFaceVipInfo().getVipLevel())).collect(Collectors.toList());
|
||||
faceJsonDetail.setVipFaces(vipFaces);
|
||||
if (afterVipFaceVer) {
|
||||
// 按照faceKind进行分组
|
||||
List<FaceInfo> vipFaceList = faceList.stream().filter(faceInfo -> Constant.FaceKind.VIP_FACE.equals(faceInfo.getFaceKind()))
|
||||
.collect(Collectors.toList());
|
||||
List<FaceInfo> vipFaces = new ArrayList<>();
|
||||
List<FaceInfo> finalVipFaces = vipFaces;
|
||||
vipFaceList.forEach(faceInfo -> {
|
||||
VipInfo vipInfo = vipAuthItemService.getVipInfoByTypeAndItemId(Constant.VipAuthType.FACE, faceInfo.getId().toString());
|
||||
if (null != vipInfo) {
|
||||
VipBaseInfoVO faceVipInfo = new VipBaseInfoVO();
|
||||
faceVipInfo.setVipIcon(vipInfo.getVipIcon());
|
||||
faceVipInfo.setVipLevel(vipInfo.getVipLevel());
|
||||
faceVipInfo.setVipName(vipInfo.getVipName());
|
||||
faceInfo.setFaceVipInfo(faceVipInfo);
|
||||
finalVipFaces.add(faceInfo);
|
||||
}
|
||||
});
|
||||
vipFaces = finalVipFaces.stream().sorted(Comparator.comparing(face -> face.getFaceVipInfo().getVipLevel())).collect(Collectors.toList());
|
||||
faceJsonDetail.setVipFaces(vipFaces);
|
||||
}
|
||||
faceJsonDetail.setFaces(normalFaceList);
|
||||
// 加密返回
|
||||
String faceJsonDetailStr = JSONObject.toJSONString(faceJsonDetail);
|
||||
String encryptStr = DESUtils.DESAndBase64Encrypt(faceJsonDetailStr, Constant.FaceJsonConfig.FACE_JSON_KEY);
|
||||
faceJson.setJson(encryptStr);
|
||||
return faceJson;
|
||||
} catch (Exception e) {
|
||||
logger.error("FaceJsonService.getValidFaceJson(java.lang.String)", e.getMessage(), e);
|
||||
}
|
||||
faceJsonDetail.setFaces(normalFaceList);
|
||||
// 加密返回
|
||||
String faceJsonDetailStr = JSONObject.toJSONString(faceJsonDetail);
|
||||
String encryptStr = DESUtils.DESAndBase64Encrypt(faceJsonDetailStr, Constant.FaceJsonConfig.FACE_JSON_KEY);
|
||||
faceJson.setJson(encryptStr);
|
||||
return faceJson;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -4,7 +4,6 @@ import cn.hutool.core.date.DateUtil;
|
||||
import com.accompany.business.constant.RoomBoomConstant;
|
||||
import com.accompany.business.dto.room.RoomBoomPrizeMsgDTO;
|
||||
import com.accompany.business.message.GiftMessage;
|
||||
import com.accompany.business.message.SuperLuckyGiftDiamondIncomeMessage;
|
||||
import com.accompany.business.model.room.RoomBoomLevel;
|
||||
import com.accompany.business.model.room.RoomBoomLevelAward;
|
||||
import com.accompany.business.model.room.RoomBoomSign;
|
||||
@@ -27,7 +26,6 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.redisson.api.*;
|
||||
@@ -44,7 +42,6 @@ import org.springframework.util.CollectionUtils;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
@@ -1,8 +1,10 @@
|
||||
package com.accompany.business.service.room;
|
||||
|
||||
import com.accompany.business.model.room.RoomBoomSign;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -41,5 +43,7 @@ public interface RoomBoomSignService extends IService<RoomBoomSign> {
|
||||
* @return 记录
|
||||
*/
|
||||
RoomBoomSign getOneByRecordIdAndLevel(Long recordId, Integer level);
|
||||
|
||||
IPage<RoomBoomSign> list(IPage<RoomBoomSign> page, Long roomUid, Long uid, Integer level, Date startTime, Date endTime, Integer partitionId);
|
||||
}
|
||||
|
||||
|
@@ -23,6 +23,7 @@ import com.accompany.core.model.Users;
|
||||
import com.accompany.core.util.I18NMessageSourceUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.nacos.common.utils.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.redisson.api.RList;
|
||||
@@ -382,6 +383,11 @@ public class RoomBoomSignServiceImpl extends ServiceImpl<RoomBoomSignMapper, Roo
|
||||
return roomBoomSignMapper.getOneByRecordIdAndLevel(recordId, level);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<RoomBoomSign> list(IPage<RoomBoomSign> page, Long roomUid, Long uid, Integer level, Date startTime, Date endTime, Integer partitionId) {
|
||||
return baseMapper.list(page, roomUid, uid, level, startTime, endTime, partitionId);
|
||||
}
|
||||
|
||||
private void sendAward(RoomBoomLevelAward award, Long uid, Long roomUid) {
|
||||
try {
|
||||
RewardDto rewardDto = new RewardDto();
|
||||
|
@@ -26,7 +26,6 @@ import com.accompany.business.service.headwear.HeadwearService;
|
||||
import com.accompany.business.service.level.LevelService;
|
||||
import com.accompany.business.service.live.LiveAttestationService;
|
||||
import com.accompany.business.service.nameplate.UserNameplateService;
|
||||
import com.accompany.business.service.netease.YidunCheckUtil;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.room.QueryRoomService;
|
||||
import com.accompany.business.service.room.RoomService;
|
||||
@@ -77,7 +76,6 @@ import com.accompany.email.service.EmailService;
|
||||
import com.accompany.payment.service.RechargeUserService;
|
||||
import com.accompany.sms.service.SmsService;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -845,6 +843,24 @@ public class UsersService extends BaseService {
|
||||
return simpleUserVo;
|
||||
}
|
||||
|
||||
public Map<Long, SimpleUserVo> getSimpleUsersByUid(List<Long> uids) {
|
||||
Map<Long, SimpleUserVo> resultMap = new HashMap<>();
|
||||
Map<Long, Users> usersMap = getUsersMapByUids(uids);
|
||||
if (usersMap == null || usersMap.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
usersMap.forEach((uid, user) -> {
|
||||
SimpleUserVo simpleUserVo = new SimpleUserVo();
|
||||
simpleUserVo.setAvatar(user.getAvatar());
|
||||
simpleUserVo.setErbanNo(user.getErbanNo());
|
||||
simpleUserVo.setGender(user.getGender());
|
||||
simpleUserVo.setNick(user.getNick());
|
||||
simpleUserVo.setUid(user.getUid());
|
||||
resultMap.put(uid, simpleUserVo);
|
||||
});
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
public BusiResult isBindPhone(Long uid) {
|
||||
BusiResult busiResult = new BusiResult(BusiStatus.SUCCESS);
|
||||
Users users = getUsersByUid(uid);
|
||||
|
@@ -25,7 +25,7 @@ import java.util.Map;
|
||||
*/
|
||||
public class QrCodeUtil {
|
||||
|
||||
private static final String LOGO_FILE = "molistar.png";
|
||||
private static final String LOGO_FILE = "MoliParty.png";
|
||||
|
||||
/**
|
||||
* 生成二维码
|
||||
|
@@ -160,4 +160,24 @@
|
||||
</foreach>
|
||||
group by gd.guild_id
|
||||
</select>
|
||||
|
||||
|
||||
<select id="listRank" resultType="com.accompany.business.vo.guild.SimpleGuildVo">
|
||||
SELECT
|
||||
g.id guildId,
|
||||
g.`name` guildName,
|
||||
g.owner_uid ownerUid,
|
||||
g.member_num_limit memberNumLimit,
|
||||
a.diamond_num weekIncome
|
||||
FROM
|
||||
guild g
|
||||
LEFT JOIN (select guild_id, sum(diamond_num+lucky_diamond_num) diamond_num
|
||||
from guild_extra_diamond_day
|
||||
where partition_id = #{partitionId}
|
||||
and stat_date >= #{startDate}
|
||||
group by guild_id) a on a.guild_id = g.id
|
||||
where g.partition_id = #{partitionId}
|
||||
and g.`enable` = 1
|
||||
ORDER BY weekIncome desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
@@ -33,4 +33,32 @@
|
||||
select * from room_boom_sign where record_id = #{recordId} and level = #{level} order by id limit 1
|
||||
</select>
|
||||
|
||||
<select id="list" resultType="com.accompany.business.model.room.RoomBoomSign">
|
||||
select r.*
|
||||
from room_boom_sign r
|
||||
left join users u on u.uid = r.room_uid
|
||||
<where>
|
||||
<if test="startTime != null">
|
||||
and r.create_time >= #{startTime}
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
and r.create_time <= #{endTime}
|
||||
</if>
|
||||
<if test="partitionId != null">
|
||||
and u.partition_id = #{partitionId}
|
||||
</if>
|
||||
<if test="level != null">
|
||||
and r.level = #{level}
|
||||
</if>
|
||||
<if test="roomUid != null">
|
||||
and r.room_uid = #{roomUid}
|
||||
</if>
|
||||
<if test="uid != null">
|
||||
and r.uid = #{uid}
|
||||
</if>
|
||||
and r.`status` = 2
|
||||
</where>
|
||||
order by r.id desc
|
||||
</select>
|
||||
|
||||
</mapper>
|
@@ -14,10 +14,7 @@ import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -111,9 +108,9 @@ public class GuildController {
|
||||
@ApiOperation("公会排行列表")
|
||||
@Authorization
|
||||
@GetMapping("/listRank")
|
||||
public BusiResult<List<SimpleGuildVo>> listGuild(){
|
||||
public BusiResult<List<SimpleGuildVo>> listGuild(@RequestParam(defaultValue = "1") Integer pageNo, @RequestParam(defaultValue = "20") Integer pageSize){
|
||||
Long uid = UidContextHolder.get();
|
||||
List<SimpleGuildVo> guildList = guildManagerService.listRank(uid);
|
||||
List<SimpleGuildVo> guildList = guildManagerService.listRank(uid, pageNo, pageSize);
|
||||
return BusiResult.success(guildList);
|
||||
}
|
||||
|
||||
|
@@ -33,6 +33,7 @@ public class DiamondGiveHistoryController extends BaseController {
|
||||
private DiamondGiveHistoryService diamondGiveHistoryService;
|
||||
|
||||
|
||||
@H5Authorization
|
||||
@Authorization
|
||||
@ApiOperation(value = "用户转赠记录", httpMethod = "GET")
|
||||
@GetMapping("/giveRecord")
|
||||
@@ -49,6 +50,7 @@ public class DiamondGiveHistoryController extends BaseController {
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@H5Authorization
|
||||
@Authorization
|
||||
@ApiOperation(value = "用户转赠详情记录", httpMethod = "GET")
|
||||
@GetMapping("/giveRecordVoByType")
|
||||
@@ -58,6 +60,7 @@ public class DiamondGiveHistoryController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
@H5Authorization
|
||||
@Authorization
|
||||
@ApiOperation(value = "用户转赠钻石操作", httpMethod = "POST")
|
||||
@PostMapping("/give")
|
||||
@@ -67,6 +70,7 @@ public class DiamondGiveHistoryController extends BaseController {
|
||||
return new BusiResult(BusiStatus.SUCCESS);
|
||||
}
|
||||
|
||||
@H5Authorization
|
||||
@Authorization
|
||||
@ApiOperation(value = "用户转赠礼物操作", httpMethod = "POST")
|
||||
@PostMapping("/giveGift")
|
||||
@@ -89,6 +93,7 @@ public class DiamondGiveHistoryController extends BaseController {
|
||||
return new BusiResult<>(diamondGiveHistoryService.searchUser(uid, erbanNo));
|
||||
}
|
||||
|
||||
@H5Authorization
|
||||
@Authorization
|
||||
@ApiOperation(value = "用户转赠历史", httpMethod = "GET")
|
||||
@ApiImplicitParams({
|
||||
|
@@ -0,0 +1,51 @@
|
||||
package com.accompany.business.interceptor;
|
||||
|
||||
import com.accompany.common.constant.AppEnum;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.util.ContentCachingResponseWrapper;
|
||||
|
||||
import javax.servlet.*;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
@Order(Ordered.HIGHEST_PRECEDENCE)
|
||||
public class CustomResponseFilter implements Filter {
|
||||
|
||||
@Override
|
||||
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
|
||||
throws IOException, ServletException {
|
||||
ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper((HttpServletResponse) response);
|
||||
chain.doFilter(request, responseWrapper);
|
||||
|
||||
byte[] responseArray = responseWrapper.getContentAsByteArray();
|
||||
String responseStr = new String(responseArray, "UTF-8");
|
||||
|
||||
// 在这里处理响应内容
|
||||
String modifiedResponse = modifyResponse(responseStr);
|
||||
|
||||
response.getOutputStream().write(modifiedResponse.getBytes());
|
||||
}
|
||||
|
||||
private String modifyResponse(String original) {
|
||||
AppEnum curApp = AppEnum.getCurApp();
|
||||
String apiDomain = curApp.getApiDomain();
|
||||
String resourceDomain = curApp.getResourceDomain();
|
||||
|
||||
List<AppEnum> otherTwoAppEnums = AppEnum.getOtherAppEnums(curApp);
|
||||
for (AppEnum otherApp : otherTwoAppEnums) {
|
||||
String diffResourceDomain = otherApp.getResourceDomain();
|
||||
String diffApiDomain = otherApp.getApiDomain();
|
||||
if (original.contains(diffResourceDomain)) {
|
||||
original = original.replaceAll(diffResourceDomain, resourceDomain);
|
||||
}
|
||||
if (original.contains(diffApiDomain)) {
|
||||
original = original.replaceAll(diffApiDomain, apiDomain);
|
||||
}
|
||||
}
|
||||
return original;
|
||||
}
|
||||
}
|
@@ -19,7 +19,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 124.156.164.187:8848
|
||||
namespace: 5edc3246-3e69-4be5-a32a-273f0a09ddf6
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
@@ -42,7 +42,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 124.156.164.187:8848
|
||||
namespace: 5edc3246-3e69-4be5-a32a-273f0a09ddf6
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
@@ -66,7 +66,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 172.19.16.15:8848
|
||||
namespace: 0c9bf047-19ca-4969-bf5d-bbc1f86b501a
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
|
@@ -3,13 +3,13 @@ package com.accompany.oauth2.service.account;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.core.base.SpringContextHolder;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.mybatismapper.AccountLoginRecordMapperExpand;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.core.service.user.UsersBaseService;
|
||||
import com.accompany.core.util.JwtUtils;
|
||||
import com.accompany.core.util.PartitionUtil;
|
||||
import com.accompany.oauth2.support.h5.H5TokenGranter;
|
||||
import com.accompany.oauth2.token.H5AccessToken;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -61,11 +61,18 @@ public class AccountH5LoginService {
|
||||
if (null == u){
|
||||
throw new ServiceException(BusiStatus.USERNOTEXISTS);
|
||||
}
|
||||
PartitionUtil.checkInPartition(4, u.getPartitionId());
|
||||
|
||||
if (u.getPartitionId() != PartitionEnum.CHINESE.getId()) {
|
||||
Integer userCount = usersBaseService.rechargeUserCount(uid);
|
||||
if (userCount <= 0) {
|
||||
throw new ServiceException(BusiStatus.H5_RECHARGE_USER_NOT_OPEN);
|
||||
}
|
||||
}
|
||||
|
||||
String jwtToken = createJwtToken(uid);
|
||||
saveH5LoginJwtToken(uid, jwtToken);
|
||||
H5AccessToken accessToken = new H5AccessToken();
|
||||
accessToken.setPartitionId(u.getPartitionId());
|
||||
accessToken.setAccess_token(jwtToken);
|
||||
accessToken.setUid(uid);
|
||||
accessToken.setExpires_in(H5_JWT_TOKEN_EX);
|
||||
|
@@ -19,6 +19,9 @@ public class H5AccessToken {
|
||||
@ApiModelProperty("用户ID")
|
||||
private Long uid;
|
||||
|
||||
@ApiModelProperty("分区id")
|
||||
private Integer partitionId;
|
||||
|
||||
/**
|
||||
* 令牌
|
||||
*/
|
||||
|
@@ -19,7 +19,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 124.156.164.187:8848
|
||||
namespace: 5edc3246-3e69-4be5-a32a-273f0a09ddf6
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
@@ -42,7 +42,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 124.156.164.187:8848
|
||||
namespace: 5edc3246-3e69-4be5-a32a-273f0a09ddf6
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
@@ -66,7 +66,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 172.19.16.15:8848
|
||||
namespace: 0c9bf047-19ca-4969-bf5d-bbc1f86b501a
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
|
@@ -61,7 +61,7 @@ public class MonthRankTask extends BaseTask {
|
||||
public void monthRankTaskGMT8() {
|
||||
Date date = new Date();
|
||||
Date lastMonthDate = DateUtil.offsetMonth(date, -1);
|
||||
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ENGLISH, PartitionEnum.ENGLISH2);
|
||||
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ENGLISH, PartitionEnum.ENGLISH2, PartitionEnum.SOVIET);
|
||||
for (PartitionEnum partitionEnum : partitionEnumList) {
|
||||
try {
|
||||
log.info("=-=monthRankTaskGMT8.krypton_rank=-=:date:{},lastMonthDate:{}", DateUtil.formatDateTime(date), lastMonthDate);
|
||||
|
@@ -16,7 +16,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 124.156.164.187:8848
|
||||
namespace: 5edc3246-3e69-4be5-a32a-273f0a09ddf6
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
@@ -39,7 +39,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 124.156.164.187:8848
|
||||
namespace: 5edc3246-3e69-4be5-a32a-273f0a09ddf6
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
@@ -63,7 +63,7 @@ spring:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: 172.19.16.15:8848
|
||||
namespace: 0c9bf047-19ca-4969-bf5d-bbc1f86b501a
|
||||
namespace: aeb633ac-d6eb-4d3e-b40d-80b5458064b0
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- data-id: application.yml
|
||||
|
Reference in New Issue
Block a user