CRM客户关系管理系统<6>营销页面的添加和更新操作

版权声明:有一种生活不去经历不知其中艰辛,有一种艰辛不去体会,不会知道其中快乐,有一种快乐,没有拥有不知其中纯粹 https://blog.csdn.net/wwwzydcom/article/details/83242371

点击添加按钮,触发事件,查看插件

	function openAddSaleChacneDialog() {
	    $("#dlg").dialog("open");
	}

点击更新按钮事件

function openModifySaleChanceDialog() {
    var rows = $('#dg').datagrid("getSelections");
    // console.log(rows);
    if (rows.length ==0){
        $.messager.alert('来自Crm','请选择一条记录更新')
        return;
    }
    if (rows.length >1){
        $.messager.alert('来自Crm','只能选择一条记录更新')
        return;
    }
       $('#fm').form('load',rows[0]);
	  $('#dlg').dialog('open').dialog('setTitle','更新营销机会');
	}

点击保存按钮触发事件

function saveOrUpdateSaleChance() {
    $('#fm').form('submit', {
        url: ctx + '/saleChance/saveOrUpdateSaleChance',
        onSubmit: function () {
            return $(this).form('validate');
        },
        success: function (data) {
            data = JSON.parse(data);
            if (data.code == 200) {
                $.messager.alert('来自Crm', data.msg, 'info', function () {
                    // 关闭弹窗
                    $('#dlg').dialog('close');
                    // 刷新数据表格
                    $('#dg').datagrid('load');
                });
            } else {
                $.messager.alert('来自Crm', data.msg, 'error');
            }
        }
    });
}

/saleChance/saveOrUpdateSaleChance发送请求到后台

   @RequestMapping("saveOrUpdateSaleChance")
    @ResponseBody
    public ResultInfo saveOrUpdateSaleChance(SaleChance saleChance, HttpServletRequest request){
        Integer userId = LoginUserUtil.releaseUserIdFromCookie(request);
        saleChanceService.saveOrUpdateSaleChance(saleChance,userId);
        return success(CrmConstant.OPS_SUCCESS_MSG);
    }

从cookie中获取userId,
Service

	public void saveOrUpdateSaleChance(SaleChance saleChance,Integer userId){
	        /***
	         * 步骤
	         * 1. 校验参数
	         * 2. 补全参数
	         * 3. 通过id区分是添加或者更新
	         * 4. 执行最终操作
	         * */
	        checkSaleChanceParams(saleChance.getCustomerName(),saleChance.getLinkMan(),saleChance.getLinkPhone());
	
	        saleChance.setUpdateDate(new Date());
	        Integer id = saleChance.getId();
	        if (null == id){
	
	            /***
	             * 如果选择分配人, state 为 1 已分配, 设置分配时间
	             * 如果未选择分配人, state 为 0 未分配
	             * */
	            if (StringUtils.isBlank(saleChance.getAssignMan())){
	                saleChance.setState(0); //没选择就是未分配
	            }else {
	                saleChance.setState(1); //选择就是已分配
	                saleChance.setAssignTime(new Date());  //分配时间
	            }
	            //添加操作
	            //saleChance.setState(0);//未分配
	            saleChance.setDevResult(0); //未开发
	            saleChance.setIsValid(1);   //有效数据
	            saleChance.setCreateDate(new Date());   //创建时间
	            //通过id查询到用户,设置创建人
	            User user = userMapper.queryById(userId);
	            saleChance.setCreateMan(user.getUserName());
	            AssertUtil.isTrue(saleChanceMapper.save(saleChance)<1, CrmConstant.OPS_FAILED_MSG);
	
	        }else {
	            //更新操作
	            AssertUtil.isTrue(saleChanceMapper.update(saleChance)<1, CrmConstant.OPS_FAILED_MSG);
	        }
	    }
	    //校验参数
	    private void checkSaleChanceParams(String customerName, String linkMan, String linkPhone) {
	        AssertUtil.isTrue(StringUtils.isBlank(customerName),"客户名称为空!");
	        AssertUtil.isTrue(StringUtils.isBlank(linkMan),"联系人为空!");
	        AssertUtil.isTrue(StringUtils.isBlank(linkPhone),"联系电话为空!");
	    }

1.将前台传递的参数进行校验 不能为空,使用的lang3包中StringUtil.isBlank和自己封装的AsserUtil

 public static void isTrue(Boolean flag,String msg){
        if(flag){
            throw new ParamsException(msg);
        }
    }

2.通过id判断是添加还是更新

Dao层

public  Integer save(T entity) throws DataAccessException;继承了结果

xml文件使用的插件自动生成sql文件中的save

使用到的技术:SpringMVC注解,分页,Spring中自动生成依赖注入IOC
mybatis的动态sql语句
where标签,自动去除前面的and
set 自动去除更新前面的,
trim具体where和and一样的效果

猜你喜欢

转载自blog.csdn.net/wwwzydcom/article/details/83242371
今日推荐