hz-zhhq-app-service/greenH5modul/.svn/pristine/03/03d93ff0a4745409492fcb33853...

236 lines
9.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.nationalelectric.greenH5;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.apache.commons.lang.StringUtils;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.nationalelectirc.Constant.Constant;
import com.nationalelectirc.utils.RestResult;
import com.nationalelectric.greenH5.bizc.IGreenApplyListBizc;
import com.nationalelectric.greenH5.bizc.IGreenHaircutCommentBizc;
import com.nationalelectric.greenH5.bizc.IGreenHaircutInfoBizc;
import com.nationalelectric.greenH5.bizc.IGreenOperateLogBizc;
import com.nationalelectric.greenH5.handleQuerySql.HandleQuerySqlData;
import com.nationalelectric.greenH5.po.GreenApply;
import com.nationalelectric.greenH5.po.GreenApplyList;
import com.nationalelectric.greenH5.po.GreenFaultRepairInfo;
import com.nationalelectric.greenH5.po.GreenHaircutComment;
import com.nationalelectric.greenH5.po.GreenHaircutInfo;
import com.nationalelectric.greenH5.po.GreenUserInfo;
import com.nationalelectric.greenH5.po.GreenWashCarInfo;
import com.nationalelectric.greenH5.utils.DateTimeHelper;
import com.sgcc.uap.persistence.IHibernateDao;
import com.sgcc.uap.service.validator.ServiceValidatorUtil;
import com.sun.org.apache.xpath.internal.operations.And;
/**
* <b>概述</b><br>
* <p>
* <b>功能</b><br>
*
* @author dell
*/
@Controller
@RequestMapping("/greenHaircutComment")
public class GreenHaircutCommentController extends GreenBaseController {
/**
* 理发预约评论service
*/
@Resource
private IGreenHaircutCommentBizc greenhaircutcommentBizc;
/**
* HibernateDao逻辑构件
*/
@Autowired
IHibernateDao hibernateDao;
/**
* 理发预约service
*/
@Resource
private IGreenHaircutInfoBizc greenhaircutinfoBizc;
/**
* 我的申请service
*/
@Resource
private IGreenApplyListBizc greenapplylistBizc;
@Resource
private IGreenOperateLogBizc greenOperateLogBizc;
@Resource(name="HandleQuerySqlData")
private HandleQuerySqlData handleQuerySqlData;
/**
* 保存理发评论信息
*
* @param greenHaircutComment
* @return
*/
@SuppressWarnings("unchecked")
@Transactional(rollbackFor = Exception.class)
@RequestMapping(value = "/saveHaircutComment", method = RequestMethod.POST)
public @ResponseBody RestResult saveHaircutComment(@RequestBody Object requestBody) {
GreenHaircutComment greenHaircutComment = new ObjectMapper().convertValue(requestBody,
new TypeReference<GreenHaircutComment>() {
});
try {
String userId = greenHaircutComment.getUserId();
GreenUserInfo info = getUserInfo(userId);
if (info == null) {
return new RestResult(Constant.FAILED, "非法用户");
}
// 校验
//ServiceValidatorUtil.validatorJavaBean(greenHaircutComment);
// 根据id查询理发详情
if ("1".equals(greenHaircutComment.getType())) {
// GreenHaircutInfo greenHaircutInfo = greenhaircutinfoBizc.get(greenHaircutComment.getDetailId());
GreenHaircutInfo greenHaircutInfo = handleQuerySqlData.handleData(greenHaircutComment.getDetailId());
if (greenHaircutInfo == null) {
return new RestResult(Constant.FAILED, "无此记录");
}
// 预约人姓名
greenHaircutComment.setApplicantName(greenHaircutInfo.getApplyPersonName());
greenHaircutComment.setCreator(greenHaircutComment.getUserId());
greenHaircutComment.setModifier(greenHaircutComment.getUserId());
} else if ("2".equals(greenHaircutComment.getType())) {
// GreenWashCarInfo greenWashCarInfo = hibernateDao.getObject(GreenWashCarInfo.class,
// greenHaircutComment.getDetailId());
GreenWashCarInfo greenWashCarInfo = handleQuerySqlData.getWashCarInfoData(greenHaircutComment.getDetailId());
if (greenWashCarInfo == null) {
return new RestResult(Constant.FAILED, "无此记录");
}
// 预约人姓名
greenHaircutComment.setApplicantName(greenWashCarInfo.getUserName());
greenHaircutComment.setCreator(greenHaircutComment.getUserId());
greenHaircutComment.setModifier(greenHaircutComment.getUserId());
}else{
greenHaircutComment.setApplicantName(greenHaircutComment.getApplicantName()==null?"":greenHaircutComment.getApplicantName());
greenHaircutComment.setCreator(userId);
greenHaircutComment.setModifier(userId);
}
greenHaircutComment.setGmtCreated(new Date());
greenHaircutComment.setGmtModified(new Date());
greenHaircutComment.setIsDeleted("N");
// 执行保存操作
greenhaircutcommentBizc.add(greenHaircutComment);
if("5".equals(greenHaircutComment.getType())){
Long detailId = greenHaircutComment.getDetailId();
String sql = "update green_usecar_apply set isEvaluate=1 where id = ?";
hibernateDao.updateWithSql(sql,new Object[] { detailId });
}else if("6".equals(greenHaircutComment.getType())||"9".equals(greenHaircutComment.getType())){
Long detailId = greenHaircutComment.getDetailId();
String sql = "update green_fault_repair_info set is_Evaluate=1 where id = ?";
hibernateDao.updateWithSql(sql,new Object[] { detailId });
}
else if("7".equals(greenHaircutComment.getType())||"8".equals(greenHaircutComment.getType())){
Long detailId = greenHaircutComment.getDetailId();
String sql = "update green_report set is_Evaluate=1 where id = ?";
hibernateDao.updateWithSql(sql,new Object[] { detailId });
}
else if("10".equals(greenHaircutComment.getType())){
Long detailId = greenHaircutComment.getDetailId();
String sql = "update green_seekmedical_record set comment_status=comment_status+1 where id = ?";
hibernateDao.updateWithSql(sql,new Object[] { detailId });
}
else{
String sql = "select ID,USER_ID,DETAIL_ID,APPLY_TYPE,APPLY_TYPE_NAME,APPLY_DESC,NEED_VERIFY_LEVEL,"
+ "CUR_VERIFY_LEVEL,STATUS,INFO1,INFO2,INFO3,INFO4,COMMENT_STATUS,REFUSE_LEVEL,DEL_FLAG,"
+ "to_char(APPLY_TIME,'yyyy-mm-dd hh24:mi:ss') AS \"APPLY_TIME\","
+ "to_char(UPD_TIME,'yyyy-mm-dd hh24:mi:ss') AS \"UPD_TIME\""
+ " from green_apply where apply_type = '06' and del_flag = 0 and detail_id = ?";
if ("2".equals(greenHaircutComment.getType())) { // 洗车预约评论
sql = "select ID,USER_ID,DETAIL_ID,APPLY_TYPE,APPLY_TYPE_NAME,APPLY_DESC,NEED_VERIFY_LEVEL,"
+ "CUR_VERIFY_LEVEL,STATUS,INFO1,INFO2,INFO3,INFO4,COMMENT_STATUS,REFUSE_LEVEL,DEL_FLAG,"
+ "to_char(APPLY_TIME,'yyyy-mm-dd hh24:mi:ss') AS \"APPLY_TIME\","
+ "to_char(UPD_TIME,'yyyy-mm-dd hh24:mi:ss') AS \"UPD_TIME\""
+ " from green_apply where apply_type = '09' and del_flag = 0 and detail_id = ?";
}
System.err.println("sql:"+sql);
List<GreenApply> queryList = hibernateDao.queryForListWithSql(sql,
new Object[] { greenHaircutComment.getDetailId() },
new BeanPropertyRowMapper<GreenApply>(GreenApply.class));
if (queryList.size() <= 0) {
throw new Exception("评论失败,请重试");
}
// 获取请预约list表信息
GreenApply apply = queryList.get(0);
System.err.println("申请时间:" + apply.getApplyTime());
System.err.println("修改时间:" + apply.getUpdTime());
if (apply.getCommentStatus().equals("1")) {
return new RestResult(Constant.FAILED, "请勿重复评论");
}
apply.setCommentStatus("1"); // 已评价
apply.setUpdTime(new Date());
System.err.println("执行了");
// hibernateDao.updateObject(apply, apply.getId()); 此方法换了隔离装置有问题
String updateStateSql = "UPDATE GREEN_APPLY SET COMMENT_STATUS = ?,UPD_TIME=? WHERE ID = ? ";
hibernateDao.executeSqlUpdate(updateStateSql, new Object[] { apply.getCommentStatus(), apply.getUpdTime(),apply.getId() });
}
return new RestResult(Constant.SUCCESS, "评论成功");
} catch (Exception e) {
e.printStackTrace();
// 设置手动回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return new RestResult(Constant.FAILED, "评论失败,请重试");
}
}
/**
* 根据id查询理发评论
*
* @param greenHaircutComment
* @return
*/
@RequestMapping(value = "/getHaircutComment", method = RequestMethod.POST)
public @ResponseBody RestResult getHaircutComment(@RequestBody Object requestBody) {
GreenHaircutComment greenHaircutComment = new ObjectMapper().convertValue(requestBody,
new TypeReference<GreenHaircutComment>() {
});
try {
String userId = greenHaircutComment.getUserId();
GreenUserInfo info = getUserInfo(userId);
if (info == null) {
return new RestResult(Constant.FAILED, "非法用户");
}
// 根据id查询理发评论
// GreenHaircutComment queryBean = greenhaircutcommentBizc.get(greenHaircutComment.getId());
GreenHaircutComment queryBean = handleQuerySqlData.getHaircutCommentData(greenHaircutComment.getId());
return new RestResult(Constant.SUCCESS, "查询成功", queryBean);
} catch (Exception e) {
e.printStackTrace();
return new RestResult(Constant.FAILED, "查询失败");
}
}
/**
* 将字符串从第二位开始后边全部替换成*
*
* @param str
* @return
*/
public String repalceStr(String str) {
if (str.length() > 1) {
String[] arr = str.split("");
for (int i = 1; i < arr.length; i++) {
arr[i] = "*";
}
return StringUtils.join(arr);
} else {
return str;
}
}
}