admin
2020-11-28 dc5be7d38446f70e6ff86df311119c32b41fe7f8
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java
@@ -6,13 +6,22 @@
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.Producer;
import com.yeshi.fanli.dao.mybatis.user.UserCustomSettingsMapper;
import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
import com.yeshi.fanli.dto.mq.user.body.UserPhoneOpenMQMsg;
import com.yeshi.fanli.entity.bus.user.UserCustomSettings;
import com.yeshi.fanli.entity.bus.user.UserCustomSettings.UserSettingTypeEnum;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.exception.user.UserCustomSettingsException;
import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
import com.yeshi.fanli.service.manger.msg.RocketMQManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
import com.yeshi.fanli.vo.user.UserSettingsVO;
@Service
@@ -21,7 +30,11 @@
   @Resource
   private UserCustomSettingsMapper userCustomSettingsMapper;
   @Resource
   private RocketMQManager rocketMQManager;
   @Override
   @Transactional
   public void saveModuleState(Long uid, String type, Integer state) throws UserCustomSettingsException {
      if (uid == null || type == null || state == null || state > 1 || state < 0) {
         throw new UserCustomSettingsException(1, "传递参数不正确");
@@ -40,6 +53,8 @@
         mineTypeNum = UserSettingTypeEnum.noInvitationBonus;
      } else if (type.equals(UserSettingTypeEnum.openSpreadHongBao.name())) {
         mineTypeNum = UserSettingTypeEnum.openSpreadHongBao;
      } else if (type.equals(UserSettingTypeEnum.noDisplayPhoneNum.name())) {
         mineTypeNum = UserSettingTypeEnum.noDisplayPhoneNum;
      } else {
         throw new UserCustomSettingsException(1, "参数类型不匹配");
      }
@@ -62,7 +77,12 @@
         settings.setCreateTime(new Date());
         userCustomSettingsMapper.insertSelective(settings);
      }
      if (mineTypeNum == UserSettingTypeEnum.noDisplayPhoneNum && !Constant.IS_TEST) {
         UserPhoneOpenMQMsg msg = new UserPhoneOpenMQMsg(uid, state == 1? false: true, new Date());
         Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userPhoneOpen, msg);
         rocketMQManager.sendNormalMsg(message, null);
      }
   }
   @Override
@@ -70,13 +90,11 @@
      if (uid == null) {
         throw new UserCustomSettingsException(1, "uid不能为空");
      }
      return userCustomSettingsMapper.getSettingsByUid(uid);
   }
   @Override
   public UserCustomSettings getSettingsByUidAndType(Long uid, String type) throws UserCustomSettingsException {
      if (uid == null || type == null || type.trim().length() == 0) {
         throw new UserCustomSettingsException(1, "传递的参数不能为空");
      }
@@ -114,8 +132,9 @@
               userSettingsVO.setNoInvitationBonus(state);
            } else if (typeEnum.equals(UserSettingTypeEnum.openSpreadHongBao)) {
               userSettingsVO.setOpenSpreadHongBao(state);
            } else if (typeEnum.equals(UserSettingTypeEnum.noDisplayPhoneNum)) {
               userSettingsVO.setNoDisplayPhoneNum(state);
            }
         }
      }
@@ -145,4 +164,16 @@
   public List<UserCustomSettings> listByUidListAndTypeAndState(List<Long> uidList, String type, Integer state) {
      return userCustomSettingsMapper.listByUidListAndTypeAndState(uidList, type, state);
   }
   @Override
   public boolean validateDisplayPhoneByUid(Long uid) {
      UserCustomSettings settings = userCustomSettingsMapper.getSettingsByUidAndType(uid,
            UserSettingTypeEnum.noDisplayPhoneNum.name());
      if (settings != null && settings.getState() != null && settings.getState() == 1) {
         return false;
      }
      return true;
   }
}