package com.yeshi.fanli.service.impl.user; import java.util.Date; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.yeshi.fanli.dao.mybatis.user.ForbiddenUserIdentifyCodeMapper; import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode; import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum; import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException; import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService; import com.yeshi.fanli.util.StringUtil; @Service public class ForbiddenUserIdentifyCodeServiceImpl implements ForbiddenUserIdentifyCodeService { @Resource private ForbiddenUserIdentifyCodeMapper forbiddenUserIdentifyCodeMapper; @Override public void forbiddenIdentifyCode(ForbiddenUserIdentifyCode identifyCode) throws ForbiddenUserIdentifyCodeException { if (identifyCode == null || identifyCode.getType() == null || StringUtil.isNullOrEmpty(identifyCode.getIdentifyCode())) throw new ForbiddenUserIdentifyCodeException(1, "信息不完整"); ForbiddenUserIdentifyCode old = listByTypeAndIdentifyCode(identifyCode.getType(), identifyCode.getIdentifyCode()); if (old != null) { identifyCode.setId(old.getId()); } identifyCode.setCreateTime(new Date()); identifyCode.setEffective(true); forbiddenUserIdentifyCodeMapper.insertSelective(identifyCode); } @Override public ForbiddenUserIdentifyCode listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum type, String identifyCode) { List list = forbiddenUserIdentifyCodeMapper.listByTypeAndIdentifyCode(type, identifyCode); if (list != null && list.size() > 0) return list.get(0); else return null; } @Override public void update(ForbiddenUserIdentifyCode identifyCode) { if (identifyCode == null) return; identifyCode.setUpdateTime(new Date()); forbiddenUserIdentifyCodeMapper.updateByPrimaryKeySelective(identifyCode); } @Override public void delete(ForbiddenUserIdentifyCode identifyCode) { if (identifyCode == null || identifyCode.getId() == null) return; forbiddenUserIdentifyCodeMapper.deleteByPrimaryKey(identifyCode.getId()); } @Override public void saveForbiddenInfo(String identifyCode, Integer type) throws ForbiddenUserIdentifyCodeException{ ForbiddenUserIdentifyCodeTypeEnum typeEnum = null; switch(type) { case 1: // 微信账号 typeEnum = ForbiddenUserIdentifyCodeTypeEnum.wxUnionId; break; case 2: // 淘宝账号 typeEnum = ForbiddenUserIdentifyCodeTypeEnum.taobaoUid; break; case 3: // 电话号码 typeEnum = ForbiddenUserIdentifyCodeTypeEnum.phone; break; case 4: // 支付宝账号 typeEnum = ForbiddenUserIdentifyCodeTypeEnum.alipayAccount; break; default: throw new ForbiddenUserIdentifyCodeException(1, "类型不匹配"); } ForbiddenUserIdentifyCode codeObject = listByTypeAndIdentifyCode(typeEnum ,identifyCode); if (codeObject == null) { // 封禁 codeObject = new ForbiddenUserIdentifyCode(); codeObject.setType(typeEnum); codeObject.setIdentifyCode(identifyCode); codeObject.setEffective(true); codeObject.setCreateTime(new Date()); codeObject.setUpdateTime(new Date()); forbiddenUserIdentifyCodeMapper.insertSelective(codeObject); } else { Boolean effective = codeObject.getEffective(); if (effective) { // 解封 codeObject.setEffective(false); } else { // 封禁 codeObject.setEffective(true); } codeObject.setUpdateTime(new Date()); forbiddenUserIdentifyCodeMapper.updateByPrimaryKeySelective(codeObject); } } }