Parcourir la source

广告弹窗记录

zoujiajian il y a 2 ans
Parent
commit
d01d8c92b2

+ 5 - 0
netflix-common/src/main/java/com/cyksj/common/constant/Constant.java

@@ -274,4 +274,9 @@ public interface Constant {
 	String APPLY_MONEY_DS = "分销提现";
 
 	String APPLY_MONEY_SUB = "邀请奖励金提现";
+
+	/**
+	 * cps后台用户弹窗key
+	 */
+	String CPS_AD_KEY = "cps_ad_key";
 }

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/manage/cps/CpsUserAdRecordMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.manage.cps;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.CpsUserAdRecord;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: CpsUserAdRecordMapper
+ * 创建者: JavaZou
+ * 创建时间:2024/4/2 16:04
+ */
+public interface CpsUserAdRecordMapper extends BaseMapper<CpsUserAdRecord> {
+}

+ 18 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/CpsUserAdRecord.java

@@ -0,0 +1,18 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: CpsUserAdRecord
+ * 创建者: JavaZou
+ * 创建时间:2024/4/2 16:03
+ */
+@Getter
+@Setter
+public class CpsUserAdRecord extends BaseEntity {
+	private Long userId;
+
+	private String sysKey;
+}

+ 28 - 0
netflix-web/src/main/java/com/cyksj/web/controller/cps/CpsBackLoginController.java

@@ -5,6 +5,7 @@ import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.annotation.NoSubmit;
+import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.snowflake.Sequence;
 import com.cyksj.common.util.Codec;
@@ -13,11 +14,15 @@ import com.cyksj.config.wxlogin.WxOpenPlatYHLXLoginConfig;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.UserMapper;
+import com.cyksj.mapper.manage.cps.CpsUserAdRecordMapper;
 import com.cyksj.mapper.manage.distribute.UserDistributeMapper;
+import com.cyksj.mapper.sys.SysConfigMapper;
 import com.cyksj.model.dto.AuthRedirect;
 import com.cyksj.model.dto.AuthToken;
 import com.cyksj.model.dto.CpsAuthDto;
 import com.cyksj.model.dto.GzhOAuth2UserInfo;
+import com.cyksj.model.entity.CpsUserAdRecord;
+import com.cyksj.model.entity.SysConfig;
 import com.cyksj.model.entity.User;
 import com.cyksj.model.entity.UserDistribute;
 import com.cyksj.model.request.LoginReq;
@@ -58,6 +63,10 @@ public class CpsBackLoginController {
 
 	private final UserDistributeMapper userDistributeMapper;
 
+	private final CpsUserAdRecordMapper cpsUserAdRecordMapper;
+
+	private final SysConfigMapper sysConfigMapper;
+
 	/**
 	 * 获取登录验证码
 	 */
@@ -150,4 +159,23 @@ public class CpsBackLoginController {
 		redisService.del(key);
 		return GatewayResponse.SUCCESS.newBuilder().toResult(o.toString());
 	}
+
+	/**
+	 * 广告弹窗是否展示
+	 */
+	@GetMapping("/get/ad")
+	public Result<String> getAd() {
+		String key = Constant.CPS_AD_KEY;
+		long cpsUserId = StpCpsManageUser.getLoginIdAsLong();
+		CpsUserAdRecord cpsUserAdRecord = cpsUserAdRecordMapper.selectOne(Wrappers.lambdaQuery(CpsUserAdRecord.class)
+				.eq(CpsUserAdRecord::getUserId, cpsUserId)
+				.eq(CpsUserAdRecord::getSysKey, key)
+				.last("limit 1"));
+		if (cpsUserAdRecord == null) {
+			SysConfig sysConfig = sysConfigMapper.selectOne(Wrappers.lambdaQuery(SysConfig.class)
+					.eq(SysConfig::getSysKey, key).last("limit 1"));
+			if (sysConfig == null) return GatewayResponse.SUCCESS.newBuilder().toResult(sysConfig.getSysValue());
+		}
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
 }

+ 13 - 4
netflix-web/src/main/java/com/cyksj/web/controller/sys/SysConfigController.java

@@ -14,14 +14,12 @@ import com.cyksj.common.util.Jsons;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.BusinessType;
 import com.cyksj.enums.GatewayResponse;
+import com.cyksj.mapper.manage.cps.CpsUserAdRecordMapper;
 import com.cyksj.mapper.manage.help.HelpQuestionClassificationMapper;
 import com.cyksj.mapper.manage.help.HelpQuestionMapper;
 import com.cyksj.model.dto.EquipmentConfigDto;
 import com.cyksj.model.dto.SysServiceChangeDto;
-import com.cyksj.model.entity.HelpQuestion;
-import com.cyksj.model.entity.HelpQuestionClassification;
-import com.cyksj.model.entity.SysConfig;
-import com.cyksj.model.entity.SysConfigChangeRecord;
+import com.cyksj.model.entity.*;
 import com.cyksj.model.views.HelpQuestionClassificationView;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.sys.SysConfigChangeRecordService;
@@ -66,6 +64,8 @@ public class SysConfigController {
 
 	private final SysConfigChangeRecordService sysConfigChangeRecordService;
 
+	private final CpsUserAdRecordMapper cpsUserAdRecordMapper;
+
 	@GetMapping("/get")
 	public Result<SysConfig> get(String key) {
 		SysConfig sysConfig = sysConfigService.getOne(Wrappers.lambdaQuery(SysConfig.class).eq(SysConfig::getSysKey, key).last(" limit 1"));
@@ -209,4 +209,13 @@ public class SysConfigController {
 		redisService.set(RedisService.key.EQUIPMENT_USER_SERVICE_RECORD.getEnvName() + time + userId, indx, RedisService.key.EQUIPMENT_USER_SERVICE_RECORD.getTimeout());
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 	}
+
+	/**
+	 * 清零用户获取广告配置
+	 */
+	@DeleteMapping("/delte/cps/ad")
+	public Result<String> deleteCpsAdRecord() {
+		cpsUserAdRecordMapper.delete(null);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
 }