Browse Source

每天零点自动恢复每个会员的剩余可查看电话的次数

zhangmingguang 5 years ago
parent
commit
88b5641282

+ 2 - 0
src/main/java/com/up/sell/mapper/MemberMapper.java

@@ -38,4 +38,6 @@ public interface MemberMapper {
      * @mbg.generated 2018-09-04
      */
     int updateByPrimaryKey(Member record);
+    
+    int updateViewCount(Integer defaultViewCount);
 }

+ 13 - 0
src/main/java/com/up/sell/service/MemberSerice.java

@@ -0,0 +1,13 @@
+/**
+ * 
+ */
+package com.up.sell.service;
+
+/**
+ * @author zmg
+ *
+ */
+public interface MemberSerice {
+
+	int updateViewCount(Integer defaultViewCount);
+}

+ 31 - 0
src/main/java/com/up/sell/service/impl/MemberSericeImpl.java

@@ -0,0 +1,31 @@
+/**
+ * 
+ */
+package com.up.sell.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.up.sell.mapper.MemberMapper;
+import com.up.sell.service.MemberSerice;
+
+/**
+ * @author zmg
+ *
+ */
+@Service
+@Transactional(propagation=Propagation.SUPPORTS)
+public class MemberSericeImpl implements MemberSerice{
+	@Autowired
+	private MemberMapper memberMapper;
+	
+	/**
+	 * 恢复每个会员的默认可查看电话次数
+	 */
+	@Transactional(propagation=Propagation.REQUIRED)
+	public int updateViewCount(Integer defaultViewCount) {
+		return this.memberMapper.updateViewCount(defaultViewCount);
+	}
+}

+ 4 - 3
src/main/java/com/up/sell/task/ScheduledTask.java

@@ -10,6 +10,7 @@ import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import com.up.sell.service.MemberOrderSerice;
+import com.up.sell.service.MemberSerice;
 
 /**
  * @author Administrator
@@ -21,6 +22,8 @@ public class ScheduledTask {
 
 	@Autowired
 	private MemberOrderSerice memberOrderSerice;
+	@Autowired
+	private MemberSerice memberSerice;
 	/**
 	 * 24小时未支付订单自动取消,每个小时执行一次
 	 * fixedDelay = 5000表示当前方法执行完毕5000ms后,Spring scheduling会再次调用该方法
@@ -41,9 +44,7 @@ public class ScheduledTask {
     public void resetMemberViewCount () {
 		try {
 			logger.info("每天零点重设每个会员剩余查看品牌联系人的次数");
-			/**
-			 * 业务逻辑待开发
-			 */
+			this.memberSerice.updateViewCount(3);
 		} catch (Exception e) {
 			logger.error(e.getMessage(), e);
 		}

+ 6 - 0
src/main/resources/configs/mybatis/xml/MemberMapper.xml

@@ -280,4 +280,10 @@
       update_time = #{updateTime,jdbcType=TIMESTAMP}
     where id = #{id,jdbcType=INTEGER}
   </update>
+  
+  <update id="updateViewCount" parameterType="map">
+    UPDATE member a
+	LEFT JOIN member_order b ON a.id=b.member_id AND b.order_status=2 AND b.service_flag=1 AND b.begin_time<=NOW() AND b.end_time>=NOW()
+	SET a.view_count=IFNULL(b.view_count,#{defaultViewCount})
+  </update>
 </mapper>