You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							187 lines
						
					
					
						
							6.8 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							187 lines
						
					
					
						
							6.8 KiB
						
					
					
				| <?xml version="1.0" encoding="UTF-8"?> | |
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
| 
 | |
| <mapper namespace="com.epmet.dao.CustomerFunctionDetailDao"> | |
| 
 | |
|     <!--  根据functionId查询使用该功能的,客户id --> | |
|     <select id="selectCustomerIdByFunctionId" parameterType="String" | |
|             resultType="com.epmet.dto.CustomerFunctionDetailDTO"> | |
|         SELECT | |
|             ID id, | |
|             CUSTOMER_ID customerId, | |
|             FUNCTION_ID functionId, | |
|             FUNCTION_NAME functionName, | |
|             ICON_LARGE_IMG iconLargeImg, | |
|             ICON_SMALL_IMG iconSmallImg, | |
|             DOMAIN_NAME domainName, | |
|             TARGET_LINK	targetLink, | |
|             DISPLAY_ORDER	displayOrder | |
|         FROM customer_function_detail | |
|         WHERE DEL_FLAG = '0' | |
|         AND FUNCTION_ID = #{functionId} | |
|     </select> | |
| 
 | |
|     <select id="selectFunctionDetailList" resultType="com.epmet.dto.result.FunctionDetailResultDTO"> | |
|         SELECT | |
|         cfd.function_id AS "functionId", | |
|         cfd.function_name AS "functionName", | |
|         cfd.icon_large_img AS "iconLargeImg", | |
|         cfd.icon_small_img AS "iconSmallImg", | |
|         CONCAT( | |
|         cfd.domain_name, | |
|         cfd.target_link | |
|         ) AS "url", | |
|         cfd.display_order AS "dispalyOrder" | |
|         FROM | |
|         customer_function_detail cfd | |
|         INNER JOIN `function` f ON cfd.function_id = f.id | |
|         INNER JOIN function_customized fc ON cfd.function_id = fc.function_id | |
|         WHERE | |
|         cfd.del_flag = '0' | |
|         AND f.del_flag = '0' | |
|         AND fc.del_flag = '0' | |
|         AND f.function_group = '1' <!-- 功能类型:0.默认功能,1.定制功能 --> | |
|         AND cfd.shopping_status = '1' <!-- 上架状态:0:下架、1:上架 --> | |
|         AND cfd.customer_id = #{customerId} | |
|         AND fc.from_app = #{clientType} | |
|         ORDER BY | |
|         cfd.display_order ASC | |
|     </select> | |
| 
 | |
|     <select id="selectCustomerFunction" resultType="com.epmet.dto.result.CustomerResultDTO"> | |
|         SELECT | |
|             cfd.customer_id AS "customerId", | |
|             cfd.function_id AS "functionId", | |
|             cfd.function_name AS "functionName", | |
|             cfd.icon_large_img AS "iconLargeImg", | |
|             cfd.icon_small_img AS "iconSmallImg", | |
|             cfd.shopping_status AS "shoppingStatus", | |
|             cfd.domain_name AS "domainName", | |
|             cfd.target_link AS "targetLink", | |
|             cfd.display_order AS "displayOrder", | |
|             fc.customized_name AS "customizedName", | |
|             fc.from_app AS "fromApp", | |
|             fc.icon_large_img AS "defaultLargeImg", | |
|             fc.icon_small_img AS "defaultSmallImg", | |
|             f.function_explain AS "functionExplain" | |
|         FROM | |
|             customer_function_detail cfd | |
|         INNER JOIN function_customized fc ON cfd.function_id = fc.function_id | |
|         INNER JOIN `function` f ON cfd.function_id = f.id | |
|         WHERE | |
|             cfd.del_flag = '0' | |
|         AND fc.del_flag = '0' | |
|         AND f.del_flag = '0' | |
|         AND cfd.customer_id = #{customerId} | |
|         ORDER BY | |
| 	        cfd.DISPLAY_ORDER ASC | |
|     </select> | |
| 
 | |
|     <select id="selectOrderByCustomerId" resultType="com.epmet.dto.CustomerFunctionDetailDTO"> | |
|         SELECT | |
|             customer_id, | |
|             function_id, | |
|             function_name, | |
|             icon_large_img, | |
|             icon_small_img, | |
|             domain_name, | |
|             target_link, | |
|             shopping_status, | |
|             IFNULL(display_order, 0) AS displayOrder | |
|         FROM | |
|             customer_function_detail | |
|         WHERE | |
|             del_flag = '0' | |
|         AND customer_id = #{customerId} | |
|         ORDER BY display_order DESC | |
|         LIMIT 1 | |
|     </select> | |
| 
 | |
|     <!-- 统计客户某一端上架定制功能数 --> | |
|     <select id="sumCustomerFunctionNum" resultType="com.epmet.dto.result.CustomerFunctionCollectResultDTO"> | |
|         SELECT | |
|             COUNT(cfd.FUNCTION_ID) AS "num", | |
|             IF(fc.FROM_APP='gov','工作端',IF(fc.FROM_APP='resi','居民端','无')) AS "fromAppName" | |
|         FROM | |
|             customer_function_detail cfd | |
|         INNER JOIN function_customized fc ON cfd.FUNCTION_ID = fc.FUNCTION_ID | |
|         WHERE | |
|             cfd.DEL_FLAG = '0' | |
|         AND fc.DEL_FLAG = '0' | |
|         AND cfd.SHOPPING_STATUS = '1' | |
|         AND cfd.CUSTOMER_ID = #{customerId} | |
|         AND fc.FROM_APP = ( | |
|             SELECT | |
|                 FROM_APP | |
|             FROM | |
|                 function_customized | |
|             WHERE | |
|                 DEL_FLAG = '0' | |
|             AND FUNCTION_ID = #{functionId} | |
|         ) | |
|     </select> | |
| 
 | |
|     <update id="updateShoppingStatus" parameterType="com.epmet.dto.form.UpdateShoppingStatusFormDTO"> | |
|         UPDATE customer_function_detail | |
|         SET | |
|         SHOPPING_STATUS = #{shoppingStatus}, | |
|         UPDATED_BY = #{userId}, | |
|         UPDATED_TIME = now() | |
|         WHERE | |
|             DEL_FLAG = '0' | |
|             AND CUSTOMER_ID = #{customerId} | |
|             AND FUNCTION_ID = #{functionId} | |
|     </update> | |
| 
 | |
|     <update id="updateCustomerFunction" parameterType="com.epmet.dto.form.UpdateCustomerFunctionFormDTO"> | |
|         UPDATE customer_function_detail | |
|         SET | |
|         <if test="functionName != null and functionName.trim() != ''"> | |
|             FUNCTION_NAME = #{functionName}, | |
|         </if> | |
|         <if test="iconLargeImg != null and iconLargeImg.trim() != ''"> | |
|             ICON_LARGE_IMG = #{iconLargeImg}, | |
|         </if> | |
|         <if test="iconSmallImg != null and iconSmallImg.trim() != ''"> | |
|             ICON_SMALL_IMG = #{iconSmallImg}, | |
|         </if> | |
| 
 | |
|         <if test="domainName != null and domainName.trim() != ''"> | |
|             DOMAIN_NAME = #{domainName}, | |
|         </if> | |
|         <if test="targetLink != null and targetLink.trim() != ''"> | |
|             TARGET_LINK = #{targetLink}, | |
|         </if> | |
|         UPDATED_BY = #{userId}, | |
|         UPDATED_TIME = now() | |
|         WHERE | |
|             DEL_FLAG = '0' | |
|             AND CUSTOMER_ID = #{customerId} | |
|             AND FUNCTION_ID = #{functionId} | |
|     </update> | |
| 
 | |
|     <update id="updateFunctionDetailList"> | |
|         UPDATE customer_function_detail | |
|         <trim prefix="set" suffixOverrides=","> | |
| 
 | |
|             <trim prefix="display_order =(case" suffix="end),"> | |
|                 <foreach collection="list" item="item"> | |
|                     when customer_id = #{item.customerId} and function_id = #{item.functionId}  then #{item.displayOrder} | |
|                 </foreach> | |
|             </trim> | |
| 
 | |
|             <trim prefix="updated_by =(case" suffix="end),"> | |
|                 <foreach collection="list" item="item"> | |
|                     when customer_id = #{item.customerId} and function_id = #{item.functionId} then #{item.updatedBy} | |
|                 </foreach> | |
|             </trim> | |
| 
 | |
|             updated_time = now() | |
|         </trim> | |
|         WHERE | |
|             del_flag = '0' | |
|         <foreach collection="list" item="item" open="AND(  " separator=" OR " index="index" close=")"> | |
|             (customer_id = #{item.customerId} and function_id = #{item.functionId}) | |
|         </foreach> | |
|     </update> | |
| </mapper>
 | |
| 
 |