#想问大佬们个问题,我写代码老是controller层直接写成这样
@GetMapping("/searchPhone")
public MyResult searchPhone(String phone){
return corpInfoService.searchPhone(phone);
}
service层直接写成这样
public MyResult searchPhone(String phone) {
// 切换数据源
DatasourceUtil.changeDb(DatasourceContext.me().getDbName());
LambdaQueryWrapper<CorpInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CorpInfo::getPhone,phone);
CorpInfo corpInfo = this.baseMapper.selectOne(queryWrapper);
if (ObjectUtil.isNotEmpty(corpInfo)){
return MyResult.error("手机号已登记");
}
return MyResult.success();
}
今天发现好像写错了别人controller层
@PostMapping("/dict/edit")
@Idempotent
@OperateLog(logName = "项目基础字典-编辑", opType = OpTypeEnum.EDIT, sortNum = 5)
public MyResult orgTypeEdit(@RequestBody ProDictEntity proDict) {
proDictService.edit(proDict);
return MyResult.success();
}
service层
public void edit(ProDictEntity proDict) {
// 切换数据源
DatasourceUtil.changeDb(DatasourceContext.me().getDbName());
// 根据id查询信息
ProDictEntity oldProDict = this.queryEntity(proDict.getId());
// 获取参数
String oldDictCode = oldProDict.getDictCode();
String newDictCode = proDict.getDictCode();
// 判断
if (!oldDictCode.equals(newDictCode)) {
throw new MyException(ProDictExceptionEnum.DICT_CODE_JINZHI_EDIT);
}
// 校验参数
checkParam(proDict, true);
// 更新
this.updateById(proDict);
}
我的写法是不是有问题,但是第二种的法controller层都返回success了,result的类的error都没用了,我不理解!所以到底改咋写,第二种是直接当异常抛出去,还想知道异常都什么情况下用抛异常啊