项目实战(P9) (Day 37)

目录

学习目标:

学习内容:

营销模块计划项数据更新后端

思路:

Dao层

Service层

Controller层

测试结果 

 更新代码前端界面

 删除计划后端

 思想

 新思想:

 Service层

controller层

删除计划项数据前端 

更新开发状态前端:

更新状态后端

Service层

Controller层

学习时间:

心得:


学习目标:

营销模块的计划项数据更新和删除操作

争取可以开始把权限管理开一个头


学习内容:

        营销模块计划项数据更新后端

思路:

更新客户开发计划项数据
 1. 参数校验
     计划项ID     非空,数据存在
     营销机会ID   非空,数据存在
     计划项内容   非空
     计划时间     非空
 2. 设置参数的默认值
     修改时间    系统当前时间
 3. 执行更新操作,判断受影响的行数

Dao层

        所继承的BaseMapper中存在更新方法,直接调用即可

Service层

需要校检cusDevPlanId,不能为空且要可以根据这个ID来查到对应的cusDevPlan,然后把更新时间设置为当前时间,最后执行更新操作,并判断是否成功即可

 /**
     * 更新客户开发计划项数据
     *   1. 参数校验
     *       计划项ID     非空,数据存在
     *       营销机会ID   非空,数据存在
     *       计划项内容   非空
     *       计划时间     非空
     *   2. 设置参数的默认值
     *       修改时间    系统当前时间
     *   3. 执行更新操作,判断受影响的行数
     * @author QQ星
     *
     * @param cusDevPlan
     * @return void
     * @Date 2022/3/12 18:44
     */
    @Transactional(propagation = Propagation.REQUIRED)
    public void updateCusDevPlan(CusDevPlan cusDevPlan){
        /* 1.参数校检 */
        Integer cusDevPlanId=cusDevPlan.getId();
        AssertUtil.isTrue(cusDevPlanId==null||cusDevPlanMapper.selectByPrimaryKey(cusDevPlanId)==null,"查找不到这个计划Id,请重试");
        checkSaleChanceParams(cusDevPlan);
        /* 2.设置参数的默认值*/
        cusDevPlan.setUpdateDate(new Date());
        /* 3.执行更新操作,判断受影响的行数 */
        AssertUtil.isTrue(cusDevPlanMapper.updateByPrimaryKeySelective(cusDevPlan)!=1,"计划项更新失败,请重试");
    }

Controller层

    @PostMapping ("update")
    @ResponseBody
    public ResultInfo updateCusDevPlan(CusDevPlan cusDevPlan){
        cusDevPlanService.updateCusDevPlan(cusDevPlan);
        return success("更新成功");
    }

测试结果 

        更新代码前端界面

运用前面写好的add来实现更新操作,只需要在当前对象中把Id放进去即可

 

         删除计划后端

 思想

删除计划项
  1. 判断ID是否为空,且数据存在
  2. 修改isValid属性
  3. 执行更新操作

 新思想:

不再调用BaseMapper中原有的多项删除,直接在Service中把Vail值设置为0然后执行更新操作

 Service层

 /**
     * 删除计划项
     * 1. 判断ID是否为空,且数据存在
     * 2. 修改isValid属性
     * 3. 执行更新操作
     *
     * @param id
     * @return void
     * @author QQ星
     * @Date 2022/3/12 19:48
     */
    public void deleteCusDevPlan(Integer id) {
        /* 判断ID */
        AssertUtil.isTrue(id == null, "待删除记录不存在");
        //查找对象
        CusDevPlan cusDevPlan = cusDevPlanMapper.selectByPrimaryKey(id);
        //设置默认值
        cusDevPlan.setUpdateDate(new Date());
        cusDevPlan.setIsValid(0);
        //执行更新操作
        AssertUtil.isTrue(cusDevPlanMapper.updateByPrimaryKeySelective(cusDevPlan) != 1, "计划项数据删除失败");

    }

controller层

 /**
     * 删除计划项
     * @author QQ星
     *
     * @param id
     * @return com.xxxx.crm.base.ResultInfo
     * @Date 2022/3/12 19:52
     */
    @PostMapping("delete")
    @ResponseBody
    public ResultInfo deleteCusDevPlan(Integer id){
        cusDevPlanService.deleteCusDevPlan(id);
        return success("删除成功");
    }

删除计划项数据前端 

 /**
     * 删除计划项
     */
    function  deleteCusDevPlan(id) {
        // 弹出确认框,询问用户是否确认删除
        layer.confirm('您确认要删除该记录吗?',{icon:3, title:'开发项数据管理'}, function (index) {
            // 发送ajax请求,执行删除操作
            $.post(ctx + '/cus_dev_plan/delete',{id:id}, function (result) {
                // 判断删除结果
                if (result.code == 200) {
                    // 提示成功
                    layer.msg('删除成功',{icon:6});
                    // 刷新数据表格
                    tableIns.reload();
                } else {
                    // 提示失败原因
                    layer.msg(result.msg,{icon:5});
                }
            });
        });
    }

更新开发状态前端:

/**
     * 更新营销机会的开发状态
     * @param devResult
     */
    function updateSaleChanceDevResult(devResult) {
        // 弹出确认框,询问用户是否确认删除
        layer.confirm('您确认执行该操作吗?',{icon:3, title:"营销机会管理"}, function (index) {
            // 得到需要被更新的饿营销机会的ID (通过隐藏域获取)
            var sId = $("[name='id']").val();
            // 发送ajax请求,更新营销机会的开发状态
            $.post(ctx+ '/sale_chance/updateSaleChanceDevResult',{id:sId,devResult:devResult}, function (result) {
                if (result.code == 200) {
                    layer.msg('更新成功!', {icon:6});
                    // 关闭窗口
                    layer.closeAll("iframe");
                    // 刷新父页面
                    parent.location.reload();
                } else {
                    layer.msg(result.msg, {icon:5});
                }
            });
        });
    }

更新状态后端

Service层

检验传入的id是否存在,并且对象能否查询到,找到对应的对象把DevResult放进去就可以

  /**
     * 更新开发状态
     * @author QQ星
     *
     * @param id
     * @param devResult
     * @return void
     * @Date 2022/3/13 1:58
     */
    @Transactional(propagation = Propagation.REQUIRED)
    public void updateSaleChanceDevResult(Integer id,Integer devResult){
        // 判断ID是否为空
        AssertUtil.isTrue(null == id, "待更新记录不存在!");
        // 通过id查询营销机会数据
        SaleChance saleChance = saleChanceMapper.selectByPrimaryKey(id);
        // 判断对象是否为空
        AssertUtil.isTrue(null == saleChance, "待更新记录不存在!");

        // 设置开发状态
        saleChance.setDevResult(devResult);

        // 执行更新操作,判断受影响的函数
        AssertUtil.isTrue(saleChanceMapper.updateByPrimaryKeySelective(saleChance) != 1, "开发状态更新失败!");
    }

Controller层

/**
     * 更新营销机会的开发状态
     * @author QQ星
     *
     * @param id
     * @param devResult
     * @return com.xxxx.crm.base.ResultInfo
     * @Date 2022/3/13 1:48
     */
    @PostMapping("updateSaleChanceDevResult")
    @ResponseBody
    public ResultInfo updateSaleChanceDevResult(Integer id,Integer devResult){

        saleChanceService.updateSaleChanceDevResult(id,devResult);

        return success("更新状态成功!");
    }

学习时间:

2022-3-12 12:23-14:00、16:41-18:00、18:23-20:33、12:23-1:57


心得:

权限模块还是没有开出一个好头,最近学习状态有点低迷,精神状态也不好,今天起床也没什么胃口.明天又是新的一天!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值