Переглянути джерело

Merge remote-tracking branch 'origin/master_feat_ysy_20250929' into master_feat_ysy_20250929

cgp 1 день тому
батько
коміт
4e00f915a8

+ 8 - 5
fs-admin/src/main/java/com/fs/his/controller/FsShareMaterialClickRecordController.java

@@ -1,6 +1,9 @@
 package com.fs.his.controller;
 
 import java.util.List;
+
+import com.fs.his.param.FsShareMaterialClickRecordParam;
+import com.fs.his.vo.FsShareMaterialClickRecordVO;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -38,10 +41,10 @@ public class FsShareMaterialClickRecordController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('his:shareMaterialRecord:list')")
     @GetMapping("/list")
-    public TableDataInfo list(FsShareMaterialClickRecord fsShareMaterialClickRecord)
+    public TableDataInfo list(FsShareMaterialClickRecordParam param)
     {
         startPage();
-        List<FsShareMaterialClickRecord> list = fsShareMaterialClickRecordService.selectFsShareMaterialClickRecordList(fsShareMaterialClickRecord);
+        List<FsShareMaterialClickRecordVO> list = fsShareMaterialClickRecordService.selectFsShareMaterialClickRecordListVO(param);
         return getDataTable(list);
     }
 
@@ -51,10 +54,10 @@ public class FsShareMaterialClickRecordController extends BaseController
     @PreAuthorize("@ss.hasPermi('his:shareMaterialRecord:export')")
     @Log(title = "分享素材点击统计", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
-    public AjaxResult export(FsShareMaterialClickRecord fsShareMaterialClickRecord)
+    public AjaxResult export(FsShareMaterialClickRecordParam param)
     {
-        List<FsShareMaterialClickRecord> list = fsShareMaterialClickRecordService.selectFsShareMaterialClickRecordList(fsShareMaterialClickRecord);
-        ExcelUtil<FsShareMaterialClickRecord> util = new ExcelUtil<FsShareMaterialClickRecord>(FsShareMaterialClickRecord.class);
+        List<FsShareMaterialClickRecordVO> list = fsShareMaterialClickRecordService.selectFsShareMaterialClickRecordListVO(param);
+        ExcelUtil<FsShareMaterialClickRecordVO> util = new ExcelUtil<FsShareMaterialClickRecordVO>(FsShareMaterialClickRecordVO.class);
         return util.exportExcel(list, "分享素材点击统计数据");
     }
 

+ 0 - 5
fs-service/src/main/java/com/fs/his/domain/FsShareMaterialClickRecord.java

@@ -65,9 +65,4 @@ public class FsShareMaterialClickRecord{
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Date updateTime;
 
-    @TableField(exist = false)
-    private String beginCreateTime;
-
-    @TableField(exist = false)
-    private String endCreateTime;
 }

+ 4 - 0
fs-service/src/main/java/com/fs/his/mapper/FsShareMaterialClickRecordMapper.java

@@ -3,6 +3,8 @@ package com.fs.his.mapper;
 import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fs.his.domain.FsShareMaterialClickRecord;
+import com.fs.his.param.FsShareMaterialClickRecordParam;
+import com.fs.his.vo.FsShareMaterialClickRecordVO;
 
 /**
  * 分享素材点击统计Mapper接口
@@ -58,4 +60,6 @@ public interface FsShareMaterialClickRecordMapper extends BaseMapper<FsShareMate
      * @return 结果
      */
     int deleteFsShareMaterialClickRecordByIds(Long[] ids);
+
+    List<FsShareMaterialClickRecordVO> selectFsShareMaterialClickRecordListVO(FsShareMaterialClickRecordParam  param);
 }

+ 18 - 0
fs-service/src/main/java/com/fs/his/param/FsShareMaterialClickRecordParam.java

@@ -0,0 +1,18 @@
+package com.fs.his.param;
+
+import lombok.Data;
+
+@Data
+public class FsShareMaterialClickRecordParam {
+    private String materialName;
+
+    private String userName;
+
+    private String companyUserName;
+
+    private String companyName;
+
+    private String beginCreateTime;
+
+    private String endCreateTime;
+}

+ 4 - 0
fs-service/src/main/java/com/fs/his/service/IFsShareMaterialClickRecordService.java

@@ -4,7 +4,9 @@ import java.util.List;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fs.common.core.domain.R;
 import com.fs.his.domain.FsShareMaterialClickRecord;
+import com.fs.his.param.FsShareMaterialClickRecordParam;
 import com.fs.his.param.ShareMaterialClickRecordUParam;
+import com.fs.his.vo.FsShareMaterialClickRecordVO;
 
 /**
  * 分享素材点击统计Service接口
@@ -62,4 +64,6 @@ public interface IFsShareMaterialClickRecordService extends IService<FsShareMate
     int deleteFsShareMaterialClickRecordById(Long id);
 
     R addShareMaterialClickRecord(ShareMaterialClickRecordUParam param);
+
+    List<FsShareMaterialClickRecordVO> selectFsShareMaterialClickRecordListVO(FsShareMaterialClickRecordParam param);
 }

+ 8 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsShareMaterialClickRecordServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fs.his.service.impl;
 
+import java.util.Collections;
 import java.util.List;
 
 import com.fs.common.core.domain.R;
@@ -11,7 +12,9 @@ import com.fs.his.domain.FsShareMaterial;
 import com.fs.his.domain.FsUser;
 import com.fs.his.mapper.FsShareMaterialMapper;
 import com.fs.his.mapper.FsUserMapper;
+import com.fs.his.param.FsShareMaterialClickRecordParam;
 import com.fs.his.param.ShareMaterialClickRecordUParam;
+import com.fs.his.vo.FsShareMaterialClickRecordVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.fs.his.mapper.FsShareMaterialClickRecordMapper;
@@ -146,4 +149,9 @@ public class FsShareMaterialClickRecordServiceImpl extends ServiceImpl<FsShareMa
         }
         return R.error("添加失败");
     }
+
+    @Override
+    public List<FsShareMaterialClickRecordVO> selectFsShareMaterialClickRecordListVO(FsShareMaterialClickRecordParam param) {
+        return fsShareMaterialClickRecordMapper.selectFsShareMaterialClickRecordListVO(param);
+    }
 }

+ 41 - 0
fs-service/src/main/java/com/fs/his/vo/FsShareMaterialClickRecordVO.java

@@ -0,0 +1,41 @@
+package com.fs.his.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class FsShareMaterialClickRecordVO {
+    private Long id;
+
+    /** 用户名称 */
+    @Excel(name = "用户名称")
+    private String userName;
+
+    /** 素材id */
+    @Excel(name = "素材名称")
+    private String materialName;
+
+    /** 微信union_id */
+    @Excel(name = "微信union_id")
+    private String unionId;
+
+    /** 用户头像 */
+    @Excel(name = "用户头像")
+    private String avatar;
+
+    /** 销售名称 */
+    @Excel(name = "销售名称")
+    private String companyUserName;
+
+    /** 销售公司 */
+    @Excel(name = "销售公司")
+    private String companyName;
+
+    @Excel(name = "点击时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+}

+ 17 - 1
fs-service/src/main/resources/mapper/his/FsShareMaterialClickRecordMapper.xml

@@ -29,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="companyUserId != null "> and company_user_id = #{companyUserId}</if>
             <if test="unionId != null  and unionId != ''"> and union_id = #{unionId}</if>
             <if test="materialId != null "> and material_id = #{materialId}</if>
-            <if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
+            <if test="beginCreateTime != null and beginCreateTime != '' and endCreateTime != null and endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
             <if test="avatar != null  and avatar != ''"> and avatar = #{avatar}</if>
             <if test="userName != null  and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
             <if test="companyUserName != null  and companyUserName != ''"> and company_user_name like concat('%', #{companyUserName}, '%')</if>
@@ -97,4 +97,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
         </foreach>
     </delete>
+
+    <select id="selectFsShareMaterialClickRecordListVO" parameterType="com.fs.his.param.FsShareMaterialClickRecordParam" resultType="com.fs.his.vo.FsShareMaterialClickRecordVO">
+        select r.user_name,r.union_id,r.avatar,
+        r.company_user_name,r.create_time,c.company_name,m.material_name
+        FROM fs_share_material_click_record r
+        LEFT JOIN company c ON c.company_id = r.company_id
+        LEFT JOIN fs_share_material m ON m.id =  r.material_id
+        <where>
+            <if test="materialName != null "> and m.material_name like concat('%', #{materialName}, '%')</if>
+            <if test="beginCreateTime != null and beginCreateTime != '' and endCreateTime != null and endCreateTime != ''"> and r.create_time between #{beginCreateTime} and #{endCreateTime}</if>
+            <if test="userName != null  and userName != ''"> and r.user_name like concat('%', #{userName}, '%')</if>
+            <if test="companyUserName != null  and companyUserName != ''"> and r.company_user_name like concat('%', #{companyUserName}, '%')</if>
+            <if test="companyName != null "> and c.company_name like concat('%', #{companyName}, '%')</if>
+        </where>
+        order by r.create_time desc
+    </select>
 </mapper>