共计 2889 个字符,预计需要花费 8 分钟才能阅读完成。
1. 商品后盾治理
1.1 商品新增
1.1.1 页面剖析
1.url 剖析
2. 参数剖析
- 页面 JS 编辑
`function submitForm(){ | |
// 表单校验 | |
if(!$('#itemAddForm').form('validate')){$.messager.alert('提醒','表单还未填写实现!'); | |
return ; | |
} | |
// 转化价格单位,将元转化为分 | |
//$("#price").val(); 取值 $("#price").val(100); | |
//eval() 专门做算数计算的 1+1 "1"+1 | |
$("#itemAddForm [name=price]").val(eval($("#itemAddForm [name=priceView]").val()) * 100); | |
itemAddEditor.sync();// 将输出的内容同步到多行文本中 | |
$.post("/item/save",$("#itemAddForm").serialize(), function(data){if(data.status == 200){$.messager.alert('提醒','新增商品胜利!'); | |
}else{$.messager.alert("提醒","新增商品失败!"); | |
} | |
}); | |
}` |
1.1.2 封装 SysResult
阐明: 在 jt-common 中增加零碎返回值 VO 对象
`package com.jt.vo; | |
import lombok.AllArgsConstructor; | |
import lombok.Data; | |
import lombok.NoArgsConstructor; | |
import lombok.experimental.Accessors; | |
// 作用: 指定零碎返回值 vo 对象, 与前端进行交互 | |
@Data | |
@Accessors(chain = true) | |
@NoArgsConstructor | |
@AllArgsConstructor | |
public class SysResult { | |
private Integer status; //200 胜利 201 失败 | |
private String msg; // 服务器返回的提示信息 | |
private Object data; // 服务器数据 | |
//1. 编辑失败办法 | |
public static SysResult fail(){return new SysResult(201,"服务器调用失败",null); | |
} | |
//2. 重载胜利办法 | |
public static SysResult success(){return new SysResult(200,"服务器执行胜利",null); | |
} | |
public static SysResult success(Object data){return new SysResult(200,"服务器执行胜利",data); | |
} | |
public static SysResult success(String msg,Object data){return new SysResult(200,msg,data); | |
} | |
}` |
1.1.3 编辑 ItemController
`/** | |
* 业务需要: | |
* 实现商品入库操作. | |
* 注意事项: | |
* 1. 避免办法出错增加 try-catch | |
* 2. 新增商品的状态信息 为 1 | |
* 3. 入库操作时 实现工夫的记录. | |
* 申请参数: | |
* 1.url 地址:/item/save | |
* 2. 申请参数: form 表单 对象接管 | |
* 3. 返回值: 零碎级别的 VO 对象 | |
* | |
* 常识温习: | |
* input name="age" value=18 | |
*/ | |
@RequestMapping("/save") | |
public SysResult saveItem(Item item){ | |
try {itemService.saveItem(item); | |
return SysResult.success();}catch (Exception e){e.printStackTrace(); | |
return SysResult.fail();} | |
}` |
1.1.4 编辑 ItemService
`@Override | |
public void saveItem(Item item) {item.setStatus(1) // 默认是失常状态 | |
.setCreated(new Date()) | |
.setUpdated(item.getCreated()); | |
itemMapper.insert(item); | |
}` | |
1.2 全局异样解决机制阐明
阐明: 在 jt-common 中 增加全局异样解决机制.
`package com.jt.aop; | |
import com.jt.vo.SysResult; | |
import org.springframework.web.bind.annotation.ExceptionHandler; | |
import org.springframework.web.bind.annotation.RestControllerAdvice; | |
@RestControllerAdvice // 定义全局异样解决 | |
public class SystemException { | |
// 遇到运行时异样时办法执行. | |
@ExceptionHandler({RuntimeException.class}) | |
public Object fail(Exception e){e.printStackTrace(); // 输入异样信息. | |
return SysResult.fail();} | |
}` |
1.3 主动填充性能
1.3.1 业务需要
例如更新工夫 / 创立工夫, 每个业务操作时都须要更新相干数据, 是否将数据进行优化, 简化程序调用.
1.3.2 编辑 BasePOJO 指定填充属性
1.3.2 编辑配置类
阐明: 在 jt-common 中 编辑配置类, 实现主动填充性能.
`package com.jt.handler; | |
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; | |
import org.apache.ibatis.reflection.MetaObject; | |
import org.springframework.stereotype.Component; | |
import java.util.Date; | |
@Component // 将对象交给 spring 容器治理 | |
public class MyMetaObjectHandler implements MetaObjectHandler { | |
// 实现入库操作主动赋值 | |
@Override | |
public void insertFill(MetaObject metaObject) {Date date = new Date(); | |
this.setFieldValByName("created",date,metaObject); | |
this.setFieldValByName("updated",date,metaObject); | |
} | |
// 实现更新操作主动赋值 | |
@Override | |
public void updateFill(MetaObject metaObject) {this.setFieldValByName("updated",new Date(),metaObject); | |
} | |
}` |
1.4 商品批改操作
正文完