Browse Source

【修改】弹框日志调整

lichen 4 tuần trước cách đây
mục cha
commit
4b3485e0e8

+ 20 - 7
suishenbang-admin/src/main/resources/templates/system/upvoteLog/upvoteLog.html

@@ -92,6 +92,13 @@
                     title : '日志编号',
                     visible: false
                 },
+                {
+                    field : 'alertTitle',
+                    title : '弹框标题',
+                    formatter: function(value, row, index) {
+                        return $.table.tooltip(value); // 使用tooltip显示完整内容
+                    }
+                },
                 {
                     field : 'userId',
                     title : '用户id',
@@ -108,6 +115,7 @@
                 {
                     field : 'orgName',
                     title : '组织架构',
+                    visible: false
                 },
                 {
                     field : 'postName',
@@ -130,13 +138,6 @@
                     title : '弹框配置id',
                     visible: false
                 },
-                {
-                    field : 'alertTitle',
-                    title : '弹框标题',
-                    formatter: function(value, row, index) {
-                        return $.table.tooltip(value); // 使用tooltip显示完整内容
-                    }
-                },
                 {
                     field : 'alertContent',
                     title : '弹框内容',
@@ -164,6 +165,18 @@
                     },
                     visible: false
                 },
+                {
+                    field : 'companyName',
+                    title : '公司'
+                },
+                {
+                    field : 'officeName',
+                    title : '大区'
+                },
+                {
+                    field : 'subOfficeName',
+                    title : '销售部'
+                },
                 {
                     field : 'createTime',
                     title : '操作时间'

+ 28 - 18
suishenbang-system/src/main/java/com/dgtly/system/domain/AlertUpvoteLog.java

@@ -33,26 +33,39 @@ public class AlertUpvoteLog extends BaseEntity
     /** 用户id */
 //    @Excel(name = "用户id")
     private Long userId;
-
-    /** 登录名称 */
-    @Excel(name = "登录名称")
-    private String loginName;
-
-    /** 用户名称 */
-    @Excel(name = "用户名称")
-    private String userName;
-    /** 员工号 */
-    @Excel(name = "员工号")
-    private String sapEmployeeId;
     /** 组织架构 */
-    @Excel(name = "组织架构")
+//    @Excel(name = "组织架构")
     private String orgName;
-    /** 岗位 */
-    @Excel(name = "岗位")
-    private String postName;
     /** 弹框标题 */
     @Excel(name = "弹框标题")
     private String alertTitle;
+    /** 用户名称 */
+    @Excel(name = "用户姓名")
+    private String userName;
+    /** 登录名称 */
+    @Excel(name = "用户账号")
+    private String loginName;
+    /** 岗位 */
+    @Excel(name = "岗位")
+    private String postName;
+    /** 员工号 */
+    @Excel(name = "员工号")
+    private String sapEmployeeId;
+    /** 点赞状态。0: 无;1:赞;2:踩 */
+    @Excel(name = "点赞状态")
+    private String statusName;
+    /** 公司 */
+    @Excel(name = "公司")
+    private String companyName;
+    /** 大区 */
+    @Excel(name = "大区")
+    private String officeName;
+    /** 销售部 */
+    @Excel(name = "销售部")
+    private String subOfficeName;
+    /** 级别 */
+    private String salesLevel;
+
     /** 弹框内容 */
 //    @Excel(name = "弹框内容")
     private String alertContent;
@@ -64,9 +77,6 @@ public class AlertUpvoteLog extends BaseEntity
     /** 点赞状态。0: 无;1:赞;2:踩 */
 //    @Excel(name = "点赞状态。0: 无;1:赞;2:踩")
     private Integer status;
-    /** 点赞状态。0: 无;1:赞;2:踩 */
-    @Excel(name = "点赞状态")
-    private String statusName;
     //用于查询
     private Date startTime;
     private Date endTime;

+ 4 - 0
suishenbang-system/src/main/java/com/dgtly/system/mapper/AlertUpvoteLogMapper.java

@@ -71,4 +71,8 @@ public interface AlertUpvoteLogMapper
      * @date 2024-12-25 11:12
      */
     public AlertUpvoteLog selectUpvoteByUidAndAid(@Param("userId") Long userId, @Param("alertId")Long alertId);
+
+    public AlertUpvoteLog selectMasterNameByCode(@Param("customerCode") String customerCode,
+                                                 @Param("salesOfficeCode")String salesOfficeCode,
+                                                 @Param("salesGroupCode")String salesGroupCode);
 }

+ 2 - 0
suishenbang-system/src/main/java/com/dgtly/system/mapper/SysUserMapper.java

@@ -239,4 +239,6 @@ public interface SysUserMapper
     List<UserVO> sendmailUnionUser();
 
     int deleteUserByLoginName(@Param("loginName") String loginName);
+
+    public SysUser selectAllUserByUserId(@Param("userId")Long userId);
 }

+ 49 - 0
suishenbang-system/src/main/java/com/dgtly/system/service/impl/AlertUpvoteLogServiceImpl.java

@@ -2,6 +2,10 @@ package com.dgtly.system.service.impl;
 
 import java.util.List;
 import com.dgtly.common.utils.DateUtils;
+import com.dgtly.system.domain.AlertConfiguration;
+import com.dgtly.system.domain.SysUser;
+import com.dgtly.system.mapper.AlertConfigurationMapper;
+import com.dgtly.system.mapper.SysUserMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.dgtly.system.mapper.AlertUpvoteLogMapper;
@@ -20,6 +24,10 @@ public class AlertUpvoteLogServiceImpl implements IAlertUpvoteLogService
 {
     @Autowired
     private AlertUpvoteLogMapper alertUpvoteLogMapper;
+    @Autowired
+    private SysUserMapper sysUserMapper;
+    @Autowired
+    private AlertConfigurationMapper alertConfigurationMapper;
 
     /**
      * 查询弹框点赞日志
@@ -58,6 +66,7 @@ public class AlertUpvoteLogServiceImpl implements IAlertUpvoteLogService
         if (alertUpvoteLog.getStatus()==0){
             return 0;
         }else {
+            extracted(alertUpvoteLog);
             return alertUpvoteLogMapper.insertAlertUpvoteLog(alertUpvoteLog);
         }
 
@@ -76,6 +85,7 @@ public class AlertUpvoteLogServiceImpl implements IAlertUpvoteLogService
         if (alertUpvoteLog.getStatus()==0){
             return 0;
         }else {
+            extracted(alertUpvoteLog);
             return alertUpvoteLogMapper.updateAlertUpvoteLog(alertUpvoteLog);
         }
     }
@@ -116,4 +126,43 @@ public class AlertUpvoteLogServiceImpl implements IAlertUpvoteLogService
     public AlertUpvoteLog selectUpvoteByUidAndAid(Long userId, Long alertId) {
         return alertUpvoteLogMapper.selectUpvoteByUidAndAid(userId, alertId);
     }
+
+    private void extracted(AlertUpvoteLog alertUpvoteLog) {
+        AlertConfiguration alertConfiguration = alertConfigurationMapper.selectAlertConfigurationById(alertUpvoteLog.getAlertId());
+        alertUpvoteLog.setAlertTitle(alertConfiguration.getAlertTitle());
+        alertUpvoteLog.setAlertContent(alertConfiguration.getAlertContent());
+        alertUpvoteLog.setPhotoUrl(alertConfiguration.getPhotoUrl());
+        SysUser sysUser = sysUserMapper.selectAllUserByUserId(alertUpvoteLog.getUserId());
+        alertUpvoteLog.setUserName(sysUser.getUserName());
+        alertUpvoteLog.setLoginName(sysUser.getLoginName());
+        alertUpvoteLog.setSapEmployeeId(sysUser.getSysUserExt().getSapEmployeeId());
+        alertUpvoteLog.setPostName(sysUser.getSysUserExt().getPostName());
+        String salesLevel = sysUser.getSysUserExt().getSalesLevel();
+        alertUpvoteLog.setSalesLevel(salesLevel);
+        if ("company_level".equals(salesLevel)) {
+            alertUpvoteLog.setCompanyName(sysUser.getSysUserExt().getOrgName());
+        } else if("office_level".equals(salesLevel)||"saledept_level".equals(salesLevel)){
+            AlertUpvoteLog nameByCode = alertUpvoteLogMapper.selectMasterNameByCode(null, sysUser.getSysUserExt().getOrgCode(), null);
+            if (nameByCode!=null) {
+                alertUpvoteLog.setCompanyName(nameByCode.getCompanyName());
+                alertUpvoteLog.setOfficeName(nameByCode.getOfficeName());
+            }
+        }else if("emp_level".equals(salesLevel)||"suboffice_level".equals(salesLevel)){
+            AlertUpvoteLog nameByCode = alertUpvoteLogMapper.selectMasterNameByCode(null, null, sysUser.getSysUserExt().getOrgCode());
+            if (nameByCode!=null) {
+                alertUpvoteLog.setCompanyName(nameByCode.getCompanyName());
+                alertUpvoteLog.setOfficeName(nameByCode.getOfficeName());
+                alertUpvoteLog.setSubOfficeName(nameByCode.getSubOfficeName());
+            }
+        }else if("customer_level".equals(salesLevel)||"reseller_level".equals(salesLevel)){
+            AlertUpvoteLog nameByCode = alertUpvoteLogMapper.selectMasterNameByCode(sysUser.getSysUserExt().getOrgCode(), null,null );
+            if (nameByCode!=null) {
+                alertUpvoteLog.setCompanyName(nameByCode.getCompanyName());
+                alertUpvoteLog.setOfficeName(nameByCode.getOfficeName());
+                alertUpvoteLog.setSubOfficeName(nameByCode.getSubOfficeName());
+            }
+        } else if ("ysl_emp".equals(salesLevel)) {
+            alertUpvoteLog.setSubOfficeName(sysUser.getSysUserExt().getOrgName());
+        }
+    }
 }

+ 78 - 28
suishenbang-system/src/main/resources/mapper/system/AlertUpvoteLogMapper.xml

@@ -16,9 +16,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="status"    column="status"    />
         <result property="loginName"    column="login_name"    />
         <result property="userName"    column="user_name"    />
+        <result property="sapEmployeeId"    column="alert_title"    />
+        <result property="postName"    column="post_name"    />
         <result property="alertContent"    column="alert_content"    />
         <result property="photoUrl"    column="photo_url"    />
         <result property="statusName"    column="statusName"    />
+        <result property="alertTitle"    column="alert_title"    />
+        <result property="companyName"    column="company_name"    />
+        <result property="officeName"    column="office_name"    />
+        <result property="subOfficeName"    column="sub_office_name"    />
 
     </resultMap>
 
@@ -27,36 +33,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </sql>
 
     <select id="selectAlertUpvoteLogList"  resultType="com.dgtly.system.domain.AlertUpvoteLog">
-        select aul.alert_upvote_id as alertUpvoteId,
-               aul.alert_id as alertId,
-               aul.create_time as createTime,
-               aul.user_id as userId,
-               aul.status as status,
-               su.login_name as loginName,
-               su.user_name as userName,
-               sue.sap_employee_id as sapEmployeeId,
-               sue.org_name as orgName,
-               sue.post_name as postName,
-               ac.alert_content as alertContent,
-               ac.photo_url as photoUrl,
-               ac.alert_title as alertTitle,
+        select alert_upvote_id as alertUpvoteId,
+               alert_id as alertId,
+               create_time as createTime,
+               user_id as userId,
+               status as status,
+               login_name as loginName,
+               user_name as userName,
+               sap_employee_id as sapEmployeeId,
+               post_name as postName,
+               alert_content as alertContent,
+               photo_url as photoUrl,
+               alert_title as alertTitle,
+               company_name as companyName,
+               office_name as officeName,
+               sub_office_name as subOfficeName,
                CASE
-                WHEN aul.status = '0' THEN '无'
-                WHEN aul.status = '1' THEN '赞'
-                WHEN aul.status = '2' THEN '踩'
+                WHEN status = '0' THEN '无'
+                WHEN status = '1' THEN '赞'
+                WHEN status = '2' THEN '踩'
                 END statusName
-        from alert_upvote_log aul
-            left join alert_configuration ac on ac.alert_id=aul.alert_id
-            left join sys_user su on su.user_id=aul.user_id
-            left join sys_user_ext sue on sue.user_id=aul.user_id
-         where aul.status != '0'
-            <if test="userName != null and userName != ''"> and su.user_name like concat('%', #{userName}, '%')</if>
-            <if test="loginName != null and loginName != '' "> and su.login_name like concat('%', #{loginName}, '%')</if>
-            <if test="alertContent != null and alertContent != '' "> and ac.alert_content like concat('%', #{alertContent}, '%')</if>
-            <if test="status != null"> and aul.status = #{status}</if>
-            <if test="startTime != null "> and aul.create_time &gt;= #{startTime}</if>
-            <if test="endTime != null "> and aul.create_time &lt; #{endTime}</if>
-        order by aul.create_time desc
+        from alert_upvote_log
+         where status != '0'
+            <if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
+            <if test="loginName != null and loginName != '' "> and login_name like concat('%', #{loginName}, '%')</if>
+            <if test="alertContent != null and alertContent != '' "> and alert_content like concat('%', #{alertContent}, '%')</if>
+            <if test="status != null"> and status = #{status}</if>
+            <if test="startTime != null "> and create_time &gt;= #{startTime}</if>
+            <if test="endTime != null "> and create_time &lt; #{endTime}</if>
+        order by create_time desc
     </select>
     
     <select id="selectAlertUpvoteLogById" parameterType="Long" resultMap="AlertUpvoteLogResult">
@@ -75,6 +80,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="isDelete != null ">is_delete,</if>
             <if test="userId != null ">user_id,</if>
             <if test="status != null ">status,</if>
+            <if test="alertTitle != null  and alertTitle != ''">alert_title,</if>
+            <if test="alertContent != null ">alert_content,</if>
+            <if test="photoUrl != null ">photo_url,</if>
+            <if test="loginName != null  and loginName != ''">login_name,</if>
+            <if test="userName != null  and userName != ''">user_name,</if>
+            <if test="postName != null  and postName != ''">post_name,</if>
+            <if test="sapEmployeeId != null  and sapEmployeeId != ''">sap_employee_id,</if>
+            <if test="salesLevel != null  and salesLevel != ''">sales_level,</if>
+            <if test="companyName != null  and companyName != ''">company_name,</if>
+            <if test="officeName != null  and officeName != ''">office_name,</if>
+            <if test="subOfficeName != null  and subOfficeName != ''">sub_office_name,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="alertId != null ">#{alertId},</if>
@@ -85,6 +101,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="isDelete != null ">#{isDelete},</if>
             <if test="userId != null ">#{userId},</if>
             <if test="status != null ">#{status},</if>
+            <if test="alertTitle != null  and alertTitle != ''">#{alertTitle},</if>
+            <if test="alertContent != null ">#{alertContent},</if>
+            <if test="photoUrl != null ">#{photoUrl},</if>
+            <if test="loginName != null  and loginName != ''">#{loginName},</if>
+            <if test="userName != null  and userName != ''">#{userName},</if>
+            <if test="postName != null  and postName != ''">#{postName},</if>
+            <if test="sapEmployeeId != null  and sapEmployeeId != ''">#{sapEmployeeId},</if>
+            <if test="salesLevel != null  and salesLevel != ''">#{salesLevel},</if>
+            <if test="companyName != null  and companyName != ''">#{companyName},</if>
+            <if test="officeName != null  and officeName != ''">#{officeName},</if>
+            <if test="subOfficeName != null  and subOfficeName != ''">#{subOfficeName},</if>
          </trim>
     </insert>
 
@@ -99,6 +126,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="isDelete != null ">is_delete = #{isDelete},</if>
             <if test="userId != null ">user_id = #{userId},</if>
             <if test="status != null ">status = #{status},</if>
+            <if test="alertTitle != null  and alertTitle != ''">alert_title = #{alertTitle},</if>
+            <if test="alertContent != null ">alert_content = #{alertContent},</if>
+            <if test="photoUrl != null ">photo_url = #{photoUrl},</if>
+            <if test="loginName != null  and loginName != ''">login_name = #{loginName},</if>
+            <if test="userName != null  and userName != ''">user_name = #{userName},</if>
+            <if test="postName != null  and postName != ''">post_name = #{postName},</if>
+            <if test="sapEmployeeId != null  and sapEmployeeId != ''">sap_employee_id = #{sapEmployeeId},</if>
+            <if test="salesLevel != null  and salesLevel != ''">sales_level = #{salesLevel},</if>
+            <if test="companyName != null  and companyName != ''">company_name = #{companyName},</if>
+            <if test="officeName != null  and officeName != ''">office_name = #{officeName},</if>
+            <if test="subOfficeName != null  and subOfficeName != ''">sub_office_name = #{subOfficeName},</if>
         </trim>
         where alert_upvote_id = #{alertUpvoteId}
     </update>
@@ -118,4 +156,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectAlertUpvoteLogVo"/>
         where user_id = #{userId} and alert_id = #{alertId}
     </select>
+
+    <select id="selectMasterNameByCode" resultType="com.dgtly.system.domain.AlertUpvoteLog">
+        select
+            sales_company_name AS companyName,
+            sales_office_name AS officeName,
+            sales_group_name AS subOfficeName
+        from data_master_customer where 1=1
+        <if test="customerCode !=null and customerCode !='' ">and CustomerCode =#{customerCode}</if>
+        <if test="salesOfficeCode !=null and salesOfficeCode !='' ">and sales_office =#{salesOfficeCode}</if>
+        <if test="salesGroupCode !=null and salesGroupCode !='' ">and sales_group =#{salesGroupCode}</if>
+        limit 1
+    </select>
 </mapper>

+ 8 - 0
suishenbang-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -624,4 +624,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 					count(*) > 1) and u.del_flag=0 and u.quit is null
 				and e.is_customer_manager is null order by user_name
 	</select>
+
+	<select id="selectAllUserByUserId" parameterType="Long" resultMap="SysUserResult">
+		SELECT *
+		FROM
+			sys_user u
+				LEFT JOIN sys_user_ext suse ON suse.user_id = u.user_id
+		where u.user_id = #{userId}
+	</select>
 </mapper>

+ 12 - 12
suishenbang-wxportal/suishenbang-wxportal-api/src/main/java/com/dgtly/wxportal/controller/WxAlertLogController.java

@@ -246,11 +246,11 @@ public class WxAlertLogController  extends ApiBaseController {
     public Object getUpvoteStatus() throws ParseException {
         ParameterObject obj = getParameterObject();
         Long userId = Long.valueOf(obj.getString("userId"));//用户ID
-        String loginName = String.valueOf(obj.getString("loginName"));//用户账号
-        String userName = String.valueOf(obj.getString("userName"));//用户姓名
+//        String loginName = String.valueOf(obj.getString("loginName"));//用户账号
+//        String userName = String.valueOf(obj.getString("userName"));//用户姓名
         Long alertId = Long.valueOf(obj.getString("alertId"));//弹框ID
-        String alertContent = String.valueOf(obj.getString("alertContent"));//弹框内容
-        String photoUrl = String.valueOf(obj.getString("photoUrl"));//弹框图片
+//        String alertContent = String.valueOf(obj.getString("alertContent"));//弹框内容
+//        String photoUrl = String.valueOf(obj.getString("photoUrl"));//弹框图片
         Integer status=3;//如果没有传status,为查询
         if (obj.getString("status")!=null){
             status = Integer.valueOf(obj.getString("status"));//状态
@@ -262,21 +262,21 @@ public class WxAlertLogController  extends ApiBaseController {
             if (status!=3) {
                 alertUpvoteLog.setStatus(status);
             }
-            alertUpvoteLog.setLoginName(loginName);
-            alertUpvoteLog.setUserName(userName);
-            alertUpvoteLog.setAlertContent(alertContent);
-            alertUpvoteLog.setPhotoUrl(photoUrl);
+//            alertUpvoteLog.setLoginName(loginName);
+//            alertUpvoteLog.setUserName(userName);
+//            alertUpvoteLog.setAlertContent(alertContent);
+//            alertUpvoteLog.setPhotoUrl(photoUrl);
             alertUpvoteLogService.updateAlertUpvoteLog(alertUpvoteLog);
             return AjaxResult.success(alertUpvoteLog);
         }else {
             //没有新增记录
             AlertUpvoteLog upvoteLog = new AlertUpvoteLog();
             upvoteLog.setUserId(userId);
-            upvoteLog.setLoginName(loginName);
-            upvoteLog.setUserName(userName);
             upvoteLog.setAlertId(alertId);
-            upvoteLog.setAlertContent(alertContent);
-            upvoteLog.setPhotoUrl(photoUrl);
+//            upvoteLog.setLoginName(loginName);
+//            upvoteLog.setUserName(userName);
+//            upvoteLog.setAlertContent(alertContent);
+//            upvoteLog.setPhotoUrl(photoUrl);
             if (status!=3) {
                 upvoteLog.setStatus(status);
             }else{