diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiChatItemController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiChatItemController.java new file mode 100644 index 0000000..d5e3180 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiChatItemController.java @@ -0,0 +1,63 @@ +package com.ruoyi.busi.controller; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.busi.domain.BusiChatItem; +import com.ruoyi.busi.service.IBusiChatItemService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 在线聊天记录Controller + * + * @author vinjor-m + * @date 2025-07-03 + */ +@RestController +@RequestMapping("/busi/chatItem") +public class BusiChatItemController extends BaseController +{ + @Autowired + private IBusiChatItemService busiChatItemService; + + /** + * 查询在线聊天记录列表 + */ + @GetMapping("/list") + public AjaxResult list(BusiChatItem busiChatItem) + { + return success(busiChatItemService.queryList(busiChatItem)); + } + + /** + * 导出在线聊天记录列表 + */ + @Log(title = "在线聊天记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BusiChatItem busiChatItem) + { + List list = busiChatItemService.list(); + ExcelUtil util = new ExcelUtil(BusiChatItem.class); + util.exportExcel(response, list, "在线聊天记录数据"); + } + +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiChatMainController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiChatMainController.java new file mode 100644 index 0000000..731350b --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiChatMainController.java @@ -0,0 +1,113 @@ +package com.ruoyi.busi.controller; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.busi.vo.ChatMainVO; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.busi.domain.BusiChatMain; +import com.ruoyi.busi.service.IBusiChatMainService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 在线聊天Controller + * + * @author vinjor-m + * @date 2025-07-03 + */ +@RestController +@RequestMapping("/busi/chatMain") +public class BusiChatMainController extends BaseController +{ + @Autowired + private IBusiChatMainService busiChatMainService; + + /** + * 查询在线聊天列表 + */ + @PreAuthorize("@ss.hasPermi('busi:chatMain:list')") + @GetMapping("/list") + public AjaxResult list(ChatMainVO busiChatMain, + @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) + { + Page page = new Page<>(pageNum, pageSize); + IPage list = busiChatMainService.queryListPage(busiChatMain,page); + return success(list); + } + + /** + * 导出在线聊天列表 + */ + @PreAuthorize("@ss.hasPermi('busi:chatMain:export')") + @Log(title = "在线聊天", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BusiChatMain busiChatMain) + { + List list = busiChatMainService.list(); + ExcelUtil util = new ExcelUtil(BusiChatMain.class); + util.exportExcel(response, list, "在线聊天数据"); + } + + /** + * 获取在线聊天详细信息 + */ + @PreAuthorize("@ss.hasPermi('busi:chatMain:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(busiChatMainService.getById(id)); + } + + /** + * 新增在线聊天 + */ + @PreAuthorize("@ss.hasPermi('busi:chatMain:add')") + @Log(title = "在线聊天", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BusiChatMain busiChatMain) + { + return toAjax(busiChatMainService.save(busiChatMain)); + } + + /** + * 修改在线聊天 + */ + @PreAuthorize("@ss.hasPermi('busi:chatMain:edit')") + @Log(title = "在线聊天", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BusiChatMain busiChatMain) + { + return toAjax(busiChatMainService.updateById(busiChatMain)); + } + + /** + * 删除在线聊天 + */ + @PreAuthorize("@ss.hasPermi('busi:chatMain:remove')") + @Log(title = "在线聊天", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + List list = new ArrayList<>(Arrays.asList(ids)); + return toAjax(busiChatMainService.removeByIds(list)); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiThirdItemController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiThirdItemController.java new file mode 100644 index 0000000..3627d1f --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiThirdItemController.java @@ -0,0 +1,109 @@ +package com.ruoyi.busi.controller; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.busi.vo.ThirdVO; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.busi.domain.BusiThirdItem; +import com.ruoyi.busi.service.IBusiThirdItemService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 三方程序跳转记录Controller + * + * @author vinjor-m + * @date 2025-07-02 + */ +@RestController +@RequestMapping("/busi/thirdItem") +public class BusiThirdItemController extends BaseController +{ + @Autowired + private IBusiThirdItemService busiThirdItemService; + + /** + * 查询三方程序跳转记录列表 + */ + @PreAuthorize("@ss.hasPermi('busi:thirdItem:list')") + @GetMapping("/list") + public AjaxResult list(ThirdVO busiThirdItem, + @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) + { + Page page = new Page<>(pageNum, pageSize); + IPage list = busiThirdItemService.queryListPage(busiThirdItem,page); + return success(list); + } + + /** + * 导出三方程序跳转记录列表 + */ + @PreAuthorize("@ss.hasPermi('busi:thirdItem:export')") + @Log(title = "三方程序跳转记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BusiThirdItem busiThirdItem) + { + List list = busiThirdItemService.list(); + ExcelUtil util = new ExcelUtil(BusiThirdItem.class); + util.exportExcel(response, list, "三方程序跳转记录数据"); + } + + /** + * 获取三方程序跳转记录详细信息 + */ + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(busiThirdItemService.getById(id)); + } + + /** + * 新增三方程序跳转记录 + */ + @Log(title = "三方程序跳转记录", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BusiThirdItem busiThirdItem) + { + return toAjax(busiThirdItemService.save(busiThirdItem)); + } + + /** + * 修改三方程序跳转记录 + */ + @Log(title = "三方程序跳转记录", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BusiThirdItem busiThirdItem) + { + return toAjax(busiThirdItemService.updateById(busiThirdItem)); + } + + /** + * 删除三方程序跳转记录 + */ + @Log(title = "三方程序跳转记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + List list = new ArrayList<>(Arrays.asList(ids)); + return toAjax(busiThirdItemService.removeByIds(list)); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiChatItem.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiChatItem.java new file mode 100644 index 0000000..5ff8f28 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiChatItem.java @@ -0,0 +1,47 @@ +package com.ruoyi.busi.domain; + +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; +import com.ruoyi.common.core.domain.DlBaseEntity; + +/** + * 在线聊天记录对象 dl_busi_chat_item + * + * @author vinjor-m + * @date 2025-07-03 + */ +@TableName("dl_busi_chat_item") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BusiChatItem extends DlBaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + + /** 主表id */ + @Excel(name = "主表id") + private String mainId; + + /** 发送方 */ + @Excel(name = "发送方") + private String dataFrom; + + /** 聊天内容 */ + @Excel(name = "聊天内容") + private String content; + + /** 站点唯一编码(租户id) */ + @Excel(name = "站点唯一编码", readConverterExp = "租=户id") + private String tenantId; + +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiChatMain.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiChatMain.java new file mode 100644 index 0000000..44230ab --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiChatMain.java @@ -0,0 +1,62 @@ +package com.ruoyi.busi.domain; + +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; +import com.ruoyi.common.core.domain.DlBaseEntity; + +/** + * 在线聊天对象 dl_busi_chat_main + * + * @author vinjor-m + * @date 2025-07-03 + */ +@TableName("dl_busi_chat_main") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BusiChatMain extends DlBaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + + /** 产品id */ + @Excel(name = "产品id") + private String prodId; + + /** 来源IP */ + @Excel(name = "来源IP") + private String ip; + + /** 来源国家 */ + @Excel(name = "来源国家") + private String national; + + /** 来源洲 */ + @Excel(name = "来源洲") + private String oceania; + /** 聊天记录数 */ + @Excel(name = "聊天记录数") + private Integer nums; + + /** 浏览器唯一编码(客户方) */ + @Excel(name = "浏览器唯一编码", readConverterExp = "客=户方") + private String cusCode; + + /** 员工id */ + @Excel(name = "员工id") + private String userId; + + /** 站点唯一编码(租户id) */ + @Excel(name = "站点唯一编码", readConverterExp = "租=户id") + private String tenantId; + +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiThirdItem.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiThirdItem.java new file mode 100644 index 0000000..9a8c719 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiThirdItem.java @@ -0,0 +1,67 @@ +package com.ruoyi.busi.domain; + +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; +import com.ruoyi.common.core.domain.DlBaseEntity; + +/** + * 三方程序跳转记录对象 dl_busi_third_item + * + * @author vinjor-m + * @date 2025-07-02 + */ +@TableName("dl_busi_third_item") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BusiThirdItem extends DlBaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + + /** 产品id */ + @Excel(name = "产品id") + private String prodId; + + /** 三方程序类型 */ + @Excel(name = "三方程序类型") + private String thirdSoft; + + /** 来源国家 */ + @Excel(name = "来源国家") + private String national; + + /** 所属email/电话/teams账户 */ + @Excel(name = "所属email/电话/teams账户") + private String thirdAccount; + + /** 浏览记录 */ + @Excel(name = "浏览记录") + private String viewType; + + /** 页面路径 */ + @Excel(name = "页面路径") + private String pageUrl; + + /** 设备类型 */ + @Excel(name = "设备类型") + private String equipment; + + /** 来源IP */ + @Excel(name = "来源IP") + private String ip; + + /** 站点唯一编码(租户id) */ + @Excel(name = "站点唯一编码", readConverterExp = "租=户id") + private String tenantId; + +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiChatItemMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiChatItemMapper.java new file mode 100644 index 0000000..800fbe4 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiChatItemMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.busi.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.busi.domain.BusiChatItem; +import com.ruoyi.busi.vo.ChatItemVO; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 在线聊天记录Mapper接口 + * + * @author vinjor-m + * @date 2025-07-03 + */ +@Mapper +public interface BusiChatItemMapper extends BaseMapper +{ + IPage queryListPage(@Param("entity") BusiChatItem entity, Page page); + + List selectListData(@Param("entity")BusiChatItem entity); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiChatMainMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiChatMainMapper.java new file mode 100644 index 0000000..cd3f115 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiChatMainMapper.java @@ -0,0 +1,22 @@ +package com.ruoyi.busi.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.busi.domain.BusiChatMain; +import com.ruoyi.busi.vo.ChatMainVO; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 在线聊天Mapper接口 + * + * @author vinjor-m + * @date 2025-07-03 + */ +@Mapper +public interface BusiChatMainMapper extends BaseMapper +{ + IPage queryListPage(@Param("entity") ChatMainVO entity, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiThirdItemMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiThirdItemMapper.java new file mode 100644 index 0000000..06e54b2 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiThirdItemMapper.java @@ -0,0 +1,22 @@ +package com.ruoyi.busi.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.busi.domain.BusiThirdItem; +import com.ruoyi.busi.vo.ThirdVO; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 三方程序跳转记录Mapper接口 + * + * @author vinjor-m + * @date 2025-07-02 + */ +@Mapper +public interface BusiThirdItemMapper extends BaseMapper +{ + IPage queryListPage(@Param("entity") ThirdVO entity, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiChatItemService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiChatItemService.java new file mode 100644 index 0000000..ac138cf --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiChatItemService.java @@ -0,0 +1,19 @@ +package com.ruoyi.busi.service; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.busi.domain.BusiChatItem; +import com.ruoyi.busi.vo.ChatItemVO; + +/** + * 在线聊天记录Service接口 + * + * @author vinjor-m + * @date 2025-07-03 + */ +public interface IBusiChatItemService extends IService +{ + List queryList(BusiChatItem pageReqVO); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiChatMainService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiChatMainService.java new file mode 100644 index 0000000..e9458e0 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiChatMainService.java @@ -0,0 +1,19 @@ +package com.ruoyi.busi.service; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.busi.domain.BusiChatMain; +import com.ruoyi.busi.vo.ChatMainVO; + +/** + * 在线聊天Service接口 + * + * @author vinjor-m + * @date 2025-07-03 + */ +public interface IBusiChatMainService extends IService +{ + IPage queryListPage(ChatMainVO pageReqVO, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiThirdItemService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiThirdItemService.java new file mode 100644 index 0000000..8e2fcc7 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiThirdItemService.java @@ -0,0 +1,19 @@ +package com.ruoyi.busi.service; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.busi.domain.BusiThirdItem; +import com.ruoyi.busi.vo.ThirdVO; + +/** + * 三方程序跳转记录Service接口 + * + * @author vinjor-m + * @date 2025-07-02 + */ +public interface IBusiThirdItemService extends IService +{ + IPage queryListPage(ThirdVO pageReqVO, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiChatItemServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiChatItemServiceImpl.java new file mode 100644 index 0000000..c234300 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiChatItemServiceImpl.java @@ -0,0 +1,34 @@ +package com.ruoyi.busi.service.impl; + +import java.util.List; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.busi.vo.ChatItemVO; +import com.ruoyi.common.core.domain.DlBaseEntity; +import com.ruoyi.common.utils.DateUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.busi.mapper.BusiChatItemMapper; +import com.ruoyi.busi.domain.BusiChatItem; +import com.ruoyi.busi.service.IBusiChatItemService; + +/** + * 在线聊天记录Service业务层处理 + * + * @author vinjor-m + * @date 2025-07-03 + */ +@Service +public class BusiChatItemServiceImpl extends ServiceImpl implements IBusiChatItemService +{ + @Autowired + private BusiChatItemMapper busiChatItemMapper; + + @Override + public List queryList(BusiChatItem pageReqVO) { + return busiChatItemMapper.selectListData(pageReqVO); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiChatMainServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiChatMainServiceImpl.java new file mode 100644 index 0000000..58965bc --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiChatMainServiceImpl.java @@ -0,0 +1,32 @@ +package com.ruoyi.busi.service.impl; + +import java.util.List; + +import com.ruoyi.busi.vo.ChatMainVO; +import com.ruoyi.common.utils.DateUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.busi.mapper.BusiChatMainMapper; +import com.ruoyi.busi.domain.BusiChatMain; +import com.ruoyi.busi.service.IBusiChatMainService; + +/** + * 在线聊天Service业务层处理 + * + * @author vinjor-m + * @date 2025-07-03 + */ +@Service +public class BusiChatMainServiceImpl extends ServiceImpl implements IBusiChatMainService +{ + @Autowired + private BusiChatMainMapper busiChatMainMapper; + + @Override + public IPage queryListPage(ChatMainVO pageReqVO, Page page) { + return busiChatMainMapper.queryListPage(pageReqVO, page); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiThirdItemServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiThirdItemServiceImpl.java new file mode 100644 index 0000000..b25a0de --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiThirdItemServiceImpl.java @@ -0,0 +1,39 @@ +package com.ruoyi.busi.service.impl; + +import java.util.List; + +import com.ruoyi.busi.vo.ThirdVO; +import com.ruoyi.common.utils.DateUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.utils.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.busi.mapper.BusiThirdItemMapper; +import com.ruoyi.busi.domain.BusiThirdItem; +import com.ruoyi.busi.service.IBusiThirdItemService; + +/** + * 三方程序跳转记录Service业务层处理 + * + * @author vinjor-m + * @date 2025-07-02 + */ +@Service +public class BusiThirdItemServiceImpl extends ServiceImpl implements IBusiThirdItemService +{ + @Autowired + private BusiThirdItemMapper busiThirdItemMapper; + + @Override + public IPage queryListPage(ThirdVO pageReqVO, Page page) { + if(StringUtils.isNotEmpty(pageReqVO.getStartDate())){ + pageReqVO.setStartDate(pageReqVO.getStartDate()+" 00:00:00"); + } + if(StringUtils.isNotEmpty(pageReqVO.getEndDate())){ + pageReqVO.setEndDate(pageReqVO.getEndDate()+" 23:59:59"); + } + return busiThirdItemMapper.queryListPage(pageReqVO, page); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ChatItemVO.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ChatItemVO.java new file mode 100644 index 0000000..67b0ed0 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ChatItemVO.java @@ -0,0 +1,13 @@ +package com.ruoyi.busi.vo; + +import com.ruoyi.busi.domain.BusiChatItem; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class ChatItemVO extends BusiChatItem { + /** 用户头像 */ + private String userImg; +} + diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ChatMainVO.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ChatMainVO.java new file mode 100644 index 0000000..d010375 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ChatMainVO.java @@ -0,0 +1,22 @@ +package com.ruoyi.busi.vo; + +import com.ruoyi.busi.domain.BusiChatMain; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class ChatMainVO extends BusiChatMain { + /** 产品名称 */ + private String prodName; + /** 用户名称 */ + private String userName; + + /** 站点名称 */ + private String siteName; + + /** 时间范围-开始 */ + private String startDate; + /** 时间范围-结束 */ + private String endDate; +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ThirdVO.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ThirdVO.java new file mode 100644 index 0000000..107a4d4 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ThirdVO.java @@ -0,0 +1,19 @@ +package com.ruoyi.busi.vo; + +import com.ruoyi.busi.domain.BusiThirdItem; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; +import java.util.List; + +@EqualsAndHashCode(callSuper = true) +@Data +public class ThirdVO extends BusiThirdItem { + /** 产品名称 */ + private String prodName; + /** 时间范围-开始 */ + private String startDate; + /** 时间范围-结束 */ + private String endDate; +} diff --git a/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiChatItemMapper.xml b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiChatItemMapper.xml new file mode 100644 index 0000000..92b607f --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiChatItemMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + select id, main_id, data_from, content, tenant_id, creator, create_time, updater, update_time, del_flag from dl_busi_chat_item + + + + + \ No newline at end of file diff --git a/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiChatMainMapper.xml b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiChatMainMapper.xml new file mode 100644 index 0000000..28f8c85 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiChatMainMapper.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, + prod_id, + ip, national, oceania, nums, cus_code, user_id, tenant_id, creator, create_time, updater, update_time, del_flag + from dl_busi_chat_main + + + + \ No newline at end of file diff --git a/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiThirdItemMapper.xml b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiThirdItemMapper.xml new file mode 100644 index 0000000..8b68abc --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiThirdItemMapper.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select id, + prod_id, + third_soft, national, third_account, view_type, page_url, equipment, ip, tenant_id, creator, create_time, updater, update_time, del_flag + from dl_busi_third_item + + + + \ No newline at end of file diff --git a/dl_vue/src/api/busi/chatItem.js b/dl_vue/src/api/busi/chatItem.js new file mode 100644 index 0000000..ec334ae --- /dev/null +++ b/dl_vue/src/api/busi/chatItem.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询在线聊天记录列表 +export function listChatItem(query) { + return request({ + url: '/busi/chatItem/list', + method: 'get', + params: query + }) +} + +// 查询在线聊天记录详细 +export function getChatItem(id) { + return request({ + url: '/busi/chatItem/' + id, + method: 'get' + }) +} + +// 新增在线聊天记录 +export function addChatItem(data) { + return request({ + url: '/busi/chatItem', + method: 'post', + data: data + }) +} + +// 修改在线聊天记录 +export function updateChatItem(data) { + return request({ + url: '/busi/chatItem', + method: 'put', + data: data + }) +} + +// 删除在线聊天记录 +export function delChatItem(id) { + return request({ + url: '/busi/chatItem/' + id, + method: 'delete' + }) +} diff --git a/dl_vue/src/api/busi/chatMain.js b/dl_vue/src/api/busi/chatMain.js new file mode 100644 index 0000000..f2f048e --- /dev/null +++ b/dl_vue/src/api/busi/chatMain.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询在线聊天列表 +export function listChatMain(query) { + return request({ + url: '/busi/chatMain/list', + method: 'get', + params: query + }) +} + +// 查询在线聊天详细 +export function getChatMain(id) { + return request({ + url: '/busi/chatMain/' + id, + method: 'get' + }) +} + +// 新增在线聊天 +export function addChatMain(data) { + return request({ + url: '/busi/chatMain', + method: 'post', + data: data + }) +} + +// 修改在线聊天 +export function updateChatMain(data) { + return request({ + url: '/busi/chatMain', + method: 'put', + data: data + }) +} + +// 删除在线聊天 +export function delChatMain(id) { + return request({ + url: '/busi/chatMain/' + id, + method: 'delete' + }) +} diff --git a/dl_vue/src/api/busi/thirdItem.js b/dl_vue/src/api/busi/thirdItem.js new file mode 100644 index 0000000..fe039fd --- /dev/null +++ b/dl_vue/src/api/busi/thirdItem.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询三方程序跳转记录列表 +export function listThirdItem(query) { + return request({ + url: '/busi/thirdItem/list', + method: 'get', + params: query + }) +} + +// 查询三方程序跳转记录详细 +export function getThirdItem(id) { + return request({ + url: '/busi/thirdItem/' + id, + method: 'get' + }) +} + +// 新增三方程序跳转记录 +export function addThirdItem(data) { + return request({ + url: '/busi/thirdItem', + method: 'post', + data: data + }) +} + +// 修改三方程序跳转记录 +export function updateThirdItem(data) { + return request({ + url: '/busi/thirdItem', + method: 'put', + data: data + }) +} + +// 删除三方程序跳转记录 +export function delThirdItem(id) { + return request({ + url: '/busi/thirdItem/' + id, + method: 'delete' + }) +} diff --git a/dl_vue/src/assets/images/customer.jpg b/dl_vue/src/assets/images/customer.jpg new file mode 100644 index 0000000..d93ed40 Binary files /dev/null and b/dl_vue/src/assets/images/customer.jpg differ diff --git a/dl_vue/src/assets/images/pay.png b/dl_vue/src/assets/images/pay.png deleted file mode 100644 index bb8b967..0000000 Binary files a/dl_vue/src/assets/images/pay.png and /dev/null differ diff --git a/dl_vue/src/assets/images/profile.jpg b/dl_vue/src/assets/images/profile.jpg deleted file mode 100644 index b3a940b..0000000 Binary files a/dl_vue/src/assets/images/profile.jpg and /dev/null differ diff --git a/dl_vue/src/store/modules/user.js b/dl_vue/src/store/modules/user.js index 63e6ba2..7ee24dd 100644 --- a/dl_vue/src/store/modules/user.js +++ b/dl_vue/src/store/modules/user.js @@ -1,7 +1,6 @@ import { login, logout, getInfo } from '@/api/login' import { getToken, setToken, removeToken } from '@/utils/auth' import { isHttp, isEmpty } from "@/utils/validate" -import defAva from '@/assets/images/profile.jpg' const user = { state: { @@ -59,7 +58,7 @@ const user = { const user = res.user let avatar = user.avatar || "" if (!isHttp(avatar)) { - avatar = (isEmpty(avatar)) ? defAva : process.env.VUE_APP_BASE_API + avatar + avatar = (isEmpty(avatar)) ? '' : process.env.VUE_APP_BASE_API + avatar } if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 commit('SET_ROLES', res.roles) diff --git a/dl_vue/src/views/base/info/index.vue b/dl_vue/src/views/base/info/index.vue index 98766f9..feaa98e 100644 --- a/dl_vue/src/views/base/info/index.vue +++ b/dl_vue/src/views/base/info/index.vue @@ -41,7 +41,14 @@ - +
+ + + + +
diff --git a/dl_vue/src/views/busi/chatMain/chatForm.vue b/dl_vue/src/views/busi/chatMain/chatForm.vue new file mode 100644 index 0000000..e154551 --- /dev/null +++ b/dl_vue/src/views/busi/chatMain/chatForm.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/dl_vue/src/views/busi/chatMain/index.vue b/dl_vue/src/views/busi/chatMain/index.vue new file mode 100644 index 0000000..a405619 --- /dev/null +++ b/dl_vue/src/views/busi/chatMain/index.vue @@ -0,0 +1,266 @@ + + + diff --git a/dl_vue/src/views/statistics/thirdItem/countryChart.vue b/dl_vue/src/views/statistics/thirdItem/countryChart.vue new file mode 100644 index 0000000..f8d3112 --- /dev/null +++ b/dl_vue/src/views/statistics/thirdItem/countryChart.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/dl_vue/src/views/statistics/thirdItem/index.vue b/dl_vue/src/views/statistics/thirdItem/index.vue new file mode 100644 index 0000000..f2279cc --- /dev/null +++ b/dl_vue/src/views/statistics/thirdItem/index.vue @@ -0,0 +1,468 @@ + + + diff --git a/dl_vue/src/views/statistics/thirdItem/inquiryChart.vue b/dl_vue/src/views/statistics/thirdItem/inquiryChart.vue new file mode 100644 index 0000000..0ccb7cd --- /dev/null +++ b/dl_vue/src/views/statistics/thirdItem/inquiryChart.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/dl_vue/src/views/system/user/selectAllUser.vue b/dl_vue/src/views/system/user/selectAllUser.vue index 783c4a5..1b540ca 100644 --- a/dl_vue/src/views/system/user/selectAllUser.vue +++ b/dl_vue/src/views/system/user/selectAllUser.vue @@ -27,7 +27,7 @@ - +