为了减少代码量度,我们需要用更简单的方式去写代码,那么关于新增和修改功能的实现,也同样可以用作修改和删除。
今天我就来为大家分享一下具体的方法。
一、在service中声明方法。
- int save(IntermediaryResource intermediaryResource);
-
- IntermediaryResource selectIntermediaryResourceById(String intermediaryResourceId);
二、serviceImpl中进行实现。
1、给result定义一个值为空,new一个新的实现类,调用这个实现类接口。
- @Override
- public int save(IntermediaryResource intermediaryResource) {
- Integer result=null;
-
- CheckLawFirmRepeatDto checkLawFirmRepeatDto = new CheckLawFirmRepeatDto();
- BeanUtils.copyProperties(intermediaryResource, checkLawFirmRepeatDto);
2、调用接口中的数据,把参数传入,得到一个类型为布尔的值。
boolean existRepeat=intermediaryResourceDao.checkRepeat(checkLawFirmRepeatDto);
3、判断是否得到的值是否为真。
- if(existRepeat){
- throw new BussinessException(Constant.FAIL, messageMap.get("LRM_VALID_LAWFIRM_REPEAT"));
- }
4、判断主键是否存在,如果没有,执行新增方法。
- //intermediaryResourceId 是否存在判断是新增 or 更新
- IntermediaryResource existRecord=intermediaryResourceDao.selectIntermediaryResourceById(intermediaryResource.getIntermediaryResourceId());
- intermediaryResource.setIsDelete(Constant.IS_NOT_DELETE);
- intermediaryResource.setModifyTime(new Date());
- if(Objects.isNull(existRecord)){
- //add
- intermediaryResource.setCreaterId(intermediaryResource.getModifierId());
- intermediaryResource.setCreaterName(intermediaryResource.getModifierName());
- intermediaryResource.setCreateTime(new Date());
- result=intermediaryResourceDao.insertIntermediaryResource(intermediaryResource);
- }
5、判断主键是否存在,如果已存在,则执行编辑方法。
- else {
- //upd
- result=intermediaryResourceDao.updateIntermediaryResource(intermediaryResource);
- }
6、返回一个result。
return result;
三、controller中调用形成接口。
1、使用@RequestMapping发送post请求。
@RequestMapping(value = "/save", method = RequestMethod.POST)
2、创建方法,将参数传入。
public ResultInfoDTO save(@Valid @RequestBody IntermediaryResource intermediaryResource){
3、实例化对象。
ResultInfoDTO resultInfo = new ResultInfoDTO();
4、构造方法。
LoginUserInfoDTO user = this.getLoginUserInfo();
5、写方法内容。
- log.info("ProjectOverseas:"+intermediaryResource);
- StringUtil.isEmpty(intermediaryResource.getLawFirmName())) {
- intermediaryResource.setModifierId(user.getUserCode());//向用户的ID赋值
- intermediaryResource.setModifierName(user.getUserName());//向用户的name赋值
- int id = intermediaryResourceService.save(intermediaryResource);//调用service中的方法,得到一个ID
- resultInfo.setData(id);//日期时间
- resultInfo.setReturnValue(true);//值
- resultInfo.setMsg(messageMap.get("LRM_SAVE_SUCCESS"));//返回成功
- return resultInfo;//返回一个resultInfo
6、返回成功地值。
- log.error(be.getMsg());
- throw new BussinessException(Constant.FAIL, be.getMsg());
7、返回失败的值。
- log.error(messageMap.get("LRM_SAVE_LAWFIRM_ERROR"));
- throw new BussinessException(Constant.FAIL, messageMap.get("LRM_SAVE_LAWFIRM_ERROR"));
如此我们便实现了用主键判断实现新增和修改的功能。