Selaa lähdekoodia

Merge branch 'master' of http://git.iamberry.com/liuzhiwei/iamberry-common-tooth

# Conflicts:
#	tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/coupon/CouponItemDto.java
#	tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponItemMapper.xml
wangxiaoming 7 vuotta sitten
vanhempi
commit
020542f741

+ 1 - 1
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/coupon/CouponItemDto.java

@@ -39,7 +39,7 @@ public class CouponItemDto implements java.io.Serializable{
 
 	private Integer couponIsNewPeople;			//是否为新人优惠券
 
-	private Integer couponIsUse;			//判断是否可用
+	private Integer couponIsUse;			//判断是否可用  1:可以使用    2:不可用
 	private String couponNoUseReason;			//不可用说明
 
 

+ 6 - 4
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/UseIntegralService.java

@@ -2,10 +2,7 @@ package com.iamberry.wechat.face.integral;
 
 import com.iamberry.wechat.core.entity.PageBean;
 import com.iamberry.wechat.core.entity.ResultMsg;
-import com.iamberry.wechat.core.entity.integral.IntegralConfig;
-import com.iamberry.wechat.core.entity.integral.MemberIntegral;
-import com.iamberry.wechat.core.entity.integral.RankRule;
-import com.iamberry.wechat.core.entity.integral.UseIntegral;
+import com.iamberry.wechat.core.entity.integral.*;
 import com.sun.org.apache.xpath.internal.operations.Bool;
 
 import java.util.List;
@@ -66,4 +63,9 @@ public interface UseIntegralService {
      */
     boolean updateIntegralStayToAlready();
 
+    /**
+     * 查询待入账积分的集合
+     * @return
+     */
+    List<StayIntegral>  listStayIntegral(StayIntegral stayIntegral);
 }

+ 53 - 5
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/UseIntegralServiceImpl.java

@@ -3,19 +3,26 @@ package com.iamberry.wechat.service.integral;
 import com.iamberry.wechat.core.entity.PageBean;
 import com.iamberry.wechat.core.entity.ResultMsg;
 import com.iamberry.wechat.core.entity.integral.*;
+import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.face.integral.UseIntegralService;
+import com.iamberry.wechat.service.mapper.MemberMapper;
 import com.iamberry.wechat.service.mapper.UseIntegralMapper;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResultInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.beans.Transient;
+import java.util.Date;
 import java.util.List;
 @Service
 public class UseIntegralServiceImpl implements UseIntegralService {
     @Autowired
     private UseIntegralMapper useIntegralMapper;
 
+    @Autowired
+    private MemberMapper memberMapper;
+
     /**
      * 获取会员信息.会员等级名称
      * @param openId
@@ -80,16 +87,57 @@ public class UseIntegralServiceImpl implements UseIntegralService {
         return useIntegralMapper.getRankRule();
     }
 
+    /**
+     * 查询待入账积分的集合
+     * @return
+     */
+    @Override
+    public List<StayIntegral>  listStayIntegral(StayIntegral stayIntegral){
+            return useIntegralMapper.listStayIntegral(stayIntegral);
+    }
+
     @Override
+    @Transient
     public boolean updateIntegralStayToAlready() {
         StayIntegral stayIntegral = new StayIntegral();
+        stayIntegral.setStayStatus(1);
+        stayIntegral.setStayRecordedTime(new Date());
         /*获取所有的待入账积分*/
         List<StayIntegral>  stayIntegralList = useIntegralMapper.listStayIntegral(stayIntegral);
-		/*判断时间是否大于的那个时间*/
-		/*增加入账积分,累计积分*/
-		/*大于将删除日志表的待入账,并增加入账记录*/
-        return false;
-    }
+		for(StayIntegral si : stayIntegralList ){
+		    /*增加入账积分,累计积分,减去待入账积分*/
+            Member member = memberMapper.getMemberByUserOpenId(si.getUserOpenId());
+            Member mem = new Member();
+            mem.setUserOpenid(si.getUserOpenId());
+            mem.setUserSurplusIntegral(member.getUserSurplusIntegral() + si.getStayNumber());
+            mem.setUserIntegral(member.getUserIntegral() + si.getStayNumber());
+            mem.setUserStayIntegral(member.getUserStayIntegral() - si.getStayNumber());
+            Integer flag = memberMapper.updateMemberByUserId(mem);
 
+            /*添加入账日志*/
+            UseIntegral useIntegral = new UseIntegral();
+            useIntegral.setUserOpenId(si.getUserOpenId());
+            useIntegral.setIntegralNumber(si.getStayNumber());
+            useIntegral.setIntegralBeforeNumber(member.getUserSurplusIntegral()); //变动前
+            useIntegral.setIntegralEndNumber(mem.getUserSurplusIntegral()); //变动后
+            useIntegral.setIntegralType(1); //入账
+            useIntegral.setConfigId(si.getConfigId());
+            useIntegral.setIntegralRemark("");
+            flag = useIntegralMapper.addUseIntegral(useIntegral);
+            if (flag < 1) {
+                throw new RuntimeException("添加入账日志失败");
+            }
 
+            /*再将待入账信息改为已入账状态*/
+            StayIntegral stayInte =  new StayIntegral();
+            stayInte.setStayId(si.getStayId());
+            stayInte.setStayStatus(2);
+            flag = useIntegralMapper.updateStayIntegral(stayInte);
+            if (flag < 1) {
+                throw new RuntimeException("修改待入账状态失败");
+            }
+        }
+		/*增加入账记录*/
+        return true;
+    }
 }

+ 7 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/UseIntegralMapper.java

@@ -76,6 +76,13 @@ public interface UseIntegralMapper {
      */
     List<RankRule> getRankRule();
 
+
+    /**
+     * 修改待入账信息
+     * @return
+     */
+    Integer updateStayIntegral(StayIntegral stayIntegral);
+
     /**
      * 查询待入账积分的集合
      * @return

+ 2 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/cartMapper.xml

@@ -192,7 +192,8 @@ PUBLIC
 			O.SALES_ADDRESS_INFO salesAddressInfo, O.SALES_ADDRESS_NAME salesAddressName, O.SALES_YET_AMOUNT salesYetAmount,
 			O.SALES_USER_REMARK salesUserRemark, O.SALES_POST_NUM salesPostNum, O.SALES_POST_FIRM salesPostFirm, 
 			O.SALES_SEND_DATE salesSendDate, O.SALES_ADDRESS_POSTNUM salesAddressPostnum,O.SALES_ADDRESS_TEL salesAddressTel, 
-			O.SALES_LOCK_TYPE salesLockType,O.SALES_COUPON_RECEIVE_ID salesCouponReceiveId, 
+			O.SALES_LOCK_TYPE salesLockType,O.SALES_COUPON_RECEIVE_ID salesCouponReceiveId,
+			O.SALES_TRANSACTION_DATE salesTransactionDate,
 			O.SALES_BALANCE_AMOUNT balancePayAmount 
 		FROM 
 			TB_IAMBERRY_SHOP_SALES_ORDER O 

+ 1 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/memberMapper.xml

@@ -28,7 +28,7 @@
 		user_status userStatus,
 		user_surplus_integral userSurplusIntegral,
 		user_sub_date userSubDate,
-		
+		user_stay_integral userStayIntegral,
 		user_use_integral userUseIntegral,
 		user_income userIncome,
 		user_template_id templateId,

+ 33 - 2
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/useIntegralMapper.xml

@@ -115,7 +115,7 @@
         )
     </insert>
 
-    <!-- 查询积分来源信息 -->
+    <!-- 查询所有待入账积分 -->
     <select id="listStayIntegral" parameterType="StayIntegral" resultType="StayIntegral">
         SELECT
             t.stay_id AS  stayId,
@@ -134,6 +134,9 @@
             <if test="stayId != null">
                 AND stay_id = #{stayId}
             </if>
+            <if test="stayStatus != null">
+                AND stay_status = #{stayStatus}
+            </if>
             <if test="userOpenId != null">
                 AND user_openid = #{userOpenId}
             </if>
@@ -141,9 +144,37 @@
                 AND config_id = #{configId}
             </if>
             <if test="stayRecordedTime != null and stayRecordedTime != ''">
-                AND stay_recorded_time &gt;= #{stayRecordedTime}
+                AND stay_recorded_time &lt;= #{stayRecordedTime}
             </if>
         </where>
     </select>
 
+    <!-- 修改待入账积分状态 -->
+    <update id="updateStayIntegral" parameterType="StayIntegral">
+        UPDATE tb_iamberry_stay_integral
+        <set>
+            <if test="configId != null">
+                config_id = #{configId},
+            </if>
+            <if test="orderId != null">
+                sales_orderid = #{orderId},
+            </if>
+            <if test="stayNumber != null">
+                stay_number = #{stayNumber},
+            </if>
+            <if test="stayRecordedTime != null">
+                stay_recorded_time = #{stayRecordedTime},
+            </if>
+            <if test="stayStatus != null">
+                stay_status = #{stayStatus},
+            </if>
+            <if test="stayRemark != null">
+                stay_remark = #{stayRemark}
+            </if>
+        </set>
+        <where>
+            stay_id = #{stayId}
+        </where>
+    </update>
+
 </mapper>

+ 3 - 2
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/mq/MQTask.java

@@ -421,8 +421,9 @@ public class MQTask implements InitializingBean {
 	/**
 	 * 待入账积分更改为已入账积分(每小时执行一次)
 	 */
-	@SuppressWarnings(value = {"unchecked", "rawtypes"})
-	@Scheduled(cron = "0 0 0/1 * * ?")
+//	@SuppressWarnings(value = {"unchecked", "rawtypes"})
+//	@Scheduled(cron = "0 0 0/1 * * ?")
+//	@Scheduled(cron = "0 0/3 * * * ?")//每三分钟执行一次
 	public void updateIntegralStayToAlready() {
 		useIntegralService.updateIntegralStayToAlready();
 	}

+ 39 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java

@@ -10,8 +10,10 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.iamberry.wechat.core.entity.integral.StayIntegral;
 import com.iamberry.wechat.core.entity.product.ProductColor;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
+import com.iamberry.wechat.face.integral.UseIntegralService;
 import com.iamberry.wechat.face.order.AdminOrderService;
 import com.iamberry.wechat.face.porduct.ProductColorService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -63,7 +65,8 @@ import com.iamberry.wechat.tools.ValidatorUtil;
  * Update Date:2016年4月20日
  */
 @Controller
-@RequestMapping("/wechat/order")
+//@RequestMapping("/wechat/order")
+@RequestMapping("/order")
 public class OrderHandler {
 
 	@Autowired
@@ -97,6 +100,9 @@ public class OrderHandler {
 	private TemporaryQrcodeService temporaryQrcodeService;
 	@Autowired
 	private ProductColorService productColorService;
+
+	@Autowired
+	private UseIntegralService useIntegralService;
 	/**
 	 * 支付前,调用方法
 	 * @param request
@@ -466,16 +472,48 @@ public class OrderHandler {
 		if (orderStatus != null && orderStatus.intValue() == 2) {
 			msg.setResultCode(ResultInfo.SUCCESSCODE);
 			msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+			msg.setData(orderId);
 			msg.setStatus(true);
 			return msg;
 		}
 		msg.setResultCode(ResultInfo.ERRORCODE);
 		msg.setMessage(NameUtils.getConfig("ERRORINFO"));
+		msg.setData(orderId);
 		msg.setStatus(false);
 
 		return msg;
 	}
 
+	/**
+	 * 获取订单支付的积分
+	 * @param orderId
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/getOrderIntegral")
+	public ResultMsg getOrderIntegral(@RequestParam(value = "orderId") String orderId) {
+		ResultMsg msg = new ResultMsg();
+		msg.setResultCode(ResultInfo.ERRORCODE);
+
+		//Integer orderStatus = cartService.selectOrderStatusByOrderId(orderId);
+
+		StayIntegral stayIntegral = new StayIntegral();
+		stayIntegral.setOrderId(orderId);
+		List<StayIntegral>  listStayIntegral = useIntegralService.listStayIntegral(stayIntegral);
+
+		if (listStayIntegral != null && listStayIntegral.size() > 0) {
+			msg.setResultCode(ResultInfo.SUCCESSCODE);
+			msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+			msg.setData(listStayIntegral.get(0).getStayNumber());
+			msg.setStatus(true);
+			return msg;
+		}
+		msg.setResultCode(ResultInfo.ERRORCODE);
+		msg.setMessage(NameUtils.getConfig("ERRORINFO"));
+		msg.setStatus(false);
+		return msg;
+	}
+
 	@RequestMapping("/paySuccess")
 	public void paySuccess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 		request.getRequestDispatcher(NameUtils.getConfig("WECHAT_SHOP_ORDER_PAY_SUCCESS")).forward(request, response);

+ 1 - 1
tooth-wechat-web/src/main/resources/iamberry-wechat-web-ioc.xml

@@ -51,7 +51,7 @@
 	<bean id="loadResultInfo" class="com.iamberry.wechat.tools.loadResultUtil" lazy-init="false"></bean>
 	
 	<!-- 开启注解启动定时器  -->
-    <!--<task:annotation-driven/>-->
+    <task:annotation-driven/>
     
     <!-- 将30天后奖励积分的定时任务的xml引入-->
 	<!--<import resource="classpath:iamberry-wechat-service-orderTesk.xml"></import>-->