小记Day15

亩产设置: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自带方法,完成更新操作


    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值