Prechádzať zdrojové kódy

Merge branch 'package' into dev

wcc 1 rok pred
rodič
commit
4c52fa2b34

+ 6 - 3
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameOceanengineOrderLogServiceImpl.java

@@ -238,8 +238,8 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
             backMsg = backInfo.third;
         }
         BackStatusEnum backStatus = BackStatusEnum.NO;
+        orderLog.setBackMoney(backMoney);
         if (doBack) {
-            orderLog.setBackMoney(backMoney);
             backStatus = doCallback(orderLog);
         }
         return update(new LambdaUpdateWrapper<GameOceanengineOrderLog>()
@@ -310,7 +310,10 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
     public boolean oceanengineOrderReport(List<Long> ids, Long backMoney) {
         listByIds(ids).stream()
                 .filter(order -> !Objects.equals(order.getBackStatus(), BackStatusEnum.SUCCESS.getBackStatus()))
-                .forEach(orderLog -> callback(orderLog, true, backMoney));
+                .forEach(orderLog -> {
+                    log.error("手动回传:{}-{}", orderLog.getId(), backMoney);
+                    callback(orderLog, true, backMoney);
+                });
         return true;
     }
 
@@ -344,7 +347,7 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
                 .union_id(orderLog.getUnionId())
                 .event_type(String.valueOf(MiniGameCallback.EventType.ACTIVE_PAY.getEventType()))
                 .props(MiniGameCallback.MiniGameCallbackRequest.MiniGameCallbackRequestProps.builder()
-                        .pay_amount(orderLog.getAmount())
+                        .pay_amount(orderLog.getBackMoney())
                         .build())
                 .build();
         BackStatusEnum backStatus = BackStatusEnum.SUCCESS;

+ 1 - 1
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameBackLogServiceImpl.java

@@ -68,7 +68,7 @@ public class GameTencentMiniGameBackLogServiceImpl extends ServiceImpl<GameTence
                 .wechatOpenid(orderLog.getWechatOpenid())
                 .wechatAppId(orderLog.getWechatAppId())
                 .actionType(actionType)
-                .amount(orderLog.getRechargeMoney())
+                .amount(orderLog.getBackMoney())
                 .orderId(orderLog.getOrderId())
                 .createTime(LocalDateTime.now())
                 .build();

+ 5 - 3
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameOrderServiceImpl.java

@@ -14,7 +14,6 @@ import com.zanxiang.game.back.base.pojo.enums.OrderStatusEnum;
 import com.zanxiang.game.back.serve.dao.mapper.GameTencentMiniGameOrderMapper;
 import com.zanxiang.game.back.serve.pojo.dto.GameTencentMiniGameOrderDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
-import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineOrderLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameOrder;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
 import com.zanxiang.game.back.serve.pojo.enums.BackUnitEnum;
@@ -244,8 +243,8 @@ public class GameTencentMiniGameOrderServiceImpl extends ServiceImpl<GameTencent
             backMsg = backInfo.third;
         }
         BackStatusEnum backStatus = BackStatusEnum.NO;
+        orderLog.setBackMoney(backMoney);
         if (doBack) {
-            orderLog.setBackMoney(backMoney);
             backStatus = gameTencentMiniGameBackLogService.orderBack(orderLog);
         }
         return update(new LambdaUpdateWrapper<GameTencentMiniGameOrder>()
@@ -287,7 +286,10 @@ public class GameTencentMiniGameOrderServiceImpl extends ServiceImpl<GameTencent
     public boolean doReport(List<Long> orderLogIds, Long backMoney) {
         listByIds(orderLogIds).stream()
                 .filter(order -> !Objects.equals(order.getBackStatus(), BackStatusEnum.SUCCESS.getBackStatus()))
-                .forEach(orderLog -> orderBack(orderLog, true, backMoney));
+                .forEach(orderLog -> {
+                    log.error("手动回传:{}-{}", orderLog.getId(), backMoney);
+                    orderBack(orderLog, true, backMoney);
+                });
         return true;
     }
 

+ 6 - 3
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentOrderServiceImpl.java

@@ -252,8 +252,8 @@ public class GameTencentOrderServiceImpl extends ServiceImpl<GameTencentOrderMap
             backMsg = backInfo.third;
         }
         BackStatusEnum backStatus = BackStatusEnum.NO;
+        orderLog.setBackMoney(backMoney);
         if (doBack) {
-            orderLog.setBackMoney(backMoney);
             backStatus = doCallback(orderLog);
         }
         return update(new LambdaUpdateWrapper<GameTencentOrder>()
@@ -324,7 +324,10 @@ public class GameTencentOrderServiceImpl extends ServiceImpl<GameTencentOrderMap
     public boolean tencentOrderReport(List<Long> ids, Long backMoney) {
         listByIds(ids).stream()
                 .filter(order -> !Objects.equals(order.getIsBack(), BackStatusEnum.SUCCESS.getBackStatus()))
-                .forEach(orderLog -> orderBack(orderLog, true, backMoney));
+                .forEach(orderLog -> {
+                    log.error("手动回传:{}-{}", orderLog.getId(), backMoney);
+                    orderBack(orderLog, true, backMoney);
+                });
         return true;
     }
 
@@ -333,7 +336,7 @@ public class GameTencentOrderServiceImpl extends ServiceImpl<GameTencentOrderMap
                 ActionTypeEnum.PURCHASE.getActionType() : ActionTypeEnum.COMPLETE_ORDER.getActionType();
         Map<String, Object> actionParam = new HashMap<>(2);
         actionParam.put("claim_type", 0);
-        actionParam.put("value", orderLog.getRechargeMoney());
+        actionParam.put("value", orderLog.getBackMoney());
         DataReportOfAppIdRpcDTO dataReportOfAppIdRpcDTO = DataReportOfAppIdRpcDTO.builder()
                 .appId(orderLog.getWechatAppId())
                 .userActionSetId(orderLog.getUserActionSetId())

+ 6 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/RoleRechargeRankingDTO.java

@@ -165,4 +165,10 @@ public class RoleRechargeRankingDTO extends BasePage {
     @ApiModelProperty(notes = "角色累计充值金额最小值(单位:元)")
     private Long totalRechargeMin;
 
+    /**
+     * 是否退游
+     */
+    @ApiModelProperty(notes = "是否退游:1->退游;0->未退游")
+    private Integer isRemoveGame;
+
 }

+ 4 - 4
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdsOrderDetailService.java

@@ -71,10 +71,10 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
             cri.where().andEquals("username", dto.getUsername());
         }
         if (StringUtils.isNotBlank(dto.getServerName())) {
-            cri.where().andEquals("server_name", dto.getServerName());
+            cri.where().andLike("server_name", dto.getServerName());
         }
         if (StringUtils.isNotBlank(dto.getSourceServerName())) {
-            cri.where().andEquals("source_server_name", dto.getSourceServerName());
+            cri.where().andLike("source_server_name", dto.getSourceServerName());
         }
         if (gameIds != null) {
             cri.where().andInList("order_game_id", gameIds);
@@ -200,10 +200,10 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
             cri.where().andEquals("username", dto.getUsername());
         }
         if (StringUtils.isNotBlank(dto.getServerName())) {
-            cri.where().andEquals("server_name", dto.getServerName());
+            cri.where().andLike("server_name", dto.getServerName());
         }
         if (StringUtils.isNotBlank(dto.getSourceServerName())) {
-            cri.where().andEquals("source_server_name", dto.getSourceServerName());
+            cri.where().andLike("source_server_name", dto.getSourceServerName());
         }
         if (gameIds != null) {
             cri.where().andInList("order_game_id", gameIds);

+ 22 - 8
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -127,6 +127,10 @@ public class RoleManageServiceImpl implements IRoleManageService {
             //累计充值金额最大值
             criA.where().andLTE("amount", dto.getTotalRechargeMax());
         }
+        if (dto.getIsRemoveGame() != null) {
+            //是否退游
+            criA.where().andEquals("is_remove_game", dto.getIsRemoveGame());
+        }
         //给充值时间查询条件
         Criteria criTodayAmount = Cnd.cri();
         //查询充值成功的
@@ -545,6 +549,10 @@ public class RoleManageServiceImpl implements IRoleManageService {
         dao.execute(countSql);
         pager.setRecordCount(countSql.getInt());
         //排序条件
+        if ("min_server_start_days".equals(dto.getSortFiled())) {
+            //原始区服没有 最小区服排序条件
+            dto.setSortFiled(null);
+        }
         if (StringUtils.isBlank(dto.getSortType())) {
             dto.setSortType(OrderByEnum.DESC.getOrderType());
         }
@@ -826,6 +834,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 	    IF(i.agent_id = 0 , '自然量', i.agent_name) as agent_name, -- 玩家注册渠道名
                 	    i.put_user_id as put_user_id, -- 投手id
                 	    i.user_active_time as user_active_time, -- 玩家最近活跃时间
+                	    TIMESTAMPDIFF(SECOND, i.user_active_time, NOW()) as user_active_until_now, -- 玩家最近活跃距今(秒)
                 	    i.user_last_recharge_game_id as user_last_recharge_game_id, -- 玩家最近充值游戏id
                 	    i.user_last_recharge_game_name as user_last_recharge_game_name, -- 玩家最近充值游戏名
                 		i.user_pay_time as user_pay_time, -- 玩家最近充值时间
@@ -834,13 +843,15 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		IFNULL(j.is_send_mail, 0) as is_send_mail, -- 是否发送邮件
                 		j.send_gift_id as send_gift_id, -- 最新发送礼包id
                 		k.gift_name as gift_name, -- 礼包名
-                		IFNULL(j.is_change_game_type, 0) as is_change_game_type, -- 是否转端 1-是;0-否
-                		IFNULL(j.is_add_corp_wechat, 0) as is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
+                		j.is_change_game_type as is_change_game_type, -- 是否转端 1-是;0-否
+                  		j.is_add_corp_wechat as is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
                 		j.add_corp_user_id as add_corp_user_id, -- 企微号
                 		j.user_wechat as user_wechat, -- 客户微信号
                 		j.user_phone as user_phone, -- 客户手机号
-                		IFNULL(j.is_remove_game, 0) as is_remove_game, -- 是否退游 1-是;0-否
-                		IFNULL(j.is_wake_up, 0) as is_wake_up, -- 是否唤醒 1-是;0-否
+                		IFNULL(j.is_remove_game,
+                  			IF(TIMESTAMPDIFF(HOUR, g.update_time, NOW()) > 72,
+                  				IF(TIMESTAMPDIFF(HOUR, f.pay_time, NOW()) < 72 , NULL, 1) , NULL)) as is_remove_game, -- 是否退游 1-是;0-否;NULL-未操作过的数据(也代表未退游)
+                		j.is_wake_up as is_wake_up, -- 是否唤醒 1-是;0-否
                 		j.remark as remark, -- 备注
                 		j.gs_id as gs_id, -- GS_ID
                 		j.customer_service_id as customer_service_id, -- 客服ID
@@ -1197,6 +1208,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         IF(i.agent_id = 0 , '自然量', i.agent_name) as agent_name, -- 玩家注册渠道名
                         i.put_user_id as put_user_id, -- 投手id
                         i.user_active_time as user_active_time, -- 玩家最近活跃时间
+                        TIMESTAMPDIFF(SECOND, i.user_active_time, NOW()) as user_active_until_now, -- 玩家最近活跃距今(秒)
                         i.user_last_recharge_game_id as user_last_recharge_game_id, -- 玩家最近充值游戏id
                         i.user_last_recharge_game_name as user_last_recharge_game_name, -- 玩家最近充值游戏名
                         i.user_pay_time as user_pay_time, -- 玩家最近充值时间
@@ -1205,13 +1217,15 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         IFNULL(j.is_send_mail, 0) as is_send_mail, -- 是否发送邮件
                         j.send_gift_id as send_gift_id, -- 最新发送礼包id
                         k.gift_name as gift_name, -- 礼包名
-                        IFNULL(j.is_change_game_type, 0) as is_change_game_type, -- 是否转端 1-是;0-否
-                        IFNULL(j.is_add_corp_wechat, 0) as is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
+                        j.is_change_game_type as is_change_game_type, -- 是否转端 1-是;0-否
+                        j.is_add_corp_wechat as is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
                         j.add_corp_user_id as add_corp_user_id, -- 企微号
                         j.user_wechat as user_wechat, -- 客户微信号
                         j.user_phone as user_phone, -- 客户手机号
-                        IFNULL(j.is_remove_game, 0) as is_remove_game, -- 是否退游 1-是;0-否
-                        IFNULL(j.is_wake_up, 0) as is_wake_up, -- 是否唤醒 1-是;0-否
+                        IFNULL(j.is_remove_game,
+                        			IF(TIMESTAMPDIFF(HOUR, g.update_time, NOW()) > 72,
+                        				IF(TIMESTAMPDIFF(HOUR, f.pay_time, NOW()) < 72 , NULL, 1) , NULL)) as is_remove_game, -- 是否退游 1-是;0-否;-1-未操作过的数据(也代表未退游)
+                        j.is_wake_up as is_wake_up, -- 是否唤醒 1-是;0-否
                         j.remark as remark, -- 备注
                         j.gs_id as gs_id, -- GS_ID
                         j.customer_service_id as customer_service_id, -- 客服ID