|
@@ -5,35 +5,49 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
+import com.ytpm.agent.enums.UserStatusEnum;
|
|
|
|
|
+import com.ytpm.agent.model.YtAppUser;
|
|
|
|
|
+import com.ytpm.agent.model.YtPlatformBanned;
|
|
|
import com.ytpm.app.view.YtAppUserListView;
|
|
import com.ytpm.app.view.YtAppUserListView;
|
|
|
import com.ytpm.custom.CustomField;
|
|
import com.ytpm.custom.CustomField;
|
|
|
import com.ytpm.dao.DictMapper;
|
|
import com.ytpm.dao.DictMapper;
|
|
|
import com.ytpm.dao.RiskConfigMapper;
|
|
import com.ytpm.dao.RiskConfigMapper;
|
|
|
|
|
+import com.ytpm.dao.RiskUserMapper;
|
|
|
import com.ytpm.general.RepMessage;
|
|
import com.ytpm.general.RepMessage;
|
|
|
import com.ytpm.general.Result;
|
|
import com.ytpm.general.Result;
|
|
|
import com.ytpm.general.ResultTable;
|
|
import com.ytpm.general.ResultTable;
|
|
|
import com.ytpm.risk.model.YtRiskConfig;
|
|
import com.ytpm.risk.model.YtRiskConfig;
|
|
|
|
|
+import com.ytpm.risk.param.RiskBannedParam;
|
|
|
import com.ytpm.risk.param.RiskConfigListParam;
|
|
import com.ytpm.risk.param.RiskConfigListParam;
|
|
|
import com.ytpm.risk.param.RiskConfigParam;
|
|
import com.ytpm.risk.param.RiskConfigParam;
|
|
|
import com.ytpm.risk.view.RiskConfigView;
|
|
import com.ytpm.risk.view.RiskConfigView;
|
|
|
import com.ytpm.service.RiskService;
|
|
import com.ytpm.service.RiskService;
|
|
|
-import com.ytpm.util.IDUtil;
|
|
|
|
|
import com.ytpm.util.ReflectUtil;
|
|
import com.ytpm.util.ReflectUtil;
|
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
import java.lang.reflect.Field;
|
|
import java.lang.reflect.Field;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@Service
|
|
@Service
|
|
|
public class RiskServiceImpl extends ReflectUtil implements RiskService {
|
|
public class RiskServiceImpl extends ReflectUtil implements RiskService {
|
|
|
|
|
|
|
|
|
|
+ @Value("${risk.banned.defaultLimit}")
|
|
|
|
|
+ private Integer defaultLimit;
|
|
|
|
|
+ @Value("${risk.banned.defaultReason}")
|
|
|
|
|
+ private String defaultReason;
|
|
|
@Resource
|
|
@Resource
|
|
|
private DictMapper dictMapper;
|
|
private DictMapper dictMapper;
|
|
|
@Resource
|
|
@Resource
|
|
|
private RiskConfigMapper configMapper;
|
|
private RiskConfigMapper configMapper;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private RiskUserMapper riskUserMapper;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 查询配置字段选项
|
|
* 查询配置字段选项
|
|
@@ -79,4 +93,59 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
|
|
|
return Result.resultOk();
|
|
return Result.resultOk();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 锁定用户禁止用户登录
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Result<?> lockUser(String userId) {
|
|
|
|
|
+ YtAppUser appUser = riskUserMapper.selectByUserId(userId);
|
|
|
|
|
+ if(Objects.isNull(appUser)){
|
|
|
|
|
+ return Result.resultOk(RepMessage.LOCK_USER_SUCCESS);
|
|
|
|
|
+ }
|
|
|
|
|
+ if(UserStatusEnum.NORMAL.getCode().equals(appUser.getUserStatus())){
|
|
|
|
|
+ return Result.resultErr(RepMessage.ALREADY_RISK_USER);
|
|
|
|
|
+ }
|
|
|
|
|
+ YtAppUser user = new YtAppUser();
|
|
|
|
|
+ user.setUserId(userId);
|
|
|
|
|
+ user.setUserStatus(UserStatusEnum.LOCK.getCode());
|
|
|
|
|
+ riskUserMapper.updateByUserId(user);
|
|
|
|
|
+ return Result.resultOk(RepMessage.LOCK_USER_SUCCESS);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 封禁用户
|
|
|
|
|
+ */
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Result<?> banned(RiskBannedParam param) {
|
|
|
|
|
+ List<YtAppUser> userList = riskUserMapper.getBannedUserList(param);
|
|
|
|
|
+ if(CollUtil.isEmpty(userList)){
|
|
|
|
|
+ return Result.resultOk(RepMessage.ALREADY_RISK_USER);
|
|
|
|
|
+ }
|
|
|
|
|
+ List<String> userIdList = userList.stream().map(YtAppUser::getUserId)
|
|
|
|
|
+ .distinct().collect(Collectors.toList());
|
|
|
|
|
+ riskUserMapper.banned(userIdList);
|
|
|
|
|
+ addBannedRecord(userIdList,param);
|
|
|
|
|
+ return Result.resultOk(RepMessage.ALREADY_RISK_USER);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 增加封禁记录
|
|
|
|
|
+ */
|
|
|
|
|
+ private void addBannedRecord(List<String> userIdList,RiskBannedParam param) {
|
|
|
|
|
+ YtPlatformBanned banned;
|
|
|
|
|
+ for (String userId : userIdList) {
|
|
|
|
|
+ banned = new YtPlatformBanned();
|
|
|
|
|
+ banned.setBannedId(IdUtil.fastSimpleUUID());
|
|
|
|
|
+ banned.setUserId(userId);
|
|
|
|
|
+ banned.setChannelId(param.getOperator());
|
|
|
|
|
+ banned.setBannedLimit(Objects.isNull(param.getBannedLimit())?defaultLimit:param.getBannedLimit());
|
|
|
|
|
+ banned.setBannedReason(StrUtil.isBlank(param.getBannedReason())?defaultReason:param.getBannedReason());
|
|
|
|
|
+ banned.setBannedType(param.getBannedType());
|
|
|
|
|
+ banned.setOperator(param.getOperator());
|
|
|
|
|
+ banned.setOperatorName(param.getOperatorName());
|
|
|
|
|
+ riskUserMapper.addBannedRecord(banned);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|