236 lines
9.6 KiB
Plaintext
236 lines
9.6 KiB
Plaintext
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;
|
||
}
|
||
}
|
||
}
|