亩产设置:1.根据用户自身是否具有品牌办id来确认是否有权限对亩产进行修改。2.判断具有品牌办id的用户是否具有对应可以修改亩产数量的品牌办表。3.如果有则进行更新操作。
注意点:更新操作时无需返回值,可使用void;具有品牌办id的用户不一定有品牌办这张表,没有这张表的不能进行修改操作;更新时要先把前台填写的值先赋值到表中再更新
[ brandOffice.setYield(brandOfficeDto.getYield()); ]
controller代码:
@Slf4j //日志
@Controller //标注以下类为控制器
@RequestMapping(value = "/brandOffice")
public class BrandOfficeController {
@Resource //注入service类
private BrandOfficeService brandOfficeService;
/**
* 亩产设置跳转
*
* @param request
* @return
*/
@RequestMapping(value = "/update")
public ModelAndView update(HttpServletRequest request) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("brandOffice/update");
return modelAndView;
}
//亩产设置
@RequestMapping(value = "/yieldSetting")
@ResponseBody
public ObjectResult yieldSetting(BrandOfficeDto brandOfficeDto, HttpSession session) { //获取brandOfficeDto和session中的数据
ObjectResult result = new ObjectResult();
User user = WebUtils.getUserBySession(session); //获取session中的用户信息,主要是获取brandOfficeId
String boi = user.getBrandOfficeId();
//先获得user中的brandOfficeId,根据brandOfficeId去更新这个人所在品牌办的亩产信息
if (boi == null) {
//没有品牌办id
result.setMsg(Vm.OP_FAIL);
return result;
}
try {
brandOfficeDto.setUpdataUser(user.getId());
brandOfficeDto.setUpdataDate(new Date());
brandOfficeService.updateById(brandOfficeDto, user);
result.setMsg(Vm.OP_SUCCESS); //操作结束后的返回结果一定要写,不写前台没有结束操作后的提示(此处flag的true或false与js所写相对应)
result.setFlag(true);
} catch (Exception e) {
String emsg = e.getMessage();
if (emsg.contains(Vm.MSG_EXCEPTION)) {
if (StringUtils.isNotBlank(emsg)) {
String[] msgs = emsg.split(";");
result.setMsg(msgs[0]);
}
} else {
result.setMsg(Vm.BRANDOFFICEID_EMPTY);
}
}
return result;
}
}
Service代码:
public interface BrandOfficeService {
void updateById(BrandOfficeDto brandOfficeDto, User user);
//1.用void无需写返回结果,更新不需要返回结果;2.改代码的作用是将brandOfficeDto和user的数据传至实现层来使用方法调取所需数据
}
ServiceImpl代码:
@Service //类似@Controller
public class BrandOfficeImpl implements BrandOfficeService {
@Resource //注入dao层方法
BrandOfficeDao brandOfficeDao;
@Override //重写
public void updateById(BrandOfficeDto brandOfficeDto, User user) {
String boi = user.getBrandOfficeId();
if (boi.isEmpty()) {//用户没有品牌办id
throw new MsgException(Vm.BRANDOFFICEID_EMPTY + ";" + Vm.MSG_EXCEPTION);
} //用户品牌办Id非空,查询对应品牌办表是否存在
BrandOffice brandOffice = brandOfficeDao.selectById(user.getBrandOfficeId());
//这个是通过用户的品牌办id查询是否有brandOffice这个表,将查到的数据赋给一个对象(selectById是mybaits plus自带方法,会自动生成查询代码,无需编写查询语句)
if (null == brandOffice) {//如果品牌办不存在
throw new MsgException(Vm.BRANDOFFICEID_EMPTY + ";" + Vm.MSG_EXCEPTION);
}
brandOffice.setYield(brandOfficeDto.getYield()); //将前台输入的yield值赋到brandOffice表中
brandOfficeDao.updateById(brandOffice); //同为mybaits plus自带方法,完成更新操作
}
}