品类修改
This commit is contained in:
@ -17,8 +17,7 @@ import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.AddTaskVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.CoscoAnnualreviewTaskListVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.SupplierPeopleVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoBlack.vo.BlackSupplierVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.dao.CoscoCategoryMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.entity.CoscoCategory;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.TaskUserVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.OrgDeptVo;
|
||||
@ -56,7 +55,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS
|
||||
@Autowired
|
||||
private IOrgService orgService;
|
||||
@Autowired
|
||||
private CoscoCategoryMapper organizationMapper;
|
||||
private ICoscoCategoryService coscoCategoryService;
|
||||
|
||||
/**
|
||||
* 查询供应商年审_年审任务主
|
||||
@ -78,7 +77,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS
|
||||
vo.setEndTime(coscoAnnualreviewTask.getEndTime());
|
||||
vo.setTemplateName(coscoAnnualreviewTask.getTemplateName());
|
||||
if(coscoAnnualreviewTask.getCategoryId()!=null && !AnnualreviewTaskConstant.universalUnlimitedCategory.equals(coscoAnnualreviewTask.getCategoryLimitation())){
|
||||
vo.setCategoryName(organizationMapper.selectCategoryNameById(coscoAnnualreviewTask.getCategoryId()));
|
||||
vo.setCategoryName(coscoCategoryService.getCategoryNameById(coscoAnnualreviewTask.getCategoryId()));
|
||||
}
|
||||
vo.setCategoryId(coscoAnnualreviewTask.getCategoryId());
|
||||
vo.setCategoryLimitation(coscoAnnualreviewTask.getCategoryLimitation());
|
||||
@ -286,7 +285,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS
|
||||
List<String> deptIds = new ArrayList<>();
|
||||
coscoAnnualreviewTaskListVoIPage.getRecords().forEach(ss -> {
|
||||
if(!AnnualreviewTaskConstant.universalUnlimitedCategory.equals(ss.getCategoryLimitation())){
|
||||
ss.setCategoryName(organizationMapper.selectCategoryNameById(ss.getCategoryId()));
|
||||
ss.setCategoryName(coscoCategoryService.getCategoryNameById(ss.getCategoryId()));
|
||||
}
|
||||
OrgDeptVo orgDeptInfo = orgService.getOrgDeptInfo(ss.getDeptId());
|
||||
ss.setDeptName(orgDeptInfo.getOrgName());
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@ -12,7 +11,7 @@ import com.chinaunicom.zyhy.ebtp.supplier.base.constant.AnnualreviewTaskConstant
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.service.ICoscoAnnualreviewTaskSupplierService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.AnnualreviewTaskSupplierListVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.dao.CoscoCategoryMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.CoscoEvaluateTemplateVo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -32,7 +31,7 @@ public class CoscoAnnualreviewTaskSupplierServiceImpl implements ICoscoAnnualrev
|
||||
@Autowired
|
||||
private IOrgService orgService;
|
||||
@Autowired
|
||||
private CoscoCategoryMapper coscoCategoryMapper;
|
||||
private ICoscoCategoryService coscoCategoryService;
|
||||
|
||||
/**
|
||||
* 查询供应商评价_年审任务关联供应商
|
||||
@ -116,7 +115,7 @@ public class CoscoAnnualreviewTaskSupplierServiceImpl implements ICoscoAnnualrev
|
||||
//获取查询部门信息 TODO 待完善
|
||||
annualreviewTaskSupplierListVoIPage.getRecords().forEach(vo -> {
|
||||
if(!AnnualreviewTaskConstant.universalUnlimitedCategory.equals(vo.getCategoryLimitation())){
|
||||
vo.setCategoryName(coscoCategoryMapper.selectCategoryNameById(vo.getCategoryId()));
|
||||
vo.setCategoryName(coscoCategoryService.getCategoryNameById(vo.getCategoryId()));
|
||||
}
|
||||
SysOrg orgInfo = orgService.getOrgInfo(vo.getDeptId());
|
||||
if(!ObjectUtil.isEmpty(orgInfo)){
|
||||
|
@ -20,7 +20,7 @@ import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.AnnualAddScoreVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.AnnualTaskIndicatorVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.AnnualreviewTaskSupplierUserInfoVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.AnnualreviewTaskSupplierUserVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.dao.CoscoCategoryMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.BaseCategoryNameVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.OrgDeptVo;
|
||||
@ -28,7 +28,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 供应商评价_年审任务供应商对应评审人Service业务层处理
|
||||
@ -49,7 +52,7 @@ public class CoscoAnnualreviewTaskSupplierUserServiceImpl implements ICoscoAnnua
|
||||
@Autowired
|
||||
private CoscoAnnualreviewScoringMapper coscoAnnualreviewScoringMapper;
|
||||
@Autowired
|
||||
private CoscoCategoryMapper coscoCategoryMapper;
|
||||
private ICoscoCategoryService coscoCategoryService;
|
||||
@Autowired
|
||||
private IOrgService orgService;
|
||||
|
||||
@ -78,10 +81,10 @@ public class CoscoAnnualreviewTaskSupplierUserServiceImpl implements ICoscoAnnua
|
||||
vo.setAnnualreviewTheme(coscoAnnualreviewTask.getAnnualreviewTheme());
|
||||
vo.setReviewerName(currentUser.getUserId());
|
||||
|
||||
if(coscoAnnualreviewTaskSupplierUser.getReviewStatus().equals(AnnualreviewTaskConstant.WAIT_APPROVE)){
|
||||
if (coscoAnnualreviewTaskSupplierUser.getReviewStatus().equals(AnnualreviewTaskConstant.WAIT_APPROVE)) {
|
||||
vo.setReviewStatusName("待评审");
|
||||
}
|
||||
if(coscoAnnualreviewTaskSupplierUser.getReviewStatus().equals(AnnualreviewTaskConstant.APPROVE_PASS)){
|
||||
if (coscoAnnualreviewTaskSupplierUser.getReviewStatus().equals(AnnualreviewTaskConstant.APPROVE_PASS)) {
|
||||
vo.setReviewStatusName("已评审");
|
||||
}
|
||||
|
||||
@ -161,20 +164,20 @@ public class CoscoAnnualreviewTaskSupplierUserServiceImpl implements ICoscoAnnua
|
||||
userVo.getBasePageRequest().getPageSize());
|
||||
IPage<AnnualreviewTaskSupplierUserVo> annualreviewTaskSupplierUserVoIPage = coscoAnnualreviewTaskSupplierUserMapper.selectPage(p, userVo);
|
||||
List<UserVo> user = userService.getUser(new SelectUserVo());
|
||||
Map<String,UserVo> userMap = new HashMap<>();
|
||||
Map<String, UserVo> userMap = new HashMap<>();
|
||||
user.forEach(uso -> {
|
||||
userMap.put(uso.getUserId(), uso);
|
||||
});
|
||||
annualreviewTaskSupplierUserVoIPage.getRecords().forEach(vo -> {
|
||||
UserVo userVo1 = userMap.get(vo.getUserId());
|
||||
if(userVo1!=null){
|
||||
if (userVo1 != null) {
|
||||
vo.setUserName(userVo1.getUserName());
|
||||
vo.setDeptName(userVo1.getUserDept());
|
||||
OrgDeptVo orgDeptInfo = orgService.getOrgDeptInfo(userVo1.getUserDeptId());
|
||||
vo.setTenantName(orgDeptInfo.getOrgName());
|
||||
}
|
||||
if(!AnnualreviewTaskConstant.universalUnlimitedCategory.equals(vo.getCategoryLimitation())){
|
||||
vo.setCategoryName(coscoCategoryMapper.selectCategoryNameById(vo.getCategoryId()));
|
||||
if (!AnnualreviewTaskConstant.universalUnlimitedCategory.equals(vo.getCategoryLimitation())) {
|
||||
vo.setCategoryName(coscoCategoryService.getCategoryNameById(vo.getCategoryId()));
|
||||
}
|
||||
});
|
||||
return annualreviewTaskSupplierUserVoIPage;
|
||||
@ -193,6 +196,7 @@ public class CoscoAnnualreviewTaskSupplierUserServiceImpl implements ICoscoAnnua
|
||||
|
||||
/**
|
||||
* 添加分数
|
||||
*
|
||||
* @param vo
|
||||
*/
|
||||
@Override
|
||||
|
@ -10,15 +10,10 @@ import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoCategoryConstant;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.base.service.IUserService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.dao.CoscoCategoryLibrarAttachmentsMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.dao.CoscoCategoryLibraryMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.dao.CoscoCategoryMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.entity.CoscoCategoryLibrarAttachments;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.entity.CoscoCategoryLibrary;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryLibrarAttachmentsService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryLibraryContainService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryLibraryService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryLibrarySupplierApplyService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.*;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.vo.*;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.OrgDeptVo;
|
||||
import org.apache.commons.beanutils.BeanUtils;
|
||||
@ -48,7 +43,7 @@ public class CoscoCategoryLibraryServiceImpl extends BaseServiceImpl<CoscoCatego
|
||||
@Autowired
|
||||
private ICoscoCategoryLibrarAttachmentsService coscoCategoryLibrarAttachmentsService;
|
||||
@Autowired
|
||||
private CoscoCategoryMapper coscoCategoryMapper;
|
||||
private ICoscoCategoryService coscoCategoryService;
|
||||
@Autowired
|
||||
private IUserService userService;
|
||||
@Autowired
|
||||
@ -205,7 +200,7 @@ public class CoscoCategoryLibraryServiceImpl extends BaseServiceImpl<CoscoCatego
|
||||
List<String> strings = coscoCategoryLibraryContainService.selectCoscoCateGoryIdByLibraryId(id);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String s : strings) {
|
||||
String categoryName = coscoCategoryMapper.selectCategoryNameById(s);
|
||||
String categoryName = coscoCategoryService.getCategoryNameById(s);
|
||||
if (sb.length() > 0) {
|
||||
sb.append(",");
|
||||
}
|
||||
|
@ -11,13 +11,9 @@ import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoCategoryConstant;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.base.service.IUserService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.dao.CoscoCategoryLibrarySupplierApplyMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.dao.CoscoCategoryMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.entity.CoscoCategoryLibrarAttachments;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.entity.CoscoCategoryLibrarySupplierApply;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryLibrarAttachmentsService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryLibraryContainService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryLibrarySupplierApplyService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryLibrarySupplierService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.*;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.vo.AddCoscoCategoryLibrarySupplierApplyVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.vo.CoscoCategoryLibrarySupplierVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.vo.ListCoscoCategoryLibrarySupplierApplyVo;
|
||||
@ -44,7 +40,7 @@ public class CoscoCategoryLibrarySupplierApplyServiceImpl extends BaseServiceImp
|
||||
@Autowired
|
||||
private ICoscoCategoryLibraryContainService coscoCategoryLibraryContainService;
|
||||
@Autowired
|
||||
private CoscoCategoryMapper coscoCategoryMapper;
|
||||
private ICoscoCategoryService coscoCategoryService;
|
||||
@Autowired
|
||||
private IOrgService orgService;
|
||||
@Autowired
|
||||
@ -68,7 +64,7 @@ public class CoscoCategoryLibrarySupplierApplyServiceImpl extends BaseServiceImp
|
||||
if (sb.length() > 0) {
|
||||
sb.append(",");
|
||||
}
|
||||
sb.append(coscoCategoryMapper.selectCategoryNameById(s));
|
||||
sb.append(coscoCategoryService.getCategoryNameById(s));
|
||||
}
|
||||
vo.setCoscoCategoryLibrarAttachments(coscoCategoryLibrarAttachmentsService.selectCoscoCategoryLibrarAttachmentsByCategoryLibraryId(id));
|
||||
vo.setCategoryName(sb.toString());
|
||||
|
@ -136,6 +136,7 @@ public class CoscoCategoryServiceImpl extends BaseServiceImpl<CoscoCategoryMappe
|
||||
// for (CoscoCategory co : coscoCategories) {
|
||||
// cosco.add(BeanUtil.toBean(co, CoscoCategoryVO.class));
|
||||
// }
|
||||
coscoCategory.setVersionId(1L);
|
||||
BaseResponse<List<CoscoCategoryMaintenanceVO>> treeList = categoryClient.getTreeList(coscoCategory);
|
||||
return treeList;
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.service.impl;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.dao.CoscoAnnualreviewTaskSupplierMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryService;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.dao.CoscoEvaluateTaskSupplierMapper;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.CoscoEvaluateTaskListVo;
|
||||
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierQualificationsMapper;
|
||||
@ -27,6 +28,9 @@ public class DataStatisticeServiceImpl implements DataStatisticeService {
|
||||
|
||||
@Autowired
|
||||
private CoscoSupplierexitMapper coscoSupplierexitMapper;
|
||||
@Autowired
|
||||
private ICoscoCategoryService coscoCategoryService;
|
||||
|
||||
@Autowired
|
||||
private CoscoSupplierQualificationsMapper coscoSupplierQualificationsMapper;
|
||||
|
||||
@ -41,17 +45,40 @@ public class DataStatisticeServiceImpl implements DataStatisticeService {
|
||||
public IPage<SupplierAnnualReviewStatisticsVo> getSupplierAnnualReviewStatistics(SupplierAnnualReviewStatisticsVo vo) {
|
||||
IPage<SupplierAnnualReviewStatisticsVo> p = new Page<>(vo.getBasePageRequest().getPageNo(),
|
||||
vo.getBasePageRequest().getPageSize());
|
||||
return coscoAnnualreviewTaskMapper.getSupplierAnnualReviewStatistics(p, vo);
|
||||
IPage<SupplierAnnualReviewStatisticsVo> supplierAnnualReviewStatistics = coscoAnnualreviewTaskMapper.getSupplierAnnualReviewStatistics(p, vo);
|
||||
supplierAnnualReviewStatistics.getRecords().forEach(item -> {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
if (item.getCategoryIds() != null && item.getCategoryIds().length() > 0) {
|
||||
String[] split = item.getCategoryIds().split(",");
|
||||
for (String s : split) {
|
||||
builder.append(coscoCategoryService.getCategoryNameById(s));
|
||||
}
|
||||
}
|
||||
item.setCategoryName(builder.toString());
|
||||
});
|
||||
return supplierAnnualReviewStatistics;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询导出年审数据
|
||||
*
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<SupplierAnnualReviewStatisticsVo> getSupplierAnnualReviewStatisticsList(SupplierAnnualReviewStatisticsVo vo){
|
||||
return coscoAnnualreviewTaskMapper.getSupplierAnnualReviewStatisticsList(vo);
|
||||
public List<SupplierAnnualReviewStatisticsVo> getSupplierAnnualReviewStatisticsList(SupplierAnnualReviewStatisticsVo vo) {
|
||||
List<SupplierAnnualReviewStatisticsVo> supplierAnnualReviewStatisticsList = coscoAnnualreviewTaskMapper.getSupplierAnnualReviewStatisticsList(vo);
|
||||
supplierAnnualReviewStatisticsList.forEach(item -> {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
if (item.getCategoryIds() != null && item.getCategoryIds().length() > 0) {
|
||||
String[] split = item.getCategoryIds().split(",");
|
||||
for (String s : split) {
|
||||
builder.append(coscoCategoryService.getCategoryNameById(s));
|
||||
}
|
||||
}
|
||||
item.setCategoryName(builder.toString());
|
||||
});
|
||||
return supplierAnnualReviewStatisticsList;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -63,10 +90,11 @@ public class DataStatisticeServiceImpl implements DataStatisticeService {
|
||||
|
||||
/**
|
||||
* 供应商退出统计查询
|
||||
*
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
public List<SupplierExitStatisticsVo> getSupplierExitStatisticsList(SupplierExitStatisticsVo vo){
|
||||
public List<SupplierExitStatisticsVo> getSupplierExitStatisticsList(SupplierExitStatisticsVo vo) {
|
||||
return coscoSupplierexitMapper.getSupplierExitStatisticsList(vo);
|
||||
}
|
||||
|
||||
@ -79,11 +107,12 @@ public class DataStatisticeServiceImpl implements DataStatisticeService {
|
||||
|
||||
/**
|
||||
* 供应商资质
|
||||
*
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
public List<SupplierQualificationExpireVo> getSupplierQualificationExpireList(SupplierQualificationExpireVo vo){
|
||||
return coscoSupplierQualificationsMapper.getSupplierQualificationExpireList( vo);
|
||||
public List<SupplierQualificationExpireVo> getSupplierQualificationExpireList(SupplierQualificationExpireVo vo) {
|
||||
return coscoSupplierQualificationsMapper.getSupplierQualificationExpireList(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -48,6 +48,8 @@ public class SupplierAnnualReviewStatisticsVo {
|
||||
private String annualreviewYear;
|
||||
|
||||
private String supplierId;
|
||||
|
||||
private String categoryIds;
|
||||
/**
|
||||
* 评价结果
|
||||
*/
|
||||
|
Reference in New Issue
Block a user