APP意见反馈上传附件后台存值
This commit is contained in:
parent
4d768231e7
commit
fab43b34cb
@ -1,9 +1,18 @@
|
||||
package apx.com.amarsoft.als.user.pwd.service.impl;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.net.URLDecoder;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@ -19,6 +28,8 @@ import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.amarsoft.are.lang.DateX;
|
||||
import com.amarsoft.are.security.MessageDigest;
|
||||
import com.amarsoft.are.util.DataConvert;
|
||||
import com.amarsoft.are.util.StringFunction;
|
||||
import com.amarsoft.awe.Configure;
|
||||
import com.amarsoft.awe.security.LogonUser;
|
||||
import com.amarsoft.awe.security.SecurityAudit;
|
||||
import com.amarsoft.awe.security.SecurityAuditConstants;
|
||||
@ -39,16 +50,15 @@ import com.base.util.ReturnMapUtil;
|
||||
|
||||
public class GesturePwdServiceImpl implements GesturePwdService {
|
||||
// ReturnMapUtil ReturnMapUtil = new ReturnMapUtil();
|
||||
public Map<String, Object> setupGesture(HttpServletRequest request,
|
||||
JBOTransaction tx, ReturnMapUtil ReturnMapUtil) {
|
||||
public Map<String, Object> setupGesture(HttpServletRequest request, JBOTransaction tx,
|
||||
ReturnMapUtil ReturnMapUtil) {
|
||||
String sUserId = request.getParameter("userid");
|
||||
sUserId = sUserId == null ? request.getSession().getAttribute("userid") == null ? null
|
||||
: request.getSession().getAttribute("userid").toString()
|
||||
: sUserId;
|
||||
: request.getSession().getAttribute("userid").toString() : sUserId;
|
||||
String sPwd = request.getParameter("pwd");
|
||||
if (null == sPwd)
|
||||
sPwd = "";
|
||||
// DES.decrypt(sPwd);
|
||||
// DES.decrypt(sPwd);
|
||||
sPwd = DES.decrypt(sPwd);
|
||||
sPwd = MD5Util.getMD5EncodedPassword(sPwd);
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
@ -58,23 +68,21 @@ public class GesturePwdServiceImpl implements GesturePwdService {
|
||||
UserHelper.edit(tx, sUserId, map);
|
||||
} catch (JBOException e) {
|
||||
ARE.getLog().error(e);
|
||||
ReturnMapUtil.setReturnMap(null,
|
||||
(String) RestfullConstant.baseProperty.get("FAIL"
|
||||
.toLowerCase()), "设置手钥密码数据操作失败!");
|
||||
ReturnMapUtil.setReturnMap(null, (String) RestfullConstant.baseProperty.get("FAIL".toLowerCase()),
|
||||
"设置手钥密码数据操作失败!");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}
|
||||
ReturnMapUtil.setReturnMap(null, (String) RestfullConstant.baseProperty
|
||||
.get("SUCCESS".toLowerCase()), "成功设置或重设手钥密码!");
|
||||
ReturnMapUtil.setReturnMap(null, (String) RestfullConstant.baseProperty.get("SUCCESS".toLowerCase()),
|
||||
"成功设置或重设手钥密码!");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}
|
||||
|
||||
public Map<String, Object> closeGesture(HttpServletRequest request,
|
||||
JBOTransaction tx, ReturnMapUtil ReturnMapUtil) {
|
||||
public Map<String, Object> closeGesture(HttpServletRequest request, JBOTransaction tx,
|
||||
ReturnMapUtil ReturnMapUtil) {
|
||||
// NO CHECK URI
|
||||
String sUserId = request.getParameter("userid");
|
||||
sUserId = sUserId == null ? request.getSession().getAttribute("userid") == null ? null
|
||||
: request.getSession().getAttribute("userid").toString()
|
||||
: sUserId;
|
||||
: request.getSession().getAttribute("userid").toString() : sUserId;
|
||||
if (null == sUserId)
|
||||
sUserId = "";
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
@ -84,31 +92,27 @@ public class GesturePwdServiceImpl implements GesturePwdService {
|
||||
UserHelper.edit(tx, sUserId, map);
|
||||
} catch (JBOException e) {
|
||||
ARE.getLog().error(e);
|
||||
ReturnMapUtil.setReturnMap(null,
|
||||
(String) RestfullConstant.baseProperty.get("FAIL"
|
||||
.toLowerCase()), "关闭手钥密码数据操作失败!");
|
||||
ReturnMapUtil.setReturnMap(null, (String) RestfullConstant.baseProperty.get("FAIL".toLowerCase()),
|
||||
"关闭手钥密码数据操作失败!");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}
|
||||
ReturnMapUtil.setReturnMap(null, (String) RestfullConstant.baseProperty
|
||||
.get("SUCCESS".toLowerCase()), "成功关闭手钥密码!");
|
||||
ReturnMapUtil.setReturnMap(null, (String) RestfullConstant.baseProperty.get("SUCCESS".toLowerCase()),
|
||||
"成功关闭手钥密码!");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}
|
||||
|
||||
public Map<String, Object> acquisitionGesture(HttpServletRequest request,
|
||||
ReturnMapUtil ReturnMapUtil) {
|
||||
public Map<String, Object> acquisitionGesture(HttpServletRequest request, ReturnMapUtil ReturnMapUtil) {
|
||||
|
||||
// NO CHECK URI
|
||||
String sUserId = request.getParameter("userid");
|
||||
sUserId = sUserId == null ? request.getSession().getAttribute("userid") == null ? null
|
||||
: request.getSession().getAttribute("userid").toString()
|
||||
: sUserId;
|
||||
: request.getSession().getAttribute("userid").toString() : sUserId;
|
||||
if (null == sUserId)
|
||||
sUserId = "";
|
||||
Map<String, Object> userMap = UserHelper.getUser(sUserId);
|
||||
if (userMap == null) {
|
||||
ReturnMapUtil.setReturnMap(null,
|
||||
(String) RestfullConstant.baseProperty.get("FAIL"
|
||||
.toLowerCase()), "没用找到该用户!");
|
||||
ReturnMapUtil.setReturnMap(null, (String) RestfullConstant.baseProperty.get("FAIL".toLowerCase()),
|
||||
"没用找到该用户!");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}
|
||||
Map<String, Object> body = new HashMap<String, Object>();
|
||||
@ -119,97 +123,149 @@ public class GesturePwdServiceImpl implements GesturePwdService {
|
||||
|
||||
body.put("enablegesture", sEnable);
|
||||
body.put("enableGestureName", "1".equals(sEnable) ? "¿ªÆô" : "¹Ø±Õ");
|
||||
ReturnMapUtil.setReturnMap(body, (String) RestfullConstant.baseProperty
|
||||
.get("SUCCESS".toLowerCase()), "");
|
||||
ReturnMapUtil.setReturnMap(body, (String) RestfullConstant.baseProperty.get("SUCCESS".toLowerCase()), "");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Map<String, Object> SaveFeedback(HttpServletRequest request, HttpServletResponse response, JBOTransaction tx,
|
||||
Transaction sqlca, ReturnMapUtil ReturnMapUtil) throws Exception {
|
||||
Map<String, Object> testMap = (Map<String, Object>) MultipartDataUtil
|
||||
.readRequestParam(request, "UTF-8");
|
||||
Map<String, Object> testMap = (Map<String, Object>) MultipartDataUtil.readRequestParam(request, "UTF-8");
|
||||
Map<String, Object> fieldMap = (Map<String, Object>) testMap.get("fieldMap");
|
||||
String userid = fieldMap.get("userid") == null ? "" : fieldMap.get("userid").toString();
|
||||
String oldPwd = fieldMap.get("oldPwd") == null ? "" : fieldMap.get("oldPwd").toString();
|
||||
String newPwd = fieldMap.get("newPwd") == null ? "" : fieldMap.get("newPwd").toString();
|
||||
//加密处理
|
||||
String sEncOldPassword = MessageDigest.getDigestAsUpperHexString("MD5", oldPwd );
|
||||
String sEncNewPassword = MessageDigest.getDigestAsUpperHexString("MD5", newPwd);
|
||||
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.awe.USER_INFO");
|
||||
BizObject bo1 = bm.createQuery("UserID=:UserID and Password=:Password")
|
||||
.setParameter("UserID", userid).setParameter("Password", sEncOldPassword).getSingleResult(true);
|
||||
Map<String, Object> bo = new HashMap<String, Object>();
|
||||
if(bo1 == null) {
|
||||
ReturnMapUtil.setReturnMap(null,RestfullConstant.baseProperty.get("fail").toString(), "原密码错误,请重新输入!!");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
// 加密处理
|
||||
String sEncOldPassword = MessageDigest.getDigestAsUpperHexString("MD5", oldPwd);
|
||||
String sEncNewPassword = MessageDigest.getDigestAsUpperHexString("MD5", newPwd);
|
||||
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.awe.USER_INFO");
|
||||
BizObject bo1 = bm.createQuery("UserID=:UserID and Password=:Password").setParameter("UserID", userid)
|
||||
.setParameter("Password", sEncOldPassword).getSingleResult(true);
|
||||
Map<String, Object> bo = new HashMap<String, Object>();
|
||||
if (bo1 == null) {
|
||||
ReturnMapUtil.setReturnMap(null, RestfullConstant.baseProperty.get("fail").toString(), "原密码错误,请重新输入!!");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}
|
||||
SecurityAudit securityAudit = new SecurityAudit(
|
||||
new LogonUser(ASUser.getUser(userid, sqlca).getUserName(), userid, oldPwd));// 安全审计里面可能需要判断密码是否包含大小写等问题,所以构建用户的时候,使用明码
|
||||
UserMarkInfo userMarkInfo = securityAudit.getUserMarkInfo(sqlca);
|
||||
PasswordRuleManager pwm = new PasswordRuleManager();
|
||||
ComparePasswordRule compareRule = new ComparePasswordRule();
|
||||
Map<String, String> ruleMap = SecurityOptionManager.getRules(sqlca);
|
||||
ALSPWDRules alsPWDRules = new ALSPWDRules(ruleMap);
|
||||
pwm.addRule(compareRule);
|
||||
pwm.addRule(alsPWDRules);
|
||||
|
||||
if (!securityAudit.modifyPassword(newPwd, pwm)) {
|
||||
if (securityAudit.getErrorCode() == SecurityAuditConstants.CODE_RULE_ERROR_LENGTH) {
|
||||
Map<Integer, String> ruleMap2 = new HashMap<Integer, String>();
|
||||
for (Entry<String, String> e : ruleMap.entrySet()) {
|
||||
ruleMap2.put(DataConvert.toInt(e.getKey()), e.getValue());
|
||||
}
|
||||
SecurityAudit securityAudit = new SecurityAudit(new LogonUser(ASUser.getUser(userid, sqlca).getUserName(), userid, oldPwd));//安全审计里面可能需要判断密码是否包含大小写等问题,所以构建用户的时候,使用明码
|
||||
UserMarkInfo userMarkInfo = securityAudit.getUserMarkInfo(sqlca);
|
||||
PasswordRuleManager pwm = new PasswordRuleManager();
|
||||
ComparePasswordRule compareRule = new ComparePasswordRule();
|
||||
Map<String, String> ruleMap = SecurityOptionManager.getRules(sqlca);
|
||||
ALSPWDRules alsPWDRules = new ALSPWDRules(ruleMap);
|
||||
pwm.addRule(compareRule);
|
||||
pwm.addRule(alsPWDRules);
|
||||
|
||||
if(!securityAudit.modifyPassword(newPwd,pwm)){
|
||||
if(securityAudit.getErrorCode()==SecurityAuditConstants.CODE_RULE_ERROR_LENGTH){
|
||||
Map<Integer, String> ruleMap2 = new HashMap<Integer, String>();
|
||||
for(Entry<String, String> e : ruleMap.entrySet()){
|
||||
ruleMap2.put(DataConvert.toInt(e.getKey()), e.getValue());
|
||||
}
|
||||
String pwdLength = ruleMap2.get(securityAudit.getErrorCode());
|
||||
System.out.println("密码长度至少为"+pwdLength+"位,请重新输入!!!");
|
||||
}else{
|
||||
System.out.println(securityAudit.getErrorMessage()+",请重新输入!!!");
|
||||
}
|
||||
}
|
||||
//校验通过后,更新为新的密码
|
||||
bo1.setAttributeValue("Password", sEncNewPassword);
|
||||
bm.saveObject(bo1);
|
||||
|
||||
//保存用户痕迹信息
|
||||
userMarkInfo.setPasswordState("0");
|
||||
userMarkInfo.setPassWordUpdateDate(DateX.format(new java.util.Date()));
|
||||
userMarkInfo.saveMarkInfo(sqlca);
|
||||
|
||||
ReturnMapUtil.setReturnMap(bo,RestfullConstant.baseProperty.get("success").toString(), "");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
String pwdLength = ruleMap2.get(securityAudit.getErrorCode());
|
||||
System.out.println("密码长度至少为" + pwdLength + "位,请重新输入!!!");
|
||||
} else {
|
||||
System.out.println(securityAudit.getErrorMessage() + ",请重新输入!!!");
|
||||
}
|
||||
}
|
||||
// 校验通过后,更新为新的密码
|
||||
bo1.setAttributeValue("Password", sEncNewPassword);
|
||||
bm.saveObject(bo1);
|
||||
|
||||
// 保存用户痕迹信息
|
||||
userMarkInfo.setPasswordState("0");
|
||||
userMarkInfo.setPassWordUpdateDate(DateX.format(new java.util.Date()));
|
||||
userMarkInfo.saveMarkInfo(sqlca);
|
||||
|
||||
ReturnMapUtil.setReturnMap(bo, RestfullConstant.baseProperty.get("success").toString(), "");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Map<String, Object> OpinionFeedback(HttpServletRequest request, HttpServletResponse response, JBOTransaction tx,
|
||||
Transaction sqlca, ReturnMapUtil ReturnMapUtil) throws Exception {
|
||||
Map<String, Object> testMap = (Map<String, Object>) MultipartDataUtil
|
||||
.readRequestParam(request, "UTF-8");
|
||||
public Map<String, Object> OpinionFeedback(HttpServletRequest request, HttpServletResponse response,
|
||||
JBOTransaction tx, Transaction sqlca, ReturnMapUtil ReturnMapUtil) throws Exception {
|
||||
Map<String, Object> testMap = (Map<String, Object>) MultipartDataUtil.readRequestParam(request, "UTF-8");
|
||||
Map<String, Object> fieldMap = (Map<String, Object>) testMap.get("fieldMap");
|
||||
String opinion = fieldMap.get("opinion") == null ? "" : fieldMap.get("opinion").toString();
|
||||
String userid = fieldMap.get("userid") == null ? "" : fieldMap.get("userid").toString();
|
||||
List<Map<String, Object>> fileList = (List<Map<String, Object>>) testMap.get("fileList");
|
||||
ASUser CurUser = new ASUser(userid, sqlca);
|
||||
BizObjectManager catManage = JBOFactory.getBizObjectManager(SUBMIT_USER_FEEDBACK.CLASS_NAME,sqlca);
|
||||
|
||||
BizObjectManager catManage = JBOFactory.getBizObjectManager(SUBMIT_USER_FEEDBACK.CLASS_NAME, sqlca);
|
||||
|
||||
Map<String, Object> bo = new HashMap<String, Object>();
|
||||
if(opinion == null || "".equals(opinion) ){
|
||||
ReturnMapUtil.setReturnMap(null,RestfullConstant.baseProperty.get("fail").toString(), "请输入意见反馈信息!!!");
|
||||
if (opinion == null || "".equals(opinion)) {
|
||||
ReturnMapUtil.setReturnMap(null, RestfullConstant.baseProperty.get("fail").toString(), "请输入意见反馈信息!!!");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}else{
|
||||
BizObject cat = catManage.createQuery(" opinion =:opinion").setParameter("opinion", opinion).getSingleResult(true);
|
||||
if( cat == null ){
|
||||
cat = catManage.newObject();
|
||||
cat.setAttributeValue("inputuserid", userid);
|
||||
cat.setAttributeValue("inputorgid", CurUser.getOrgID());
|
||||
cat.setAttributeValue("inputtime", DateUtil.getSystemTimeByFormat("yyyy/MM/dd HH:mm:ss"));
|
||||
cat.setAttributeValue("updateuserid", userid);
|
||||
cat.setAttributeValue("updateorgid", CurUser.getOrgID());
|
||||
cat.setAttributeValue("updatetime", DateUtil.getSystemTimeByFormat("yyyy/MM/dd HH:mm:ss"));
|
||||
} else {
|
||||
BizObject cat = catManage.createQuery(" opinion =:opinion").setParameter("opinion", opinion)
|
||||
.getSingleResult(true);
|
||||
if (cat == null) {
|
||||
cat = catManage.newObject();
|
||||
cat.setAttributeValue("inputuserid", userid);
|
||||
cat.setAttributeValue("inputorgid", CurUser.getOrgID());
|
||||
cat.setAttributeValue("inputtime", DateUtil.getSystemTimeByFormat("yyyy/MM/dd HH:mm:ss"));
|
||||
cat.setAttributeValue("updateuserid", userid);
|
||||
cat.setAttributeValue("updateorgid", CurUser.getOrgID());
|
||||
cat.setAttributeValue("updatetime", DateUtil.getSystemTimeByFormat("yyyy/MM/dd HH:mm:ss"));
|
||||
}
|
||||
cat.setAttributeValue("opinion", fieldMap.get("opinion") == null ? "" : fieldMap.get("opinion").toString());
|
||||
catManage.saveObject(cat);
|
||||
|
||||
Configure CurConfig = Configure.getInstance();
|
||||
BizObjectManager attrBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.doc.LB_DOCATTRIBUTE");
|
||||
for (Map<String, Object> file : fileList) {
|
||||
BizObject attr = attrBm.newObject();
|
||||
attr.setAttributeValue("Library_Id", cat.getAttribute("ID").toString());
|
||||
attr.setAttributeValue("FileName", file.get("fileName"));
|
||||
attr.setAttributeValue("InputUserId", CurUser.getOrgID());
|
||||
attr.setAttributeValue("InputOrgId", CurUser.getOrgID());
|
||||
attr.setAttributeValue("InputTime", StringFunction.getTodayNow());
|
||||
attr.setAttributeValue("objectType", "AppOpinion");
|
||||
|
||||
// 得到不带路径的文件名
|
||||
String sFileName = StringFunction.getFileName(file.get("fileName").toString());
|
||||
sFileName = URLDecoder.decode(URLDecoder.decode(sFileName, "UTF-8"), "UTF-8");
|
||||
|
||||
// 定义数据库操作变量
|
||||
String sFileSavePath = CurConfig.getConfigure("FileSavePath");
|
||||
|
||||
String uuid = java.util.UUID.randomUUID().toString().replaceAll("-", "");
|
||||
String sFullPath = com.tenwa.officetempalte.util.FileOperatorUtil.getuploadFileDir(sFileSavePath) + uuid
|
||||
+ "_" + sFileName;
|
||||
InputStream is = (InputStream) file.get("file");
|
||||
File f = new File(sFullPath);
|
||||
DataOutputStream fileout = new DataOutputStream(new FileOutputStream(f));
|
||||
String sFileSize = file.get("fileSize") == null ? "" : file.get("fileSize").toString();
|
||||
byte b[] = new byte[Integer.valueOf(sFileSize)];
|
||||
@SuppressWarnings("unused")
|
||||
int i = is.read(b, 0, Integer.valueOf(sFileSize) - 1);
|
||||
fileout.write(b, 0, b.length); // 将文件数据存盘
|
||||
fileout.close();
|
||||
|
||||
// 得到带相对路径的文件名
|
||||
String sFilePath = sFullPath.replace(sFileSavePath, "");
|
||||
attr.setAttributeValue("FilePath", sFilePath);
|
||||
attr.setAttributeValue("FullPath", sFullPath);
|
||||
attr.setAttributeValue("Content_Type", isImage(f, file.get("fileContentType")));
|
||||
attr.setAttributeValue("FileSize", file.get("fileSize"));
|
||||
attrBm.saveObject(attr);
|
||||
}
|
||||
}
|
||||
cat.setAttributeValue("opinion", fieldMap.get("opinion") == null ? "" : fieldMap.get("opinion").toString());
|
||||
catManage.saveObject(cat);
|
||||
}
|
||||
ReturnMapUtil.setReturnMap(bo,RestfullConstant.baseProperty.get("success").toString(), "");
|
||||
|
||||
ReturnMapUtil.setReturnMap(bo, RestfullConstant.baseProperty.get("success").toString(), "");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}
|
||||
|
||||
public Object isImage(File file, Object object) throws Exception {
|
||||
String reg = "(mp4|flv|avi|rm|rmvb|wmv)";
|
||||
Pattern p = Pattern.compile(reg);
|
||||
boolean boo = p.matcher(file.getName()).find();
|
||||
if (boo) {
|
||||
return "video";
|
||||
}
|
||||
BufferedImage bi = ImageIO.read(file);
|
||||
if (bi == null) {
|
||||
return object;
|
||||
}
|
||||
return "image/jpeg";
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user