Browse Source

feat: 广告跳转记录

shc 3 years ago
parent
commit
9674ce6fa7

+ 22 - 0
db/v2022/1wm_ad_record.sql

@@ -0,0 +1,22 @@
+USE hnqzx;
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for wm_ad_record
+-- ----------------------------
+DROP TABLE IF EXISTS `wm_ad_record`;
+CREATE TABLE `wm_ad_record`
+(
+    `record_id`    BIGINT UNSIGNED AUTO_INCREMENT COMMENT 'id',
+    `user_id`      INT(11)      NOT NULL COMMENT '用户id',
+    `ad_url`       VARCHAR(255) NOT NULL COMMENT '跳转地址',
+    `created_time` DATETIME     NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+    PRIMARY KEY (`record_id`) USING BTREE
+) ENGINE = InnoDB
+  AUTO_INCREMENT = 9
+  DEFAULT CHARSET = utf8mb4 COMMENT ='部门管理';
+
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 35 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmAdRecord.java

@@ -0,0 +1,35 @@
+package com.qunzhixinxi.hnqz.admin.api.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 广告记录
+ *
+ * @author jimmy
+ * @date 2022/04/15 12/53
+ */
+@Data
+@ToString
+@TableName(value = "wm_ad_record")
+public class WmAdRecord implements Serializable {
+
+	private static final long serialVersionUID = 8155202747309692397L;
+
+	@TableId(value = "record_id", type = IdType.AUTO)
+	private Long id;
+
+	private Integer userId;
+
+	@TableField(value = "ad_url")
+	private String url;
+
+	private LocalDateTime createdTime = LocalDateTime.now();
+}

+ 23 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -11,6 +11,8 @@ import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.IdcardUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.JSONPObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -23,6 +25,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDictItem;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysRole;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmAdRecord;
 import com.qunzhixinxi.hnqz.admin.api.enums.SignatureStatusEnum;
 import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
 import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
@@ -64,6 +67,7 @@ import com.qunzhixinxi.hnqz.admin.service.SysDictItemService;
 import com.qunzhixinxi.hnqz.admin.service.SysFileService;
 import com.qunzhixinxi.hnqz.admin.service.SysPublicParamService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserService;
+import com.qunzhixinxi.hnqz.admin.service.WmAdRecordService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaAgentService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDistributionService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
@@ -119,6 +123,7 @@ import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.mock.web.MockMultipartFile;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -198,6 +203,7 @@ public class ApiController {
 	private final WmWkAlbumService wmWkAlbumService;
 	private final WmDeptTaskTypeTemplateService wmDeptTaskTypeTemplateService;
 	private final WmUserSignDetailService wmUserSignDetailService;
+	private final WmAdRecordService adRecordService;
 
 	@SysLog("通过任务类型获取表单配置")
 	@ApiOperation(value = "任务类型表单配置-通过任务类型获取表单配置", notes = "根据任务类型获取表单配置")
@@ -3857,4 +3863,21 @@ public class ApiController {
 
 		return sysFileService.uploadFile(file);
 	}
+
+	/**
+	 * 记录广告点击情况
+	 * @param json 请求参数
+	 * @return 记录结果
+	 */
+	@PostMapping(value = "/ad-record")
+	@Transactional(rollbackFor = Exception.class)
+	public Boolean insertAdRecord(@RequestBody String json){
+		JSONObject jsonObject = JSONObject.parseObject(json);
+		WmAdRecord record = new WmAdRecord();
+		record.setUrl(jsonObject.getString("url"));
+		record.setUserId(SecurityUtils.getUser().getId());
+		return adRecordService.save(record);
+	}
+
+
 }

+ 15 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmAdRecordMapper.java

@@ -0,0 +1,15 @@
+package com.qunzhixinxi.hnqz.admin.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmAdRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 广告记录mapper
+ *
+ * @author jimmy
+ * @date 2022/04/15 12/59
+ */
+@Mapper
+public interface WmAdRecordMapper extends BaseMapper<WmAdRecord> {
+}

+ 13 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmAdRecordService.java

@@ -0,0 +1,13 @@
+package com.qunzhixinxi.hnqz.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmAdRecord;
+
+/**
+ * 广告记录服务
+ *
+ * @author jimmy
+ * @date 2022/04/15 13/01
+ */
+public interface WmAdRecordService extends IService<WmAdRecord> {
+}

+ 21 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmAdRecordServiceImpl.java

@@ -0,0 +1,21 @@
+package com.qunzhixinxi.hnqz.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmAdRecord;
+import com.qunzhixinxi.hnqz.admin.mapper.WmAdRecordMapper;
+import com.qunzhixinxi.hnqz.admin.service.WmAdRecordService;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * 广告记录服务实现
+ *
+ * @author jimmy
+ * @date 2022/04/15 13/01
+ */
+@Slf4j
+@Service
+@AllArgsConstructor
+public class WmAdRecordServiceImpl extends ServiceImpl<WmAdRecordMapper, WmAdRecord> implements WmAdRecordService {
+}