Просмотр исходного кода

1、完善用户功能频率功能

zhoux 2 лет назад
Родитель
Сommit
9e4cee0009

+ 18 - 1
src/main/java/com/dk/mdm/controller/mst/MenuFrequencyController.java

@@ -1,8 +1,15 @@
 package com.dk.mdm.controller.mst;
 
+import com.dk.common.model.vo.mst.OrgVO;
+import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.model.pojo.mst.MenuFrequency;
 import com.dk.common.controller.BaseController;
 import com.dk.common.service.BaseService;
+import com.dk.mdm.model.vo.mst.MenuFrequencyVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
@@ -11,7 +18,7 @@ import com.dk.mdm.service.mst.MenuFrequencyService;
 
 @Api(tags = "用户功能频率API接口")
 @RestController
-@RequestMapping("/menuFrequency")
+@RequestMapping("/mst/menuFrequency")
 public class MenuFrequencyController{
 
     public BaseService<MenuFrequency> getService() {
@@ -21,4 +28,14 @@ public class MenuFrequencyController{
     @Autowired
     private MenuFrequencyService menuFrequencyService;
 
+    /**
+     * @desc   : 保存用户功能频率
+     * @author : 周兴
+     * @date   : 2024/3/28 9:13
+     */
+    @ApiOperation( value = "保存用户功能频率", notes = "保存用户功能频率" )
+    @PostMapping({"save"})
+    public ResponseResultVO<?> save(@RequestBody MenuFrequencyVO menuFrequencyVO) {
+        return menuFrequencyService.save(menuFrequencyVO);
+    }
 }

+ 22 - 0
src/main/java/com/dk/mdm/infrastructure/convert/mst/MenuFrequencyConvert.java

@@ -0,0 +1,22 @@
+package com.dk.mdm.infrastructure.convert.mst;
+
+import com.dk.mdm.model.pojo.mst.MenuFrequency;
+import com.dk.mdm.model.vo.mst.MenuFrequencyVO;
+import org.mapstruct.Mapper;
+
+/**
+ * @desc   : Staff转换类
+ * @author : admin
+ * @date   : 2023/1/9 10:37
+ */
+@Mapper(componentModel = "spring")
+public interface MenuFrequencyConvert {
+
+    /**
+     * @desc   : 转换vo为pojo
+     * @author : admin
+     * @date   : 2023/1/9 10:37
+     */
+    MenuFrequency convertToPo(MenuFrequencyVO menuFrequencyVO);
+
+}

+ 17 - 26
src/main/java/com/dk/mdm/mapper/mst/ComMenuMapper.xml

@@ -10,8 +10,12 @@
     </sql>
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.ComMenu">
-        <id column="menu_uuid" property="menuUuid"/>
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.mst.ComMenuResponse">
+        <id column="menu_uuid" property="menuUuid" typeHandler="UuidTypeHandler"/>
+        <result column="menu_name" property="menuName"/>
+        <result column="object_code" property="objectCode"/>
+        <result column="object_path" property="objectPath"/>
+        <result column="object_icon" property="objectIcon"/>
         <result column="cp_id" property="cpId"/>
         <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
         <result column="app_code" property="appCode"/>
@@ -35,24 +39,6 @@
             <if test="appCode != null and appCode != ''">
                 AND app_code = #{appCode}
             </if>
-            <if test="displayNo != null">
-                AND display_no = #{displayNo}
-            </if>
-            <if test="opUpdateTime != null">
-                AND op_update_time = #{opUpdateTime}
-            </if>
-            <if test="opUpdateUserId != null and opUpdateUserId != ''">
-                AND op_update_user_id = #{opUpdateUserId}
-            </if>
-            <if test="opAppCode != null and opAppCode != ''">
-                AND op_app_code = #{opAppCode}
-            </if>
-            <if test="opTimestamp != null">
-                AND op_timestamp = #{opTimestamp}
-            </if>
-            <if test="opDbUser != null and opDbUser != ''">
-                AND op_db_user = #{opDbUser}
-            </if>
         </where>
     </sql>
 
@@ -67,12 +53,17 @@
     <!-- 查询表t_mst_com_menu,(条件查询+分页)列表 -->
     <select id="selectByCond" resultMap="BaseResultMap">
         SELECT
-        <include refid="Base_Column_List"/>
-        FROM t_mst_com_menu
-        <include refid="Condition"/>
-        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
-            limit #{end} offset #{start}
-        </if>
+            sys.f_get_name_i18n ( tam.menu_name_i18n, #{i18n} ) menu_name,
+            tmcm.menu_uuid,
+            tam.object_code,
+            tam.object_path,
+            tam.object_icon
+        FROM
+            dkic_b.t_mst_com_menu tmcm
+                INNER JOIN sys.t_app_menu tam ON tmcm.menu_uuid = tam.menu_uuid
+        WHERE
+            tmcm.staff_id = #{staffId} ::uuid
+          AND tmcm.app_code = #{appCode}
     </select>
 
     <!-- 查询表t_mst_com_menu,(条件查询)个数 -->

+ 7 - 1
src/main/java/com/dk/mdm/mapper/mst/MenuFrequencyMapper.java

@@ -2,6 +2,7 @@ package com.dk.mdm.mapper.mst;
 
 import com.dk.mdm.model.pojo.mst.MenuFrequency;
 import com.dk.common.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -9,6 +10,11 @@ import org.springframework.stereotype.Repository;
 */
 @Repository
 public interface MenuFrequencyMapper extends BaseMapper<MenuFrequency>{
-	
+    /**
+     * @desc   : 保存用户频率表
+     * @author : 周兴
+     * @date   : 2024-03-28 10:30
+     */
+    int save(MenuFrequency menuFrequency);
 }
 

+ 41 - 30
src/main/java/com/dk/mdm/mapper/mst/MenuFrequencyMapper.xml

@@ -10,8 +10,8 @@
     </sql>
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.MenuFrequency">
-        <id column="menu_uuid" property="menuUuid"/>
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.mst.MenuFrequencyResponse">
+        <id column="menu_uuid" property="menuUuid" typeHandler="UuidTypeHandler"/>
         <result column="cp_id" property="cpId"/>
         <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
         <result column="app_code" property="appCode"/>
@@ -35,24 +35,9 @@
             <if test="appCode != null and appCode != ''">
                 AND app_code = #{appCode}
             </if>
-            <if test="qty != null">
-                AND qty = #{qty}
-            </if>
-            <if test="opUpdateTime != null">
-                AND op_update_time = #{opUpdateTime}
-            </if>
-            <if test="opUpdateUserId != null and opUpdateUserId != ''">
-                AND op_update_user_id = #{opUpdateUserId}
-            </if>
             <if test="opAppCode != null and opAppCode != ''">
                 AND op_app_code = #{opAppCode}
             </if>
-            <if test="opTimestamp != null">
-                AND op_timestamp = #{opTimestamp}
-            </if>
-            <if test="opDbUser != null and opDbUser != ''">
-                AND op_db_user = #{opDbUser}
-            </if>
         </where>
     </sql>
 
@@ -67,21 +52,47 @@
     <!-- 查询表t_mst_menu_frequency,(条件查询+分页)列表 -->
     <select id="selectByCond" resultMap="BaseResultMap">
         SELECT
-        <include refid="Base_Column_List"/>
-        FROM t_mst_menu_frequency
-        <include refid="Condition"/>
-        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
-            limit #{end} offset #{start}
-        </if>
+            sys.f_get_name_i18n ( tam.menu_name_i18n, #{i18n} ) menu_name,
+            tmf.menu_uuid,
+            tam.object_code,
+            tam.object_path,
+            tam.object_icon
+        FROM
+            dkic_b.t_mst_menu_frequency tmf
+                INNER JOIN sys.t_app_menu tam ON tmf.menu_uuid = tam.menu_uuid
+        WHERE
+            tmf.staff_id = #{staffId} ::uuid
+          AND tmf.app_code = #{appCode}
+        ORDER BY
+            tmf.qty DESC
     </select>
 
-    <!-- 查询表t_mst_menu_frequency,(条件查询)个数 -->
-    <select id="countByCond" resultType="Long">
-        SELECT
-        count(1)
-        FROM t_mst_menu_frequency
-        <include refid="Condition"/>
-    </select>
+    <!--新建编辑用户功能频率-->
+    <insert id="save">
+        insert into dkic_b.t_mst_menu_frequency
+        (
+        <trim suffixOverrides=",">
+            menu_uuid,
+            cp_id,
+            staff_id,
+            app_code,
+            qty,
+        </trim>
+        )
+        values
+        (
+        <trim suffixOverrides=",">
+            #{menuUuid} ::uuid,
+            #{cpId},
+            #{staffId}  ::uuid,
+            #{appCode},
+            #{qty},
+        </trim>
+        )
+        on conflict (menu_uuid,staff_id,app_code) do update set
+        cp_id = excluded."cp_id",
+        qty = excluded."qty" + 1;
+    </insert>
 
     <!-- 根据主键查询表t_mst_menu_frequency的一行数据 -->
     <select id="selectById" resultMap="BaseResultMap">

+ 1 - 1
src/main/java/com/dk/mdm/model/pojo/mst/ComMenu.java

@@ -29,7 +29,7 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 @Accessors(chain = true)
 @ExportTitle("常用功能")
-@TableName(value = "t_mst_com_menu", autoResultMap = true)
+@TableName(value = "t_mst_com_menu", autoResultMap = true,schema = "dkic_b")
 @ApiModel(value="实体类:常用功能", description="表名:t_mst_com_menu")
 public class ComMenu extends PageInfo<ComMenu> implements Serializable {
 

+ 1 - 1
src/main/java/com/dk/mdm/model/pojo/mst/MenuFrequency.java

@@ -28,7 +28,7 @@ import java.time.LocalDateTime;
 @NoArgsConstructor
 @Accessors(chain = true)
 @ExportTitle("用户功能频率")
-@TableName(value = "t_mst_menu_frequency", autoResultMap = true)
+@TableName(value = "t_mst_menu_frequency", autoResultMap = true,schema = "dkic_b")
 @ApiModel(value="实体类:用户功能频率", description="表名:t_mst_menu_frequency")
 public class MenuFrequency implements Serializable {
 

+ 8 - 0
src/main/java/com/dk/mdm/model/response/mst/ComMenuResponse.java

@@ -123,6 +123,14 @@ public class ComMenuResponse extends PageInfo<ComMenuResponse> implements Serial
     @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
     private String opDbUser;
 
+    private String menuName;
+
+    private String objectCode;
+
+    private String objectPath;
+
+    private String objectIcon;
+
 
     /*
      * 相关属性

+ 8 - 0
src/main/java/com/dk/mdm/model/response/mst/MenuFrequencyResponse.java

@@ -122,6 +122,14 @@ public class MenuFrequencyResponse extends PageInfo<MenuFrequencyResponse> imple
     @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
     private String opDbUser;
 
+    private String menuName;
+
+    private String objectCode;
+
+    private String objectPath;
+
+    private String objectIcon;
+
 
     /*
      * 相关属性

+ 23 - 0
src/main/java/com/dk/mdm/service/mst/MenuFrequencyService.java

@@ -1,9 +1,13 @@
 package com.dk.mdm.service.mst;
 
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.infrastructure.convert.mst.MenuFrequencyConvert;
 import com.dk.mdm.model.pojo.mst.MenuFrequency;
 import com.dk.mdm.mapper.mst.MenuFrequencyMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.vo.mst.MenuFrequencyVO;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -20,4 +24,23 @@ public class MenuFrequencyService extends BaseService<MenuFrequency> {
 	@Autowired
 	private MenuFrequencyMapper menuFrequencyMapper;
 
+	@Autowired
+	private MenuFrequencyConvert menuFrequencyConvert;
+
+	/**
+	 * @desc : 保存用户功能频率表
+	 * @author : 周兴
+	 * @date : 2024/3/28 9:39
+	 */
+	@Transactional(
+			rollbackFor = {Exception.class}
+	)
+	public ResponseResultVO<?> save(MenuFrequencyVO menuFrequencyVO) {
+		MenuFrequency  menuFrequency = menuFrequencyConvert.convertToPo(menuFrequencyVO);
+		menuFrequency.setQty(1);
+		// 保存用户功能频率表
+		menuFrequencyMapper.save(menuFrequency);
+		return ResponseResultUtil.success();
+	}
+
 }