Browse Source

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 years ago
parent
commit
8eab661272

+ 3 - 3
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/StayIntegral.java

@@ -9,7 +9,7 @@ public class StayIntegral implements Serializable{
     private Integer stayId;             //记录ID
     private String userOpenId;          //用户openid
     private Integer configId;           //来源
-    private Integer orderId;//订单id
+    private String orderId;//订单id
     private Integer stayNumber;         //积分数量
     private Date stayRecordedTime;      //积分入账时间
     private Integer stayStatus;         //状态
@@ -41,11 +41,11 @@ public class StayIntegral implements Serializable{
         this.configId = configId;
     }
 
-    public Integer getOrderId() {
+    public String getOrderId() {
         return orderId;
     }
 
-    public void setOrderId(Integer orderId) {
+    public void setOrderId(String orderId) {
         this.orderId = orderId;
     }
 

+ 3 - 3
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/apparatus/ApparatusService.java

@@ -44,10 +44,10 @@ public interface ApparatusService {
     /**
      * 添加待入账积分统一调用该接口
      * @param openId
-     * @param IntegralType 1.新注册会员送一百积分  2.新增牙刷赠送400积分 3.购买牙刷,赠送订单金额乘以2的积分
-     * @param orderAmount  订单金额  IntegralType为3时有值
+     * @param IntegralType 1.新注册会员送一百积分  2.新增牙刷赠送400积分 3.购买牙刷,赠送积分
+     * @param orderAllIntegral  订单金额  IntegralType为3时有值
      * @param orderId  订单id  IntegralType为3时有值
      * @return
      */
-    boolean addStayIntegral(String openId,Integer IntegralType,Double orderAmount,Integer orderId);
+    boolean addStayIntegral(String openId,Integer IntegralType,Integer orderAllIntegral,String orderId);
 }

+ 10 - 8
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/apparatus/ApparatusServiceImpl.java

@@ -35,6 +35,7 @@ public class ApparatusServiceImpl implements ApparatusService {
     @Autowired
     private MemberMapper memberMapper;
 
+
     @Override
     public List<Apparatus> listApparatusPage(Apparatus apparatus) {
         return apparatusMapper.listApparatusPage(apparatus);
@@ -60,11 +61,11 @@ public class ApparatusServiceImpl implements ApparatusService {
             //这里判断是否是会员 1.会员 2.普通用户
             if(memberInfo.getUserIdentity() == 2){
                 //赠送新注册积分
-                addStayIntegral(member.getUserOpenid(),1,0.0,0);
+                addStayIntegral(member.getUserOpenid(),1,0,"");
 
             }
             //赠送400新增牙刷积分
-            addStayIntegral(member.getUserOpenid(),2,0.0,0);
+            addStayIntegral(member.getUserOpenid(),2,0,"");
            //修改用户信息
             member.setUserIdentity(1);
             if(memberMapper.updateMemberByUserId(member) < 1){
@@ -111,13 +112,13 @@ public class ApparatusServiceImpl implements ApparatusService {
      * 添加待入账积分统一调用该接口
      * @param openId
      * @param IntegralType 1.新注册会员送一百积分  2.新增牙刷赠送400积分 3.购买牙刷,赠送订单金额乘以2的积分
-     * @param orderAmount  订单金额  IntegralType为3时有值
+     * @param orderAllIntegral  订单金额  IntegralType为3时有值
      * @param orderId  订单id  IntegralType为3时有值
      * @return
      */
     @Override
     @Transactional
-    public boolean addStayIntegral(String openId,Integer IntegralType,Double orderAmount,Integer orderId){
+    public boolean addStayIntegral(String openId,Integer IntegralType,Integer orderAllIntegral,String orderId){
         if(openId == null||openId.equals("") || IntegralType < 1){
             return false;
         }
@@ -148,15 +149,17 @@ public class ApparatusServiceImpl implements ApparatusService {
                 stayIntegral.setStayRecordedTime(calendar.getTime());
                 break;
             case 3:
-                if(orderAmount == 0){
+                if(orderAllIntegral == 0){
                     break;
                 }
                 integralConfig = getIntegralId(250);
-                stayNumber = (int)(orderAmount * 2);
+                stayNumber = orderAllIntegral;
                 stayIntegral.setOrderId(orderId);
                 //规则表查询新注册会员和新增牙刷积分到账时间(多少天到账)
                 buyConfig = getIntegralId(252);
-                calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+buyConfig.getIntegralConfigNumber());
+                ShopSystemRule shopSystemRule=systemMapper.selectOneShopRuleById(252);
+                Integer day = shopSystemRule.getRuleNum().intValue();
+                calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+day);
                 stayIntegral.setStayRecordedTime(calendar.getTime());
                 break;
             default:
@@ -165,7 +168,6 @@ public class ApparatusServiceImpl implements ApparatusService {
         if(integralConfig == null){
             return false;
         }
-
         stayIntegral.setUserOpenId(openId);
         stayIntegral.setConfigId(integralConfig.getIntegralConfigId());
         stayIntegral.setStayNumber(stayNumber);

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

@@ -346,8 +346,8 @@
 	</select>
 
 	<insert id="insertStayIntegral" parameterType="StayIntegral">
-        INSERT INTO (user_openid,config_id,order_id,stay_number,stay_recorded_time,stay_status,stay_remark,stay_create_time)
+        INSERT INTO tb_iamberry_stay_integral (user_openid,config_id,sales_orderid,stay_number,stay_recorded_time,stay_status,stay_remark)
         VALUES
-         (userOpenid,configId,orderId,stayNumber,stayRecordedTime,stayStatus,stayRemark,NOW())
+         (#{userOpenId},#{configId},#{orderId},#{stayNumber},#{stayRecordedTime},#{stayStatus},#{stayRemark})
 	</insert>
 </mapper> 

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

@@ -80,12 +80,12 @@
           integral_number,
           integral_before_number,
           integral_end_number,
-          integral_remark,
+          integral_remarks,
           integral_create_time
         )
         VALUES
         (
-          #{userOpenid},#{integralType},#{configId},#{integralNumber},
+          #{userOpenId},#{integralType},#{configId},#{integralNumber},
           #{integralBeforeNumber},#{integralEndNumber},#{integralRemark},NOW()
         )
     </insert>

+ 70 - 4
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/CartHandlers.java

@@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletRequest;
 
 import com.iamberry.wechat.core.entity.product.Product;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
+import com.iamberry.wechat.face.apparatus.ApparatusService;
 import com.iamberry.wechat.face.order.CodeService;
 import com.iamberry.wechat.service.ImberryConfig;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -53,8 +54,7 @@ import com.iamberry.wechat.tools.StaticInfo;
 import static com.iamberry.wechat.service.ImberryConfig.INFORM_SHIPPING;
 
 @Controller
-//@RequestMapping("/wechat/cart")
-@RequestMapping("/cart")
+@RequestMapping("/wechat/cart")
 public class CartHandlers {
 
 	@Autowired
@@ -84,6 +84,9 @@ public class CartHandlers {
 	@Autowired
 	private CodeService codeService;
 
+	@Autowired
+	private ApparatusService apparatusService;
+
 	/**
 	 * 进入购物车页面
 	 * @param request
@@ -340,8 +343,7 @@ public class CartHandlers {
 									  @RequestParam(value = "pageNO", defaultValue = "1") Integer pageNO,
 									  @RequestParam(value = "salesStatus",defaultValue = "")String salesStatus,
 									  @RequestParam(value = "text",defaultValue = "")String text) throws Exception {
-//		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
-		String openId  = "oZ9pv02WMRQgyDVRY1a_daYecwHI";
+		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
 		String beginDate = request.getParameter("beginDate");
 		PaperBean bean = new PaperBean();
 		ResultMsg remsg=new ResultMsg();
@@ -561,6 +563,70 @@ public class CartHandlers {
 	}
 
 	/**
+	 * 	修改订单状态
+	 * @param request
+	 * @param orderId
+	 * @return ResultMsg
+	 * @throws Exception
+	 */
+	@ResponseBody
+	@RequestMapping("/updateOrderStatus")
+	public ResultMsg updateOrderStatus(HttpServletRequest request,
+								 @RequestParam(value = "orderId",defaultValue = "")String orderId,
+								 @RequestParam(value = "remark",defaultValue = "")String remark,
+								 @RequestParam(value = "status",defaultValue = "-1") Integer status)  throws Exception {
+		String openId = WechatUtils.getUserBySession(request).getUserOpenid();
+		ResultMsg remsg = new ResultMsg();
+		Map<String, Object> map = new HashMap<String, Object>();
+		if(status == -1){
+			remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
+			remsg.setResultCode(ResultInfo.ERRORCODE);
+			remsg.setStatus(false);
+			return remsg;
+		}
+
+		if (null != orderId && !"".equals(orderId)) {
+			ShopSalesOrderDto orderDto = this.cartService.getOpenIdAndStatus(orderId);
+			if (orderDto != null) {
+				if (!openId.equals(orderDto.getSalesOpenid())) {
+					remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
+					remsg.setResultCode(ResultInfo.ERRORCODE);
+					remsg.setStatus(false);
+					return remsg;
+				}
+			} else {
+				remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
+				remsg.setResultCode(ResultInfo.ERRORCODE);
+				remsg.setStatus(false);
+				return remsg;
+			}
+			map = cartService.updateOrderStatus(orderId, Integer.valueOf(orderDto.getSalesStatus()), remark, status);
+
+			if (map.get("flag") == true && Integer.valueOf(orderDto.getSalesStatus()) == 1) { //待支付,取消订单
+				if (null != orderDto.getSalesCouponReceiveId() && !"".equals(orderDto.getSalesCouponReceiveId())) {
+					CouponItem couponItem = new CouponItem();
+					couponItem.setCouponItemId(orderDto.getSalesCouponReceiveId());
+					couponItem.setCouponItemUseropenid(openId);
+					couponItem.setCouponUseStatus(1);
+					couponItem.setOldCouponUseStatus(7);
+					couponItemService.updateCouponItemById(couponItem);
+				}
+			}
+		}
+
+		if(map.get("flag") == true){
+			remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+			remsg.setResultCode(ResultInfo.SUCCESSCODE);
+			remsg.setStatus(true);
+		}else{
+			remsg.setMessage(String.valueOf(map.get("msg")));
+			remsg.setResultCode(ResultInfo.ERRORCODE);
+			remsg.setStatus(false);
+		}
+		return remsg;
+	}
+
+	/**
 	 * 	取消订单
 	 * @param request
 	 * @param orderId

+ 2 - 10
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java

@@ -63,8 +63,7 @@ import com.iamberry.wechat.tools.ValidatorUtil;
  * Update Date:2016年4月20日
  */
 @Controller
-//@RequestMapping("/wechat/order")
-@RequestMapping("/order")
+@RequestMapping("/wechat/order")
 public class OrderHandler {
 
 	@Autowired
@@ -114,10 +113,6 @@ public class OrderHandler {
 		OrderPayDto dto = new OrderPayDto();
 		// 用户信息
 		Member member = WechatUtils.getUserBySession(request);
-//		Member member = new Member();
-//		member.setUserId(14708);
-//		member.setUserOpenid("oZ9pv02WMRQgyDVRY1a_daYecwHI");
-
 		member = memberService.getMemberByUserId(member.getUserId());
 		String cartIds = request.getParameter("cartIds");
 		if (cartIds == null) {
@@ -246,10 +241,7 @@ public class OrderHandler {
 		SendPayDto dto = new SendPayDto();
 		dto.setSuccess(false);
 
-		//Member member = WechatUtils.getUserBySession(request); // 当前用户
-		Member member = new Member();
-		member.setUserId(14708);
-		member.setUserOpenid("oZ9pv02WMRQgyDVRY1a_daYecwHI");
+		Member member = WechatUtils.getUserBySession(request); // 当前用户
 
 		/** 数据格式校验 */
 		if (member == null || member.getUserOpenid() == null) {// 校验当前用户信息是否丢失

+ 7 - 23
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/ResponseWechatPayHandler.java

@@ -25,6 +25,7 @@ import com.iamberry.wechat.core.entity.rent.RentApply;
 import com.iamberry.wechat.core.entity.wx.WxPayResult;
 import com.iamberry.wechat.face.admin.SystemService;
 import com.iamberry.wechat.face.agentInfo.AgentPurchaseOrderService;
+import com.iamberry.wechat.face.apparatus.ApparatusService;
 import com.iamberry.wechat.face.cart.CartService;
 import com.iamberry.wechat.face.coupon.CouponItemService;
 import com.iamberry.wechat.face.giftCard.AgentMachineService;
@@ -62,6 +63,7 @@ import java.net.URLDecoder;
 import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.logging.Logger;
 
 /**
  * @author 何秀刚
@@ -123,6 +125,8 @@ public class ResponseWechatPayHandler {
 	private AgentPurchaseOrderService agentPurchaseOrderService;
 	@Autowired
 	private AdminOrderService adminOrderService;
+	@Autowired
+	private ApparatusService apparatusService;
 
 	/**
 	 * 销售订单支付回调方法 -- tooth订单返回
@@ -212,38 +216,18 @@ public class ResponseWechatPayHandler {
 							Integer integral = orderItem.getItemProductDiscount() * (orderItem.getItemNum()*3);
 							allIntegral += integral;
 						}
-
 					}
 					if(couponAmount > 0){  //有优惠券减去优惠券的金额
 						allIntegral += -couponAmount*3;
 					}
-					//allIntegral
+					boolean flag = apparatusService.addStayIntegral(or.getSalesOpenid(),3,allIntegral,or.getSalesOrderid());
+					ratFWLogger.info("积分是否入账:"+ flag);
 					/*----------计算积分-----------*/
 
-
-					//更新账户余额
-					/*int balancePayAmount=order.getBalancePayAmount();
-					if(balancePayAmount>0){
-						Member member=new Member();
-						member.setUserOpenid(order.getSalesOpenid());
-						member.setUserIncome(-balancePayAmount);
-						memberService.updateUserIncomeByOpenId(member);
-						
-						//现金使用记录
-						CashLog log=new CashLog();
-						log.setCashLogsIntroduction("订单支出");
-						log.setCashLogsNum(balancePayAmount);
-						log.setCashLogsOpenid(member.getUserOpenid());
-						log.setCashLogsType(2);
-						log.setCashLogsResType(3);
-						log.setCashLogsOrderid(order.getSalesOrderid());
-						log.setCashLogsCreateDate(nowDate);
-						count=cashLogService.addCashLog(log);
-					}*/
 					if (count < 1) {
 						resXml = "<xml><return_code><![CDATA[FAIL]]></return_code><return_msg><![CDATA[报文有误]]></return_msg></xml>";
 					}
-//System.out.println("===========pay 168 快速插入=============="+count);
+
 					// 给订单的回调修改状态
 					try {
 						MQMessage message = new MQMessage();