diff --git a/.idea/misc.xml b/.idea/misc.xml
index ee7af99..b784bbc 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,5 +8,5 @@
-
+
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/controller/AppletBrowseRecordController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/controller/AppletBrowseRecordController.java
new file mode 100644
index 0000000..edf0ec0
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/controller/AppletBrowseRecordController.java
@@ -0,0 +1,171 @@
+package org.jeecg.modules.appletBrowseRecord.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.appletBrowseRecord.entity.AppletBrowseRecord;
+import org.jeecg.modules.appletBrowseRecord.service.IAppletBrowseRecordService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: 浏览点赞等记录表
+ * @Author: jeecg-boot
+ * @Date: 2025-10-09
+ * @Version: V1.0
+ */
+@Api(tags="浏览点赞等记录表")
+@RestController
+@RequestMapping("/appletBrowseRecord/appletBrowseRecord")
+@Slf4j
+public class AppletBrowseRecordController extends JeecgController {
+ @Autowired
+ private IAppletBrowseRecordService appletBrowseRecordService;
+
+ /**
+ * 分页列表查询
+ *
+ * @param appletBrowseRecord
+ * @param pageNo
+ * @param pageSize
+ * @param req
+ * @return
+ */
+ //@AutoLog(value = "浏览点赞等记录表-分页列表查询")
+ @ApiOperation(value="浏览点赞等记录表-分页列表查询", notes="浏览点赞等记录表-分页列表查询")
+ @GetMapping(value = "/list")
+ public Result> queryPageList(AppletBrowseRecord appletBrowseRecord,
+ @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+ @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+ HttpServletRequest req) {
+ QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(appletBrowseRecord, req.getParameterMap());
+ Page page = new Page(pageNo, pageSize);
+ IPage pageList = appletBrowseRecordService.page(page, queryWrapper);
+ return Result.OK(pageList);
+ }
+
+ /**
+ * 添加
+ *
+ * @param appletBrowseRecord
+ * @return
+ */
+ @AutoLog(value = "浏览点赞等记录表-添加")
+ @ApiOperation(value="浏览点赞等记录表-添加", notes="浏览点赞等记录表-添加")
+ @PostMapping(value = "/add")
+ public Result add(@RequestBody AppletBrowseRecord appletBrowseRecord) {
+ appletBrowseRecordService.save(appletBrowseRecord);
+ return Result.OK("添加成功!");
+ }
+
+ /**
+ * 编辑
+ *
+ * @param appletBrowseRecord
+ * @return
+ */
+ @AutoLog(value = "浏览点赞等记录表-编辑")
+ @ApiOperation(value="浏览点赞等记录表-编辑", notes="浏览点赞等记录表-编辑")
+ @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+ public Result edit(@RequestBody AppletBrowseRecord appletBrowseRecord) {
+ appletBrowseRecordService.updateById(appletBrowseRecord);
+ return Result.OK("编辑成功!");
+ }
+
+ /**
+ * 通过id删除
+ *
+ * @param id
+ * @return
+ */
+ @AutoLog(value = "浏览点赞等记录表-通过id删除")
+ @ApiOperation(value="浏览点赞等记录表-通过id删除", notes="浏览点赞等记录表-通过id删除")
+ @DeleteMapping(value = "/delete")
+ public Result delete(@RequestParam(name="id",required=true) String id) {
+ appletBrowseRecordService.removeById(id);
+ return Result.OK("删除成功!");
+ }
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return
+ */
+ @AutoLog(value = "浏览点赞等记录表-批量删除")
+ @ApiOperation(value="浏览点赞等记录表-批量删除", notes="浏览点赞等记录表-批量删除")
+ @DeleteMapping(value = "/deleteBatch")
+ public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+ this.appletBrowseRecordService.removeByIds(Arrays.asList(ids.split(",")));
+ return Result.OK("批量删除成功!");
+ }
+
+ /**
+ * 通过id查询
+ *
+ * @param id
+ * @return
+ */
+ //@AutoLog(value = "浏览点赞等记录表-通过id查询")
+ @ApiOperation(value="浏览点赞等记录表-通过id查询", notes="浏览点赞等记录表-通过id查询")
+ @GetMapping(value = "/queryById")
+ public Result queryById(@RequestParam(name="id",required=true) String id) {
+ AppletBrowseRecord appletBrowseRecord = appletBrowseRecordService.getById(id);
+ if(appletBrowseRecord==null) {
+ return Result.error("未找到对应数据");
+ }
+ return Result.OK(appletBrowseRecord);
+ }
+
+ /**
+ * 导出excel
+ *
+ * @param request
+ * @param appletBrowseRecord
+ */
+ @RequestMapping(value = "/exportXls")
+ public ModelAndView exportXls(HttpServletRequest request, AppletBrowseRecord appletBrowseRecord) {
+ return super.exportXls(request, appletBrowseRecord, AppletBrowseRecord.class, "浏览点赞等记录表");
+ }
+
+ /**
+ * 通过excel导入数据
+ *
+ * @param request
+ * @param response
+ * @return
+ */
+ @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+ public Result> importExcel(HttpServletRequest request, HttpServletResponse response) {
+ return super.importExcel(request, response, AppletBrowseRecord.class);
+ }
+
+}
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/entity/AppletBrowseRecord.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/entity/AppletBrowseRecord.java
new file mode 100644
index 0000000..841b483
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/entity/AppletBrowseRecord.java
@@ -0,0 +1,78 @@
+package org.jeecg.modules.appletBrowseRecord.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.List;
+
+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.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 浏览点赞等记录表
+ * @Author: jeecg-boot
+ * @Date: 2025-10-09
+ * @Version: V1.0
+ */
+@Data
+@TableName("applet_browse_record")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="applet_browse_record对象", description="浏览点赞等记录表")
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class AppletBrowseRecord implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**主键*/
+ @TableId(type = IdType.ASSIGN_ID)
+ @ApiModelProperty(value = "主键")
+ private java.lang.String id;
+ /**创建人*/
+ @ApiModelProperty(value = "创建人")
+ private java.lang.String createBy;
+ /**创建日期*/
+ @ApiModelProperty(value = "创建日期")
+ private java.util.Date createTime;
+ /**更新人*/
+ @ApiModelProperty(value = "更新人")
+ private java.lang.String updateBy;
+ /**更新日期*/
+ @ApiModelProperty(value = "更新日期")
+ private java.util.Date updateTime;
+ /**所属部门*/
+ @ApiModelProperty(value = "所属部门")
+ private java.lang.String sysOrgCode;
+ /**用户*/
+ @Excel(name = "用户", width = 15)
+ @ApiModelProperty(value = "用户")
+ private java.lang.String userId;
+ /**类型*/
+ @Excel(name = "类型", width = 15)
+ @ApiModelProperty(value = "类型 0帖子-1租房-2工作-3景点-4美食-5活动-6人找车-7车找人-8文章")
+ private java.lang.String type;
+ /**来源ID*/
+ @Excel(name = "来源ID", width = 15)
+ @ApiModelProperty(value = "来源ID")
+ private java.lang.String formId;
+ /**分类*/
+ @Excel(name = "分类", width = 15)
+ @ApiModelProperty(value = "分类 0浏览 1点赞 2转发")
+ private java.lang.String category;
+
+ @TableField(exist = false)
+ private HanHaiMember user;
+}
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/mapper/AppletBrowseRecordMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/mapper/AppletBrowseRecordMapper.java
new file mode 100644
index 0000000..d3002d7
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/mapper/AppletBrowseRecordMapper.java
@@ -0,0 +1,17 @@
+package org.jeecg.modules.appletBrowseRecord.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.appletBrowseRecord.entity.AppletBrowseRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 浏览点赞等记录表
+ * @Author: jeecg-boot
+ * @Date: 2025-10-09
+ * @Version: V1.0
+ */
+public interface AppletBrowseRecordMapper extends BaseMapper {
+
+}
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/mapper/xml/AppletBrowseRecordMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/mapper/xml/AppletBrowseRecordMapper.xml
new file mode 100644
index 0000000..7ab27c1
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/mapper/xml/AppletBrowseRecordMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/service/IAppletBrowseRecordService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/service/IAppletBrowseRecordService.java
new file mode 100644
index 0000000..adc3972
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/service/IAppletBrowseRecordService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.appletBrowseRecord.service;
+
+import org.jeecg.modules.appletBrowseRecord.entity.AppletBrowseRecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 浏览点赞等记录表
+ * @Author: jeecg-boot
+ * @Date: 2025-10-09
+ * @Version: V1.0
+ */
+public interface IAppletBrowseRecordService extends IService {
+
+}
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/service/impl/AppletBrowseRecordServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/service/impl/AppletBrowseRecordServiceImpl.java
new file mode 100644
index 0000000..98972c9
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/service/impl/AppletBrowseRecordServiceImpl.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.appletBrowseRecord.service.impl;
+
+import org.jeecg.modules.appletBrowseRecord.entity.AppletBrowseRecord;
+import org.jeecg.modules.appletBrowseRecord.mapper.AppletBrowseRecordMapper;
+import org.jeecg.modules.appletBrowseRecord.service.IAppletBrowseRecordService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 浏览点赞等记录表
+ * @Author: jeecg-boot
+ * @Date: 2025-10-09
+ * @Version: V1.0
+ */
+@Service
+public class AppletBrowseRecordServiceImpl extends ServiceImpl implements IAppletBrowseRecordService {
+
+}
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/AppletBrowseRecordList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/AppletBrowseRecordList.vue
new file mode 100644
index 0000000..d0b287d
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/AppletBrowseRecordList.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+
新增
+
导出
+
+ 导入
+
+
+
+
+
+ 删除
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 无图片
+
+
+
+ 无文件
+
+ 下载
+
+
+
+
+ 编辑
+
+
+
+ 更多
+
+
+ 详情
+
+
+ handleDelete(record.id)">
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/modules/AppletBrowseRecordForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/modules/AppletBrowseRecordForm.vue
new file mode 100644
index 0000000..13812c3
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/modules/AppletBrowseRecordForm.vue
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/modules/AppletBrowseRecordModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/modules/AppletBrowseRecordModal.Style#Drawer.vue
new file mode 100644
index 0000000..0f2416d
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/modules/AppletBrowseRecordModal.Style#Drawer.vue
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/modules/AppletBrowseRecordModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/modules/AppletBrowseRecordModal.vue
new file mode 100644
index 0000000..18090e0
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue/modules/AppletBrowseRecordModal.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/AppletBrowseRecord.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/AppletBrowseRecord.api.ts
new file mode 100644
index 0000000..66e539b
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/AppletBrowseRecord.api.ts
@@ -0,0 +1,61 @@
+import {defHttp} from '/@/utils/http/axios';
+import {Modal} from 'ant-design-vue';
+
+enum Api {
+ list = '/appletBrowseRecord/appletBrowseRecord/list',
+ save='/appletBrowseRecord/appletBrowseRecord/add',
+ edit='/appletBrowseRecord/appletBrowseRecord/edit',
+ deleteOne = '/appletBrowseRecord/appletBrowseRecord/delete',
+ deleteBatch = '/appletBrowseRecord/appletBrowseRecord/deleteBatch',
+ importExcel = '/appletBrowseRecord/appletBrowseRecord/importExcel',
+ exportXls = '/appletBrowseRecord/appletBrowseRecord/exportXls',
+}
+/**
+ * 导出api
+ * @param params
+ */
+export const getExportUrl = Api.exportXls;
+/**
+ * 导入api
+ */
+export const getImportUrl = Api.importExcel;
+/**
+ * 列表接口
+ * @param params
+ */
+export const list = (params) =>
+ defHttp.get({url: Api.list, params});
+
+/**
+ * 删除单个
+ */
+export const deleteOne = (params,handleSuccess) => {
+ return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
+ handleSuccess();
+ });
+}
+/**
+ * 批量删除
+ * @param params
+ */
+export const batchDelete = (params, handleSuccess) => {
+ Modal.confirm({
+ title: '确认删除',
+ content: '是否删除选中数据',
+ okText: '确认',
+ cancelText: '取消',
+ onOk: () => {
+ return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
+ handleSuccess();
+ });
+ }
+ });
+}
+/**
+ * 保存或者更新
+ * @param params
+ */
+export const saveOrUpdate = (params, isUpdate) => {
+ let url = isUpdate ? Api.edit : Api.save;
+ return defHttp.post({url: url, params});
+}
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/AppletBrowseRecord.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/AppletBrowseRecord.data.ts
new file mode 100644
index 0000000..a5e13c6
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/AppletBrowseRecord.data.ts
@@ -0,0 +1,53 @@
+import {BasicColumn} from '/@/components/Table';
+import {FormSchema} from '/@/components/Table';
+import { rules} from '/@/utils/helper/validator';
+import { render } from '/@/utils/common/renderUtils';
+//列表数据
+export const columns: BasicColumn[] = [
+ {
+ title: '用户',
+ align:"center",
+ dataIndex: 'userId'
+ },
+ {
+ title: '类型',
+ align:"center",
+ dataIndex: 'type'
+ },
+ {
+ title: '来源ID',
+ align:"center",
+ dataIndex: 'formId'
+ },
+ {
+ title: '分类',
+ align:"center",
+ dataIndex: 'category'
+ },
+];
+//查询数据
+export const searchFormSchema: FormSchema[] = [
+];
+//表单数据
+export const formSchema: FormSchema[] = [
+ {
+ label: '用户',
+ field: 'userId',
+ component: 'Input',
+ },
+ {
+ label: '类型',
+ field: 'type',
+ component: 'Input',
+ },
+ {
+ label: '来源ID',
+ field: 'formId',
+ component: 'Input',
+ },
+ {
+ label: '分类',
+ field: 'category',
+ component: 'Input',
+ },
+];
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/AppletBrowseRecordList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/AppletBrowseRecordList.vue
new file mode 100644
index 0000000..81f1404
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/AppletBrowseRecordList.vue
@@ -0,0 +1,162 @@
+
+
+
+
+
+
+ 新增
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 无文件
+ 下载
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/components/AppletBrowseRecordModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/components/AppletBrowseRecordModal.vue
new file mode 100644
index 0000000..b30e3a0
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/appletBrowseRecord/vue3/components/AppletBrowseRecordModal.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/YaoDuApiService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/YaoDuApiService.java
index 8a03f2e..b13c4e8 100644
--- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/YaoDuApiService.java
+++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/YaoDuApiService.java
@@ -50,7 +50,7 @@ public interface YaoDuApiService {
//根据帖子标识获取帖子详情
- Result> getPostDetail(String id);
+ Result> getPostDetail(String id, String token);
//根据分类获取租房信息列表带分页带搜
diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuApiServiceImpl.java
index 413cbb1..172e372 100644
--- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuApiServiceImpl.java
+++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuApiServiceImpl.java
@@ -29,6 +29,8 @@ import org.jeecg.modules.api.bean.PageBean;
import org.jeecg.modules.api.bean.WxQrCodeVo;
import org.jeecg.modules.api.service.YaoDuApiService;
import org.jeecg.modules.api.utils.WxTemplateUtil;
+import org.jeecg.modules.appletBrowseRecord.entity.AppletBrowseRecord;
+import org.jeecg.modules.appletBrowseRecord.service.IAppletBrowseRecordService;
import org.jeecg.modules.message.handle.impl.EmailSendMsgHandle;
import org.jeecg.modules.api.utils.CommentNotificationUtil;
import org.jeecg.modules.citiyClass.entity.CitiyClass;
@@ -86,6 +88,7 @@ import org.jeecg.modules.cityTrends.entity.CityTrends;
import org.jeecg.modules.cityTrends.service.ICityTrendsService;
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
@@ -194,6 +197,9 @@ public class YaoDuApiServiceImpl implements YaoDuApiService {
@Resource
private ICityGiftService cityGiftService;
+ @Autowired
+ private IAppletBrowseRecordService appletBrowseRecordService;
+
//流水记录
@Resource
private ICityIntgerWaterService cityIntgerWaterService;
@@ -365,7 +371,16 @@ public class YaoDuApiServiceImpl implements YaoDuApiService {
for (CityTrends cityTrends : page1.getRecords()) {
+
cityTrends.setIsComment(Math.toIntExact(cityCommentService.lambdaQuery().eq(CityComment::getOrderId, cityTrends.getId()).count()));
+
+ cityTrends.setIsBrowse(Math.toIntExact(appletBrowseRecordService
+ .lambdaQuery()
+ .eq(AppletBrowseRecord::getFormId, cityTrends.getId())
+ .eq(AppletBrowseRecord::getType, 0)
+ .eq(AppletBrowseRecord::getCategory, 0)
+ .count()));
+
cityTrends.setComments(cityCommentService.lambdaQuery()
.orderByDesc(CityComment::getCreateTime)
.isNull(CityComment::getPid)
@@ -410,16 +425,49 @@ public class YaoDuApiServiceImpl implements YaoDuApiService {
//根据帖子标识获取帖子详情
@Override
- public Result> getPostDetail(String id){
+ public Result> getPostDetail(String id, String token){
CityTrends cityTrends = cityTrendsService.getById(id);
- //修改帖子浏览量
- cityTrends.setIsBrowse(cityTrends.getIsBrowse() + 1);
- cityTrendsService.updateById(cityTrends);
+ // 浏览、点赞
+ if (StringUtils.isNotEmpty(token)){
+ HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
+
+ AppletBrowseRecord browseRecord = appletBrowseRecordService.lambdaQuery()
+ .eq(AppletBrowseRecord::getUserId, hanHaiMember.getId())
+ .eq(AppletBrowseRecord::getFormId, cityTrends.getId())
+ .eq(AppletBrowseRecord::getType, 0)
+ .eq(AppletBrowseRecord::getCategory, 0)
+ .one();
+
+ if (browseRecord == null){
+ AppletBrowseRecord build = AppletBrowseRecord.builder()
+ .userId(hanHaiMember.getId())
+ .type("0")
+ .category("0")
+ .formId(cityTrends.getId())
+ .build();
+ appletBrowseRecordService.save(build);
+
+ //修改帖子浏览量
+// cityTrends.setIsBrowse(cityTrends.getIsBrowse() + 1);
+// cityTrendsService.updateById(cityTrends);
+ }else {
+ browseRecord.setUpdateTime(new Date());
+ appletBrowseRecordService.updateById(browseRecord);
+ }
+ }
cityTrends.setIsComment(Math.toIntExact(cityCommentService.lambdaQuery().eq(CityComment::getOrderId, cityTrends.getId()).count()));
+
+ cityTrends.setIsBrowse(Math.toIntExact(appletBrowseRecordService
+ .lambdaQuery()
+ .eq(AppletBrowseRecord::getFormId, cityTrends.getId())
+ .eq(AppletBrowseRecord::getType, 0)
+ .eq(AppletBrowseRecord::getCategory, 0)
+ .count()));
+
//根据用户表示查询用信息
HanHaiMember one = hanHaiMemberService.getById(cityTrends.getUserId());
if(StringUtils.isBlank(one.getName())){
diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/yaoduapi/YaoDuApiController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/yaoduapi/YaoDuApiController.java
index a75b515..e4acec2 100644
--- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/yaoduapi/YaoDuApiController.java
+++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/yaoduapi/YaoDuApiController.java
@@ -8,6 +8,7 @@ import org.jeecg.modules.api.bean.PageBean;
import org.jeecg.modules.api.service.WebApiService;
import org.jeecg.modules.api.service.YaoDuApiService;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -74,8 +75,8 @@ public class YaoDuApiController {
//根据分类获取帖子详情
@ApiOperation(value="根据分类获取帖子详情")
@GetMapping(value = "/getPostDetail")
- public Result> getPostDetail(String id) {
- return yaoDuApiService.getPostDetail(id);
+ public Result> getPostDetail(String id,@RequestHeader(value = "X-Access-Token", required = false) String token) {
+ return yaoDuApiService.getPostDetail(id, token);
}
diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/yaoduapi/YaoDuBrowseRecordController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/yaoduapi/YaoDuBrowseRecordController.java
new file mode 100644
index 0000000..6dabd19
--- /dev/null
+++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/yaoduapi/YaoDuBrowseRecordController.java
@@ -0,0 +1,75 @@
+package org.jeecg.modules.api.yaoduapi;
+
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.config.shiro.ShiroRealm;
+import org.jeecg.modules.api.bean.PageBean;
+import org.jeecg.modules.appletBrowseRecord.entity.AppletBrowseRecord;
+import org.jeecg.modules.appletBrowseRecord.service.IAppletBrowseRecordService;
+import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
+import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Api(tags="瑶都万能墙接口 - 浏览、点赞等记录")
+@RestController
+@RequestMapping("/city/browseRecord")
+@Slf4j
+public class YaoDuBrowseRecordController {
+
+ //权限配置
+ @Resource
+ private ShiroRealm shiroRealm;
+
+ @Autowired
+ private IAppletBrowseRecordService appletBrowseRecordService;
+
+ @Autowired
+ private IHanHaiMemberService hanHaiMemberService;
+
+ @RequestMapping(value = "/addBrowseRecord")
+ public Result> addBrowseRecord(@RequestHeader("X-Access-Token") String token,AppletBrowseRecord record) {
+
+ HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
+
+ AppletBrowseRecord browseRecord = appletBrowseRecordService.lambdaQuery()
+ .eq(AppletBrowseRecord::getUserId, hanHaiMember.getId())
+ .eq(AppletBrowseRecord::getFormId, record.getFormId())
+ .eq(AppletBrowseRecord::getType, record.getType())
+ .eq(AppletBrowseRecord::getCategory, record.getCategory())
+ .one();
+
+ if (browseRecord != null){
+ appletBrowseRecordService.removeById(browseRecord.getId());
+ }else {
+ appletBrowseRecordService.save(record);
+ }
+ return Result.OK();
+ }
+
+ @RequestMapping(value = "/getBrowseRecordPage")
+ public Result> getBrowseRecordPage(AppletBrowseRecord record, PageBean pageBean) {
+
+ Page page = appletBrowseRecordService
+ .lambdaQuery()
+ .eq(AppletBrowseRecord::getFormId, record.getFormId())
+ .eq(AppletBrowseRecord::getType, record.getType())
+ .eq(AppletBrowseRecord::getCategory, record.getCategory())
+ .page(new Page(pageBean.getPageNo(), pageBean.getPageSize()));
+
+ for (AppletBrowseRecord appletBrowseRecord : page.getRecords()) {
+ appletBrowseRecord.setUser(hanHaiMemberService.getById(appletBrowseRecord.getUserId()));
+ }
+
+ return Result.OK(page);
+ }
+
+}