Commit 8eb340bf authored by lisong's avatar lisong

企业信息添加设置标签操作

parent c170dd05
...@@ -299,5 +299,6 @@ public class TzBaseEnterpriseInfoDto extends BaseDto { ...@@ -299,5 +299,6 @@ public class TzBaseEnterpriseInfoDto extends BaseDto {
private RegUnitInfoDto regUnitInfoDto; private RegUnitInfoDto regUnitInfoDto;
@ApiModelProperty(value = "企业标签信息")
private String regulatoryLabels;
} }
...@@ -181,4 +181,7 @@ public class TzBaseEnterpriseInfo extends BaseEntity { ...@@ -181,4 +181,7 @@ public class TzBaseEnterpriseInfo extends BaseEntity {
@ApiModelProperty(value = "行业主管部门") @ApiModelProperty(value = "行业主管部门")
private String industrySupervisor; private String industrySupervisor;
@ApiModelProperty(value = "企业标签信息")
private String regulatoryLabels;
} }
...@@ -42,4 +42,6 @@ public interface ITzBaseEnterpriseInfoService extends IService<TzBaseEnterpriseI ...@@ -42,4 +42,6 @@ public interface ITzBaseEnterpriseInfoService extends IService<TzBaseEnterpriseI
Map<String,Object> adminInfoUpdate(Map<String, Object> map); Map<String,Object> adminInfoUpdate(Map<String, Object> map);
TzBaseEnterpriseInfoDto getInfoByUseCode(String useCode); TzBaseEnterpriseInfoDto getInfoByUseCode(String useCode);
String setLabel(List<Long> enterpriseIds, List<String> enterpriseLabels);
} }
...@@ -27,6 +27,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper; ...@@ -27,6 +27,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -42,195 +43,211 @@ import java.util.Map; ...@@ -42,195 +43,211 @@ import java.util.Map;
@RequestMapping(value = "/baseEnterprise", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/baseEnterprise", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public class TzBaseEnterpriseInfoController { public class TzBaseEnterpriseInfoController {
@Autowired @Autowired
ITzBaseEnterpriseInfoService iTzBaseEnterpriseInfoService; ITzBaseEnterpriseInfoService iTzBaseEnterpriseInfoService;
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
/** /**
* 新增企业数据信息 * 新增企业数据信息
* *
* @return * @return
*/ */
@RequestMapping(value = "/save", method = RequestMethod.POST) @RequestMapping(value = "/save", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增企业数据信息", notes = "新增企业数据信息") @ApiOperation(httpMethod = "POST", value = "新增企业数据信息", notes = "新增企业数据信息")
public boolean saveTzBaseEnterpriseInfo(HttpServletRequest request, public boolean saveTzBaseEnterpriseInfo(HttpServletRequest request,
@RequestBody TzBaseEnterpriseInfo tzBaseEnterpriseInfo) { @RequestBody TzBaseEnterpriseInfo tzBaseEnterpriseInfo) {
return iTzBaseEnterpriseInfoService.save(tzBaseEnterpriseInfo); return iTzBaseEnterpriseInfoService.save(tzBaseEnterpriseInfo);
} }
/** /**
* 根据id删除 * 根据id删除
* *
* @param id * @param id
* @return * @return
*/ */
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE) @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除") @ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除")
public boolean deleteById(HttpServletRequest request, @PathVariable Long id) { public boolean deleteById(HttpServletRequest request, @PathVariable Long id) {
return iTzBaseEnterpriseInfoService.removeById(id); return iTzBaseEnterpriseInfoService.removeById(id);
} }
/** /**
* 修改企业数据信息 * 修改企业数据信息
* *
* @return * @return
*/ */
@RequestMapping(value = "/updateById", method = RequestMethod.PUT) @RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "修改企业数据信息", notes = "修改企业数据信息") @ApiOperation(httpMethod = "PUT", value = "修改企业数据信息", notes = "修改企业数据信息")
public boolean updateByIdTzBaseEnterpriseInfo(HttpServletRequest request, public boolean updateByIdTzBaseEnterpriseInfo(HttpServletRequest request,
@RequestBody TzBaseEnterpriseInfo tzBaseEnterpriseInfo) { @RequestBody TzBaseEnterpriseInfo tzBaseEnterpriseInfo) {
return iTzBaseEnterpriseInfoService.updateById(tzBaseEnterpriseInfo); return iTzBaseEnterpriseInfoService.updateById(tzBaseEnterpriseInfo);
} }
/** /**
* 根据id查询 * 根据id查询
* *
* @param id * @param id
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/{id}", method = RequestMethod.GET) @RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询") @ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public ResponseModel<TzBaseEnterpriseInfoDto> selectById(HttpServletRequest request, @PathVariable Long id) { public ResponseModel<TzBaseEnterpriseInfoDto> selectById(HttpServletRequest request, @PathVariable Long id) {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.detail(id)); return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.detail(id));
} }
/** /**
* 列表分页查询 * 列表分页查询
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/list", method = RequestMethod.GET) @RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询") @ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public ResponseModel<IPage<TzBaseEnterpriseInfo>> listPage(String pageNum, String pageSize, public ResponseModel<IPage<TzBaseEnterpriseInfo>> listPage(String pageNum, String pageSize,
TzBaseEnterpriseInfo tzBaseEnterpriseInfo) { TzBaseEnterpriseInfo tzBaseEnterpriseInfo) {
Page<TzBaseEnterpriseInfo> pageBean; Page<TzBaseEnterpriseInfo> pageBean;
QueryWrapper<TzBaseEnterpriseInfo> tzBaseEnterpriseInfoQueryWrapper = new QueryWrapper<>(); QueryWrapper<TzBaseEnterpriseInfo> tzBaseEnterpriseInfoQueryWrapper = new QueryWrapper<>();
Class<? extends TzBaseEnterpriseInfo> aClass = tzBaseEnterpriseInfo.getClass(); Class<? extends TzBaseEnterpriseInfo> aClass = tzBaseEnterpriseInfo.getClass();
Arrays.stream(aClass.getDeclaredFields()).forEach(field -> { Arrays.stream(aClass.getDeclaredFields()).forEach(field -> {
try { try {
field.setAccessible(true); field.setAccessible(true);
Object o = field.get(tzBaseEnterpriseInfo); Object o = field.get(tzBaseEnterpriseInfo);
if (o != null) { if (o != null) {
Class<?> type = field.getType(); Class<?> type = field.getType();
String name = NameUtils.camel2Underline(field.getName()); String name = NameUtils.camel2Underline(field.getName());
if (type.equals(Integer.class)) { if (type.equals(Integer.class)) {
Integer fileValue = (Integer) field.get(tzBaseEnterpriseInfo); Integer fileValue = (Integer) field.get(tzBaseEnterpriseInfo);
tzBaseEnterpriseInfoQueryWrapper.eq(name, fileValue); tzBaseEnterpriseInfoQueryWrapper.eq(name, fileValue);
} else if (type.equals(Long.class)) { } else if (type.equals(Long.class)) {
Long fileValue = (Long) field.get(tzBaseEnterpriseInfo); Long fileValue = (Long) field.get(tzBaseEnterpriseInfo);
tzBaseEnterpriseInfoQueryWrapper.eq(name, fileValue); tzBaseEnterpriseInfoQueryWrapper.eq(name, fileValue);
} else if (type.equals(String.class)) { } else if (type.equals(String.class)) {
String fileValue = (String) field.get(tzBaseEnterpriseInfo); String fileValue = (String) field.get(tzBaseEnterpriseInfo);
tzBaseEnterpriseInfoQueryWrapper.eq(name, fileValue); tzBaseEnterpriseInfoQueryWrapper.eq(name, fileValue);
} else { } else {
String fileValue = (String) field.get(tzBaseEnterpriseInfo); String fileValue = (String) field.get(tzBaseEnterpriseInfo);
tzBaseEnterpriseInfoQueryWrapper.eq(name, fileValue); tzBaseEnterpriseInfoQueryWrapper.eq(name, fileValue);
} }
} }
} catch (Exception e) { } catch (Exception e) {
} }
}); });
IPage<TzBaseEnterpriseInfo> page; IPage<TzBaseEnterpriseInfo> page;
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) { if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
pageBean = new Page<>(0, Integer.MAX_VALUE); pageBean = new Page<>(0, Integer.MAX_VALUE);
} else { } else {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize)); pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
} }
page = iTzBaseEnterpriseInfoService.page(pageBean, tzBaseEnterpriseInfoQueryWrapper); page = iTzBaseEnterpriseInfoService.page(pageBean, tzBaseEnterpriseInfoQueryWrapper);
return ResponseHelper.buildResponse(page); return ResponseHelper.buildResponse(page);
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/getEquInfo/{sequenceNbr}", method = RequestMethod.GET) @RequestMapping(value = "/getEquInfo/{sequenceNbr}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "通过企业id查询设备", notes = "通过企业id查询设备") @ApiOperation(httpMethod = "GET", value = "通过企业id查询设备", notes = "通过企业id查询设备")
public ResponseModel<List<EquEnterDto>> getInfo(@PathVariable(value = "sequenceNbr") String sequenceNbr) { public ResponseModel<List<EquEnterDto>> getInfo(@PathVariable(value = "sequenceNbr") String sequenceNbr) {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.getInfo(sequenceNbr)); return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.getInfo(sequenceNbr));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/getEquInfoByUseUnit", method = RequestMethod.GET) @RequestMapping(value = "/getEquInfoByUseUnit", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "通过企业名称查询设备", notes = "通过企业名称查询设备") @ApiOperation(httpMethod = "GET", value = "通过企业名称查询设备", notes = "通过企业名称查询设备")
public ResponseModel<List<EquEnterDto>> getInfoByUseUnit(String useUnit) { public ResponseModel<List<EquEnterDto>> getInfoByUseUnit(String useUnit) {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.getInfoByUseUnit(useUnit)); return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.getInfoByUseUnit(useUnit));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/page", method = RequestMethod.GET) @RequestMapping(value = "/page", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询") @ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> page(PageParam pageParam, public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> page(PageParam pageParam,
TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) { TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, tzBaseEnterpriseInfoDto)); return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, tzBaseEnterpriseInfoDto));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/info", method = RequestMethod.GET) @RequestMapping(value = "/info", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "查询企业端当前登录人所在企业详情", notes = "查询企业端当前登录人所在企业详情") @ApiOperation(httpMethod = "GET", value = "查询企业端当前登录人所在企业详情", notes = "查询企业端当前登录人所在企业详情")
public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> pageInfo(PageParam pageParam) { public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> pageInfo(PageParam pageParam) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if(ObjectUtils.isEmpty(reginParams)){ if (ObjectUtils.isEmpty(reginParams)) {
return null; return null;
} }
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, reginParams.getCompany().getCompanyName())); return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, reginParams.getCompany().getCompanyName()));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/getInfoByUseCode", method = RequestMethod.GET) @RequestMapping(value = "/getInfoByUseCode", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据统一信用代码查询企业详情", notes = "根据统一信用代码查询企业详情") @ApiOperation(httpMethod = "GET", value = "根据统一信用代码查询企业详情", notes = "根据统一信用代码查询企业详情")
public ResponseModel<TzBaseEnterpriseInfoDto> getInfoByUseCode(String useCode) { public ResponseModel<TzBaseEnterpriseInfoDto> getInfoByUseCode(String useCode) {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.getInfoByUseCode(useCode)); return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.getInfoByUseCode(useCode));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/companyInfoUpdate", method = RequestMethod.POST) @RequestMapping(value = "/companyInfoUpdate", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "修改企业信息", notes = "修改企业信息") @ApiOperation(httpMethod = "POST", value = "修改企业信息", notes = "修改企业信息")
public ResponseModel<TzBaseEnterpriseInfoDto> companyInfoUpdate(@RequestBody Map<String,Object> map) { public ResponseModel<TzBaseEnterpriseInfoDto> companyInfoUpdate(@RequestBody Map<String, Object> map) {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.companyInfoUpdate(map)); return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.companyInfoUpdate(map));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/adminInfoUpdate", method = RequestMethod.POST) @RequestMapping(value = "/adminInfoUpdate", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "修改企业信息", notes = "修改企业信息") @ApiOperation(httpMethod = "POST", value = "修改企业信息", notes = "修改企业信息")
public ResponseModel<Object> adminInfoUpdate(@RequestBody Map<String,Object> map) { public ResponseModel<Object> adminInfoUpdate(@RequestBody Map<String, Object> map) {
Map<String, Object> result = iTzBaseEnterpriseInfoService.adminInfoUpdate(map); Map<String, Object> result = iTzBaseEnterpriseInfoService.adminInfoUpdate(map);
if (result.containsKey("fail")) { if (result.containsKey("fail")) {
ResponseModel responseModel = new ResponseModel(); ResponseModel responseModel = new ResponseModel();
responseModel.setStatus(500); responseModel.setStatus(500);
responseModel.setDevMessage(result.get("fail").toString()); responseModel.setDevMessage(result.get("fail").toString());
return responseModel; return responseModel;
} else { } else {
return ResponseHelper.buildResponse(result.get("success")); return ResponseHelper.buildResponse(result.get("success"));
} }
} }
/** /**
* 根据企业名称查询企业详情 * 根据企业名称查询企业详情
* *
* @param * @param
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/getInfo", method = RequestMethod.GET) @RequestMapping(value = "/getInfo", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据企业名称查询", notes = "根据企业名称查询") @ApiOperation(httpMethod = "GET", value = "根据企业名称查询", notes = "根据企业名称查询")
public ResponseModel<TzBaseEnterpriseInfoDto> selectByUseUnit(HttpServletRequest request, String useUnit) { public ResponseModel<TzBaseEnterpriseInfoDto> selectByUseUnit(HttpServletRequest request, String useUnit) {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.selectByUseUnit(useUnit)); return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.selectByUseUnit(useUnit));
} }
/** /**
* 将监管系统全量用户导入 业务企业表 和 平台企业表 * 将监管系统全量用户导入 业务企业表 和 平台企业表
* @return OK *
*/ * @return OK
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) */
@RequestMapping(value = "/syncUnitData", method = RequestMethod.GET) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "同步企业信息", notes = "同步企业信息") @RequestMapping(value = "/syncUnitData", method = RequestMethod.GET)
public ResponseModel<String> syncUnitData(){ @ApiOperation(httpMethod = "GET", value = "同步企业信息", notes = "同步企业信息")
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.syncEnterpriseInfo()); public ResponseModel<String> syncUnitData() {
} return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.syncEnterpriseInfo());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/setLabel", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "设置企业标签", notes = "设置企业标签")
public ResponseModel<Object> setLabel(@RequestBody Map<String, Object> map) {
ArrayList<String> enterpriseLabel = new ArrayList<>();
ArrayList<Long> enterpriseIds = new ArrayList<>();
if (!ObjectUtils.isEmpty(map) && !ObjectUtils.isEmpty(map.get("enterpriseLabel")) && !ObjectUtils.isEmpty(map.get("enterpriseIds"))) {
enterpriseLabel = (ArrayList) map.get("enterpriseLabel");
enterpriseIds = (ArrayList) map.get("enterpriseIds");
}
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.setLabel(enterpriseIds, enterpriseLabel));
}
} }
...@@ -46,6 +46,7 @@ import org.typroject.tyboot.core.rdbms.service.BaseService; ...@@ -46,6 +46,7 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.text.ParseException; import java.text.ParseException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 企业数据信息 服务实现类 * 企业数据信息 服务实现类
...@@ -475,6 +476,32 @@ public class TzBaseEnterpriseInfoServiceImpl ...@@ -475,6 +476,32 @@ public class TzBaseEnterpriseInfoServiceImpl
} }
@Override
public String setLabel(List<Long> enterpriseIds, List<String> enterpriseLabels) {
List<TzBaseEnterpriseInfo> tzBaseEnterpriseInfos = tzBaseEnterpriseInfoMapper.selectBatchIds(enterpriseIds);
for (TzBaseEnterpriseInfo tzBaseEnterpriseInfo : tzBaseEnterpriseInfos) {
// 标签递增逻辑
// if (!ObjectUtils.isEmpty(tzBaseEnterpriseInfo.getRegulatoryLabels())) {
// String result = checkLabel(enterpriseLabels, tzBaseEnterpriseInfo.getRegulatoryLabels());
// tzBaseEnterpriseInfo.setRegulatoryLabels(result);
// } else {
// String labels = String.join(",", enterpriseLabels);
// tzBaseEnterpriseInfo.setRegulatoryLabels(labels);
// }
String labels = String.join(",", enterpriseLabels);
tzBaseEnterpriseInfo.setRegulatoryLabels(labels);
}
this.updateBatchById(tzBaseEnterpriseInfos);
return "success";
}
private String checkLabel(List<String> enterpriseLabels, String result) {
List<String> strings = Arrays.asList(result.split(","));
ArrayList<String> res = new ArrayList<>(strings);
List<String> collect = enterpriseLabels.stream().filter(item -> !strings.contains(item)).collect(Collectors.toList());
res.addAll(collect);
return String.join(",", res);
}
public Map<String, Object> adminInfoUpdate(Map<String, Object> map) { public Map<String, Object> adminInfoUpdate(Map<String, Object> map) {
//每一个企业只有一个管理员,所以当前登录用户即管理员用户 //每一个企业只有一个管理员,所以当前登录用户即管理员用户
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment