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 addIdentifyCode(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)
|
throw new ForbiddenUserIdentifyCodeException(2, "信息已存在");
|
|
identifyCode.setCreateTime(new Date());
|
identifyCode.setEffective(true);
|
forbiddenUserIdentifyCodeMapper.insertSelective(identifyCode);
|
}
|
|
@Override
|
public ForbiddenUserIdentifyCode listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum type,
|
String identifyCode) {
|
List<ForbiddenUserIdentifyCode> 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:
|
break;
|
}
|
|
if (typeEnum == null) {
|
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 {
|
// 解封
|
codeObject.setEffective(false);
|
codeObject.setUpdateTime(new Date());
|
forbiddenUserIdentifyCodeMapper.updateByPrimaryKeySelective(codeObject);
|
}
|
}
|
|
}
|