| package com.matrix.system.shopXcx.mqTask; | 
|   | 
|   | 
| import com.matrix.biz.bean.BizUser; | 
| import com.matrix.biz.service.BizUserService; | 
| import com.matrix.component.rabbitmq.MqTask; | 
| import com.matrix.core.tools.LogUtil; | 
| import com.matrix.core.tools.StringUtils; | 
| import com.matrix.system.constance.Dictionary; | 
| import com.matrix.system.hive.bean.SysShopInfo; | 
| import com.matrix.system.hive.bean.SysVipInfo; | 
| import com.matrix.system.hive.dao.SysShopInfoDao; | 
| import com.matrix.system.hive.dao.SysVipInfoDao; | 
| import com.matrix.system.hive.plugin.util.CollectionUtils; | 
| import com.rabbitmq.client.DeliverCallback; | 
| import com.rabbitmq.client.Delivery; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
|   | 
| import java.io.IOException; | 
| import java.util.List; | 
|   | 
| public class VipCreateTask implements DeliverCallback { | 
|   | 
|     @Autowired | 
|     BizUserService bizUserService; | 
|   | 
|     @Autowired | 
|     SysShopInfoDao shopInfoDao; | 
|   | 
|     @Autowired | 
|     private SysVipInfoDao vipDap; | 
|   | 
|     //TODO 用户可以都归属一个电商店铺,发货的时候指定仓库出货,微商城的产品可以绑定仓库库存 | 
|   | 
|     @Override | 
|     public void handle(String consumerTag, Delivery message) throws IOException { | 
|         try { | 
|             String messages = new String(message.getBody(), "UTF-8"); | 
|   | 
|             String userId=messages.split(",")[0]; | 
|             Long shopId=Long.parseLong(messages.split(",")[1]); | 
|   | 
|             BizUser userInfo = bizUserService.findByOpenId(userId); | 
|   | 
|             // TODO 校验用户是否已存在 , 公司id不能写死 | 
|             SysVipInfo vip = vipDap.selectByPhone(userInfo.getPhoneNumber()); | 
|             if (vip != null) { | 
|                 LogUtil.warn("会员{}已经存在", userInfo.getPhoneNumber()); | 
|                 //更新信息 | 
|                 vip.setOpenId(userInfo.getOpenId()); | 
|                 if(StringUtils.isBlank(vip.getPhoto())){ | 
|                     vip.setPhoto(userInfo.getAvatarUrl()); | 
|                 } | 
|                 vipDap.update(vip); | 
|             } else { | 
|                 SysVipInfo vipInfo = new SysVipInfo(); | 
|                 //在备注记下微商城的用户id | 
|                 vipInfo.setOpenId(userInfo.getOpenId()); | 
|                 vipInfo.setAddr(userInfo.getProvince() + " " + userInfo.getCity()); | 
|                 vipInfo.setPhone(userInfo.getPhoneNumber()); | 
|                 if(StringUtils.isBlank(vipInfo.getPhoto())){ | 
|                     vipInfo.setPhoto(userInfo.getAvatarUrl()); | 
|                 } | 
|                 if (userInfo.getGender() != null) { | 
|                     vipInfo.setSex(userInfo.getGender().equals("1") ? "男" : "女"); | 
|                 } | 
|                 vipInfo.setVipName(userInfo.getNickName()); | 
|                 vipInfo.setCompanyId(userInfo.getCompanyId()); | 
|                 vipInfo.setShopId(shopId); | 
|                 vipInfo.setArrivalWay("微商城"); | 
|                 vipInfo.setVipState(Dictionary.VIP_STATE_HY); | 
|                 vipInfo.setVipType(Dictionary.VIP_TYPE_NOCARD); | 
|                 vipInfo.setIsDeal(SysVipInfo.UNDEAL_VIP); | 
|                 vipDap.insert(vipInfo); | 
|             } | 
|         } catch (Exception e) { | 
|             LogUtil.error("消费者执行异常", e); | 
|         } | 
|   | 
|     } | 
| } |