考虑到数据的重要性和可追溯性,并不真正删除数据,而是通过一个状态来标识出来。
1,开通态、暂停态的数据可以删除
2,删除时,将状态置为删除态2,并且记载删除时间为系统时间
Action:
struts.xml
Jsp:
1,开通态、暂停态的数据可以删除
2,删除时,将状态置为删除态2,并且记载删除时间为系统时间
DAO:
public void delete(Integer id) throws DAOException {
String sql = "update account set status='2', close_date=sysdate where id=?";
Connection con = DBUtil.getConnection();
try {
PreparedStatement ps = con.prepareStatement(sql);
ps.setObject(1, id);
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
throw new DAOException("删除账务账号失败",e);
} finally{
DBUtil.close();
}
}
Action:
public class DeleteAccountAction {
public String execute(){
IAccountDAO dao = DAOFactory.getAccountDAO();
try {
dao.delete(id);
info.put("message", true);
info.put("message", "删除账务账号成功");
} catch (DAOException e) {
e.printStackTrace();
info.put("message", false);
info.put("message", "系统发生错误");
}
return "success";
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Map<String, Object> getInfo() {
return info;
}
public void setInfo(Map<String, Object> info) {
this.info = info;
}
//input
private Integer id;
//output
private Map<String, Object> info = new HashMap<String, Object>();
}
struts.xml
<!-- 删除Action -->
<action name="deleteAccount" class="netctoss.action.account.DeleteAccountAction">
<result name="success" type="json">
<param name="root">info</param>
</result>
</action>
Jsp:
<s:if test="status==0">
<input type="button" value="暂停" class="btn_pause" onclick="pauseAccount(<s:property value="id"/>);"/>
<input type="button" value="修改" class="btn_modify" onclick="location.href='account_modi.html';" />
<input type="button" value="删除" class="btn_delete" onclick="deleteAccount(<s:property value="id"/>);"/>
</s:if>
<s:else>
<input type="button" value="开通" class="btn_start" onclick="startAccount(<s:property value="id"/>);"/>
<input type="button" value="修改" class="btn_modify" onclick="location.href='account_modi.html';" />
<input type="button" value="删除" class="btn_delete" onclick="deleteAccount(<s:property value="id"/>);"/>
</s:else>
//删除
function deleteAccount(id){
var r = window.confirm("确定要删除此账号吗?");
if(!r){
return;
}
$.post(
"deleteAccount",
{"id":id},
function(data){
var info = data;
$("#operate_msg").text(info.message);
$("#operate_result_info").show();
setTimeout(function(){
toPage($("#page").val());
},1000);
}
);
}