目录
学习目标:
营销模块的计划项数据更新和删除操作
争取可以开始把权限管理开一个头
学习内容:
营销模块计划项数据更新后端
思路:
更新客户开发计划项数据 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
心得:
权限模块还是没有开出一个好头,最近学习状态有点低迷,精神状态也不好,今天起床也没什么胃口.明天又是新的一天!