版权声明:有一种生活不去经历不知其中艰辛,有一种艰辛不去体会,不会知道其中快乐,有一种快乐,没有拥有不知其中纯粹 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一样的效果