Commit 213c4745 authored by nie'hong's avatar nie'hong

将work_collect表中work_day与user_id设置为唯一索引后捕获重复插入的异常

parent 2f05f456
......@@ -103,7 +103,8 @@ public enum BASE_RESP_CODE_ENUM {
PROJECT_BO_INFO_ERROR("685", "项目所对应商机信息与OA中项目所对应商机信息不一致"),
BO_INFO_NOT_FIND("686", "OA中的商机信息不存在"),
LONG_LEAVE_START_NOT__GREATER_END("687", "长请假/调休开始时间不能大于结束时间"),
PROJECT_OA_ID_IS_ERROR("688", "项目在OA中的编号错误")
PROJECT_OA_ID_IS_ERROR("688", "项目在OA中的编号错误"),
WORK_TIME_ORDER_EXIST("689", "工单已提交,请勿重新提交!")
;
......
......@@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
......@@ -162,10 +163,12 @@ public class WorkCollectServiceImpl implements WorkCollectService {
if (workCollectByUserIdAndWorkDay != null) {
workCollectMapper.deleteById(workCollectByUserIdAndWorkDay.getId());
}
int insertRow = workCollectMapper.insertWorkCollect(workCollect);
if (insertRow == 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INSERT_DATA_IS_FAIL);
try {
workCollectMapper.insertWorkCollect(workCollect);
} catch (DuplicateKeyException e) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_TIME_ORDER_EXIST);
}
return true;
}
......
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