|
|
@@ -4,23 +4,27 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
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.agent.model.YtPlatformDeblocking;
|
|
|
import com.ytpm.app.view.YtAppUserListView;
|
|
|
import com.ytpm.custom.CustomField;
|
|
|
import com.ytpm.dao.DictMapper;
|
|
|
import com.ytpm.dao.RiskConfigMapper;
|
|
|
+import com.ytpm.dao.RiskManageMapper;
|
|
|
import com.ytpm.dao.RiskUserMapper;
|
|
|
import com.ytpm.general.RepMessage;
|
|
|
import com.ytpm.general.Result;
|
|
|
import com.ytpm.general.ResultTable;
|
|
|
import com.ytpm.risk.model.YtRiskConfig;
|
|
|
-import com.ytpm.risk.param.RiskBannedParam;
|
|
|
-import com.ytpm.risk.param.RiskConfigListParam;
|
|
|
-import com.ytpm.risk.param.RiskConfigParam;
|
|
|
+import com.ytpm.risk.param.*;
|
|
|
+import com.ytpm.risk.view.RiskBannedListView;
|
|
|
+import com.ytpm.risk.view.RiskConfigListView;
|
|
|
import com.ytpm.risk.view.RiskConfigView;
|
|
|
+import com.ytpm.risk.view.RiskDeblockingListView;
|
|
|
import com.ytpm.service.RiskService;
|
|
|
import com.ytpm.util.ReflectUtil;
|
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
|
@@ -30,9 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.lang.reflect.Field;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
@@ -48,6 +50,8 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
|
|
|
private RiskConfigMapper configMapper;
|
|
|
@Resource
|
|
|
private RiskUserMapper riskUserMapper;
|
|
|
+ @Resource
|
|
|
+ private RiskManageMapper riskManageMapper;
|
|
|
|
|
|
/**
|
|
|
* 查询配置字段选项
|
|
|
@@ -87,6 +91,7 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
|
|
|
listVO.setConfigId(IdUtil.fastSimpleUUID());
|
|
|
config = new YtRiskConfig();
|
|
|
BeanUtil.copyProperties(listVO, config);
|
|
|
+ config.setChannelId(param.getChannelId());
|
|
|
configs.add(config);
|
|
|
}
|
|
|
configMapper.insertAll(configs);
|
|
|
@@ -130,6 +135,92 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
|
|
|
return Result.resultOk(RepMessage.ALREADY_RISK_USER);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询风控配置列表
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResultTable<RiskConfigListView> getRiskConfigList(RiskConfigParam param) {
|
|
|
+ PageHelper.startPage(param.getPage(),param.getLimit());
|
|
|
+ return ResultTable.resultTableOk(new PageInfo<RiskConfigListView>(configMapper.getRiskConfigList(param)));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询风控记录
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResultTable<RiskBannedListView> bannedList(RiskBannedListParam param) {
|
|
|
+ PageHelper.startPage(param.getPage(),param.getLimit());
|
|
|
+ return ResultTable.resultTableOk(new PageInfo<RiskBannedListView>(riskManageMapper.getBannedList(param)));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询解封记录
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResultTable<RiskDeblockingListView> deblockingList(RiskDeblockingListParam param) {
|
|
|
+ PageHelper.startPage(param.getPage(),param.getLimit());
|
|
|
+ return ResultTable.resultTableOk(new PageInfo<RiskDeblockingListView>(riskManageMapper.getDeblockingList(param)));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改用户状态
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Result<?> changeUserStatus(RiskUserStatusParam param) {
|
|
|
+ YtAppUser user = riskUserMapper.selectByUserId(param.getUserId());
|
|
|
+ if(param.getUserStatus().equals(user.getUserStatus())){
|
|
|
+ return Result.resultOk(RepMessage.USER_STATUS_MODIFY);
|
|
|
+ }
|
|
|
+ //如果原账号状态正常且本次操作状态不正常
|
|
|
+ modifyAppUserInfo(user,param);
|
|
|
+ return Result.resultOk(RepMessage.USER_STATUS_MODIFY);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改用户信息
|
|
|
+ */
|
|
|
+ private void modifyAppUserInfo(YtAppUser user, RiskUserStatusParam param) {
|
|
|
+ YtAppUser appUser = new YtAppUser();
|
|
|
+ appUser.setUserId(param.getUserId());
|
|
|
+ appUser.setUserStatus(param.getUserStatus());
|
|
|
+ switch (param.getUserStatus()){
|
|
|
+ case 2:
|
|
|
+ appUser.setLockReason(param.getReason());
|
|
|
+ break;
|
|
|
+ case 3: //增加封禁记录
|
|
|
+ RiskBannedParam bannedParam = new RiskBannedParam();
|
|
|
+ BeanUtil.copyProperties(param, bannedParam);
|
|
|
+ bannedParam.setUserId(param.getUserId());
|
|
|
+ bannedParam.setBannedReason(param.getReason());
|
|
|
+ addBannedRecord(Collections.singletonList(user.getUserId()),bannedParam);
|
|
|
+ break;
|
|
|
+ default: //解禁
|
|
|
+ YtPlatformBanned banned = riskManageMapper.getLastBanned(user.getUserId());
|
|
|
+ if(Objects.nonNull(banned)){
|
|
|
+ addDeblockingRecord(banned.getBannedId(),user.getUserId(),param.getOperator()
|
|
|
+ ,param.getReason(),param.getOperatorName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ riskUserMapper.updateByUserId(appUser);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 增加解禁记录
|
|
|
+ */
|
|
|
+ private void addDeblockingRecord(String bannedId, String userId, String operator, String reason, String operatorName) {
|
|
|
+ YtPlatformDeblocking deblocking = new YtPlatformDeblocking();
|
|
|
+ deblocking.setDeblockingId(IdUtil.fastSimpleUUID());
|
|
|
+ deblocking.setUserId(userId);
|
|
|
+ deblocking.setOperator(operator);
|
|
|
+ deblocking.setOperatorName(operatorName);
|
|
|
+ deblocking.setBannedId(bannedId);
|
|
|
+ deblocking.setDeblockingReason(reason);
|
|
|
+ deblocking.setDeblockingTime(new Date());
|
|
|
+ deblocking.setChannelId(userId);
|
|
|
+ riskManageMapper.addDeblockingRecord(deblocking);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 增加封禁记录
|
|
|
*/
|