Commit 8cadf5b8 authored by jiaorz's avatar jiaorz

Merge branch 'master-background-bug'

parents bf8a49e6 d72078a1
...@@ -6,21 +6,28 @@ import com.github.wxiaoqi.security.common.exception.auth.ClientTokenException; ...@@ -6,21 +6,28 @@ import com.github.wxiaoqi.security.common.exception.auth.ClientTokenException;
import com.github.wxiaoqi.security.common.exception.auth.UserInvalidException; import com.github.wxiaoqi.security.common.exception.auth.UserInvalidException;
import com.github.wxiaoqi.security.common.exception.auth.UserTokenException; import com.github.wxiaoqi.security.common.exception.auth.UserTokenException;
import com.github.wxiaoqi.security.common.msg.BaseResponse; import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.github.wxiaoqi.security.common.util.HttpRequestUtil; import com.github.wxiaoqi.security.common.util.HttpUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.context.request.WebRequest; import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter; import java.io.StringWriter;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
import static org.springframework.http.HttpStatus.NOT_EXTENDED; import static org.springframework.http.HttpStatus.NOT_EXTENDED;
...@@ -31,7 +38,8 @@ import static org.springframework.http.HttpStatus.NOT_EXTENDED; ...@@ -31,7 +38,8 @@ import static org.springframework.http.HttpStatus.NOT_EXTENDED;
@ResponseBody @ResponseBody
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler { public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
private Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class); private Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
@Value("${spring.application.name}")
private String applicationName;
/** /**
* 在controller里面内容执行之前,校验一些参数不匹配啊,Get post方法不对啊之类的 * 在controller里面内容执行之前,校验一些参数不匹配啊,Get post方法不对啊之类的
*/ */
...@@ -69,7 +77,15 @@ public class GlobalExceptionHandler extends ResponseEntityExceptionHandler { ...@@ -69,7 +77,15 @@ public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
if(0 == ex.getStatus()) { if(0 == ex.getStatus()) {
response.setStatus(500); response.setStatus(500);
} }
HttpRequestUtil.httpGet("http://10.5.52.3:8765/api/universal/mail/app/unauth/send?toUser=jiaoruizhen@126.com&subject=服务器异常&content=" + ex.getStackTrace().toString()); Map<String, String> map = new HashMap<>();
map.put("toUser", "jiaoruizhen@126.com");
map.put("subject", "服务器异常");
map.put("content", ex.toString() + ":" +ex.getMessage());
try {
HttpUtils.doPost("http://10.5.52.3:8765","/api/universal/mail/app/unauth/send", map);
} catch (Exception e) {
logger.error(e.getMessage());
}
return new BaseResponse(ex.getStatus(), ex.getMessage()); return new BaseResponse(ex.getStatus(), ex.getMessage());
} }
...@@ -82,10 +98,39 @@ public class GlobalExceptionHandler extends ResponseEntityExceptionHandler { ...@@ -82,10 +98,39 @@ public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
StringWriter stringWriter = new StringWriter(); StringWriter stringWriter = new StringWriter();
cause.printStackTrace(new PrintWriter(stringWriter)); cause.printStackTrace(new PrintWriter(stringWriter));
logger.error(cause.getMessage(), ex); logger.error(cause.getMessage(), ex);
HttpRequestUtil.httpGet("http://10.5.52.3:8765/api/universal/mail/app/unauth/send?toUser=jiaoruizhen@126.com&subject=服务器异常&content=" + stringWriter.toString()); Map<String, String> map = new HashMap<>();
map.put("toUser", "jiaoruizhen@126.com");
map.put("subject", "服务器异常");
map.put("content", initCommonLogPrePart()+ ":" +stringWriter.toString());
try {
HttpUtils.doPost("http://10.5.52.3:8765","/api/universal/mail/app/unauth/send", map);
} catch (Exception e) {
logger.error(e.getMessage());
}
return new BaseResponse(5000, "Server exception: " + ex.getMessage()); return new BaseResponse(5000, "Server exception: " + ex.getMessage());
} }
HttpRequestUtil.httpGet("http://10.5.52.3:8765/api/universal/mail/app/unauth/send?toUser=jiaoruizhen@126.com&subject=服务器异常&content=" + ex.getStackTrace().toString()); Map<String, String> map = new HashMap<>();
map.put("toUser", "jiaoruizhen@126.com");
map.put("subject", "服务器异常");
map.put("content", initCommonLogPrePart()+ ":" + ex.toString() + ":" + ex.getMessage());
try {
HttpUtils.doPost("http://10.5.52.3:8765","/api/universal/mail/app/unauth/send", map);
} catch (Exception e) {
logger.error(e.getMessage());
}
return new BaseResponse(CommonConstants.EX_OTHER_CODE, ex.getMessage()); return new BaseResponse(CommonConstants.EX_OTHER_CODE, ex.getMessage());
} }
public String initCommonLogPrePart() {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = servletRequestAttributes.getRequest();//获取request
StringBuilder stringBuilder = new StringBuilder();
//request 获得头部
stringBuilder.append(request.getHeader("app"));
LocalDateTime startTime= LocalDateTime.now();//开始时间
stringBuilder.append("》》" +startTime.toString());
stringBuilder.append("》》" +request.getServletPath());
stringBuilder.append("》》" +applicationName + ":" + request.getServletPath());
return stringBuilder.toString();
}
} }
...@@ -4,18 +4,27 @@ package com.github.wxiaoqi.security.common.handler; ...@@ -4,18 +4,27 @@ package com.github.wxiaoqi.security.common.handler;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.BaseResponse; import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.HttpRequestUtil; import com.github.wxiaoqi.security.common.util.HttpUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter; import java.io.StringWriter;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
@RestControllerAdvice("com.xxfc.platform") @RestControllerAdvice("com.xxfc.platform")
@Slf4j @Slf4j
public class PlatformExceptionHandler { public class PlatformExceptionHandler {
@Value("${spring.application.name}")
private String applicationName;
@ExceptionHandler(value = {BaseException.class}) @ExceptionHandler(value = {BaseException.class})
public BaseResponse baseExceptionHandler(Exception e) { public BaseResponse baseExceptionHandler(Exception e) {
...@@ -35,11 +44,27 @@ public class PlatformExceptionHandler { ...@@ -35,11 +44,27 @@ public class PlatformExceptionHandler {
StringWriter stringWriter = new StringWriter(); StringWriter stringWriter = new StringWriter();
cause.printStackTrace(new PrintWriter(stringWriter)); cause.printStackTrace(new PrintWriter(stringWriter));
log.error(cause.getMessage(), e); log.error(cause.getMessage(), e);
HttpRequestUtil.httpGet("http://10.5.52.3:8765/api/universal/mail/app/unauth/send?toUser=jiaoruizhen@126.com&subject=服务器异常&content=" + stringWriter.toString()); Map<String, String> map = new HashMap<>();
map.put("toUser", "jiaoruizhen@126.com");
map.put("subject", "服务器异常");
map.put("content", initCommonLogPrePart()+ ":" +stringWriter.toString());
try {
HttpUtils.doPost("http://10.5.52.3:8765","/api/universal/mail/app/unauth/send", map);
} catch (Exception ex) {
log.error(ex.getMessage());
}
return assembleResult(ObjectRestResponse.createFailedResult(5000, "服务器开小差了,请稍后重试!"), "Server exception: " + e.getMessage()); return assembleResult(ObjectRestResponse.createFailedResult(5000, "服务器开小差了,请稍后重试!"), "Server exception: " + e.getMessage());
} }
log.error("Server exception: ", e); log.error("Server exception: ", e);
HttpRequestUtil.httpGet("http://10.5.52.3:8765/api/universal/mail/app/unauth/send?toUser=jiaoruizhen@126.com&subject=服务器异常&content=" + e.getStackTrace().toString()); Map<String, String> map = new HashMap<>();
map.put("toUser", "jiaoruizhen@126.com");
map.put("subject", "服务器异常");
map.put("content", initCommonLogPrePart()+ ":" + e.toString() + ":" + e.getMessage());
try {
HttpUtils.doPost("http://10.5.52.3:8765","/api/universal/mail/app/unauth/send", map);
} catch (Exception ex) {
log.error(ex.getMessage());
}
return assembleResult(ObjectRestResponse.createFailedResult(5000, "服务器开小差了,请稍后重试!"), "Server exception: " + e.getMessage()); return assembleResult(ObjectRestResponse.createFailedResult(5000, "服务器开小差了,请稍后重试!"), "Server exception: " + e.getMessage());
} }
...@@ -52,4 +77,18 @@ public class PlatformExceptionHandler { ...@@ -52,4 +77,18 @@ public class PlatformExceptionHandler {
return assembleResult(error, e.getClass().getSimpleName() + ": " + e.getMessage()); return assembleResult(error, e.getClass().getSimpleName() + ": " + e.getMessage());
} }
public String initCommonLogPrePart() {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = servletRequestAttributes.getRequest();//获取request
StringBuilder stringBuilder = new StringBuilder();
//request 获得头部
stringBuilder.append(request.getHeader("app"));
LocalDateTime startTime= LocalDateTime.now();//开始时间
stringBuilder.append("》》" +startTime.toString());
stringBuilder.append("》》" +request.getServletPath());
stringBuilder.append("》》" +applicationName + ":" + request.getServletPath());
return stringBuilder.toString();
}
} }
package com.github.wxiaoqi.security.common.util;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.net.URLDecoder;
@Slf4j
public class HttpRequestUtil {
/**
* post请求
* @param url url地址
* @return
*/
public static String httpPost(String url){
//post请求返回结果
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost method = new HttpPost(url);
String str = "";
try {
HttpResponse result = httpClient.execute(method);
url = URLDecoder.decode(url, "UTF-8");
/**请求发送成功,并得到响应**/
if (result.getStatusLine().getStatusCode() == 200) {
try {
/**读取服务器返回过来的json字符串数据**/
str = EntityUtils.toString(result.getEntity(),"UTF-8");
} catch (Exception e) {
log.error("post请求提交失败:" + url, e);
}
}
} catch (IOException e) {
log.error("post请求提交失败:" + url, e);
}
return str;
}
/**
* 发送get请求
* @param url 路径
* @return
*/
public static String httpGet(String url){
//get请求返回结果
String strResult = null;
try {
DefaultHttpClient client = new DefaultHttpClient();
//发送get请求
HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request);
/**请求发送成功,并得到响应**/
if (response.getStatusLine().getStatusCode() == org.apache.http.HttpStatus.SC_OK) {
/**读取服务器返回过来的json字符串数据**/
strResult = EntityUtils.toString(response.getEntity(),"UTF-8");
} else {
log.error("get请求提交失败:" + url);
}
} catch (IOException e) {
log.error("get请求提交失败:" + url, e);
}
return strResult;
}
}
...@@ -41,4 +41,7 @@ public class BgOrderListVo { ...@@ -41,4 +41,7 @@ public class BgOrderListVo {
private Integer vehicleCode; private Integer vehicleCode;
private Integer userId; private Integer userId;
//员工身份
private String positionName;
} }
...@@ -251,7 +251,6 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -251,7 +251,6 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
} }
Vehicle vehicle = null; Vehicle vehicle = null;
RestResponse<Vehicle> vehicleRestResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId()); RestResponse<Vehicle> vehicleRestResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
log.info("获取车辆信息返回消息:{}", vehicleRestResponse.getMessage());
if (vehicleRestResponse.getData() != null) { if (vehicleRestResponse.getData() != null) {
vehicle = vehicleRestResponse.getData(); vehicle = vehicleRestResponse.getData();
} else { } else {
...@@ -289,13 +288,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -289,13 +288,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleDepartureVo.setCheckMan(checkUserInfoDto.getUsername()); vehicleDepartureVo.setCheckMan(checkUserInfoDto.getUsername());
vehicleDepartureVo.setCheckManTel(checkUserInfoDto.getTelephone()); vehicleDepartureVo.setCheckManTel(checkUserInfoDto.getTelephone());
} }
log.info("小程序订单出车: " + vehicleDepartureVo.toString());
try { try {
RestResponse restResponse = vehicleFeign.departureBySmall(vehicleDepartureVo); RestResponse restResponse = vehicleFeign.departureBySmall(vehicleDepartureVo);
if (restResponse.getStatus() != 200) { if (restResponse.getStatus() != 200) {
return ObjectRestResponse.createFailedResult(1001, restResponse.getMessage()); return ObjectRestResponse.createFailedResult(1001, restResponse.getMessage());
} }
log.error("返回信息: " + restResponse.toString()); log.info("小程序订单出车成功: " + restResponse.getCode() + restResponse.getMessage());
} catch (Exception e) { } catch (Exception e) {
return ObjectRestResponse.createFailedResult(1001, e.getMessage()); return ObjectRestResponse.createFailedResult(1001, e.getMessage());
} }
...@@ -309,12 +308,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -309,12 +308,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleArrivalVo.setRecycleManTel(checkUserInfoDto.getTelephone()); vehicleArrivalVo.setRecycleManTel(checkUserInfoDto.getTelephone());
} }
vehicleArrivalVo.setBookRecordId(orderRentVehicleDetail.getBookRecordId()); vehicleArrivalVo.setBookRecordId(orderRentVehicleDetail.getBookRecordId());
log.info("小程序订单还车: " + vehicleArrivalVo.toString());
try { try {
RestResponse restResponse = vehicleFeign.arrivalBySmall(vehicleArrivalVo); RestResponse restResponse = vehicleFeign.arrivalBySmall(vehicleArrivalVo);
if (restResponse.getStatus() != 200) { if (restResponse.getStatus() != 200) {
return ObjectRestResponse.createFailedResult(1001, restResponse.getMessage()); return ObjectRestResponse.createFailedResult(1001, restResponse.getMessage());
} }
log.error("返回信息: " + restResponse.toString()); log.info("小程序订单还车成功: " + restResponse.getCode() + restResponse.getMessage());
} catch (Exception e) { } catch (Exception e) {
return ObjectRestResponse.createFailedResult(500, e.getMessage()); return ObjectRestResponse.createFailedResult(500, e.getMessage());
} }
......
...@@ -241,84 +241,58 @@ ...@@ -241,84 +241,58 @@
</select> </select>
<select id="getAllOrderList" parameterType="Map" resultType="com.xxfc.platform.order.pojo.bg.BgOrderListVo"> <select id="getAllOrderList" parameterType="Map" resultType="com.xxfc.platform.order.pojo.bg.BgOrderListVo">
SELECT SELECT * from order_list_info
bc1.`name` AS startCompanyName,
bc2. NAME AS endCompanyName,
v1.number_plate AS numberPlate,
v1.code AS vehicleCode,
a1. NAME AS username,
a2.username AS telephone,
a2.id As userId,
b1.id AS orderId,
b1.`no` AS orderNo,
b1.`status` as status,
b1.`name` as vehicleName,
b1.crt_time as crtTime,
o1.start_time as startTime,
o1.end_time as endTime,
b1.real_amount as realAmount,
b1.pay_way as payWay,
o1.id as detailId,
b1.pay_time as payTime
FROM
base_order b1
LEFT JOIN order_rent_vehicle_detail o1 ON b1.detail_id = o1.id
LEFT JOIN vehicle.branch_company bc1 ON bc1.id = o1.start_company_id
LEFT JOIN vehicle.branch_company bc2 ON bc2.id = o1.end_company_id
LEFT JOIN vehicle.vehicle v1 ON v1.id = o1.vehicle_id
LEFT JOIN xxfc_third_platform.id_information a1 ON b1.user_id = a1.user_login_id
LEFT JOIN ag_admin_v1.app_user_login a2 ON a2.id = b1.user_id
<where> <where>
<if test="userIds != null and userIds.size() > 0"> <if test="userIds != null and userIds.size() > 0">
and b1.user_id in and userId in
<foreach collection="userIds" item="item" open="(" separator="," close=")"> <foreach collection="userIds" item="item" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="phone != null and phone != ''"> <if test="phone != null and phone != ''">
and a2.username like CONCAT ("%", #{phone}, "%") and telephone like CONCAT ("%", #{phone}, "%")
</if> </if>
<if test="realName != null and realName != ''"> <if test="realName != null and realName != ''">
and a1.name like CONCAT ("%", #{realName}, "%") and username like CONCAT ("%", #{realName}, "%")
</if> </if>
<if test="userId != null"> <if test="userId != null">
and b1.user_id = #{userId} and userId = #{userId}
</if> </if>
<if test="status != null"> <if test="status != null">
and b1.status = #{status} and status = #{status}
</if> </if>
<if test="type != null"> <if test="type != null">
and b1.type = #{type} and type = #{type}
</if> </if>
<if test="no != null and no != '' "> <if test="no != null and no != '' ">
and b1.no like CONCAT ("%", #{no}, "%") and orderNo like CONCAT ("%", #{no}, "%")
</if> </if>
<if test="plateNumber != null and plateNumber != '' "> <if test="plateNumber != null and plateNumber != '' ">
and v1.number_plate like CONCAT ("%", #{plateNumber}, "%") and numberPlate like CONCAT ("%", #{plateNumber}, "%")
</if> </if>
<if test="vehicleCode != null"> <if test="vehicleCode != null">
and v1.code = #{vehicleCode} and vehicleCode = #{vehicleCode}
</if> </if>
<if test="startTime != null"> <if test="startTime != null">
and o1.start_time between #{startTime} and #{endTime} and startTime between #{startTime} and #{endTime}
</if> </if>
<if test="companyIds != null and companyIds.size > 0"> <if test="companyIds != null and companyIds.size > 0">
and (o1.start_company_id in and (startCompanyId in
<foreach collection="companyIds" item="id" open="(" separator="," close=")"> <foreach collection="companyIds" item="id" open="(" separator="," close=")">
#{id} #{id}
</foreach> </foreach>
or or
o1.end_company_id in endCompanyId in
<foreach collection="companyIds" item="id" open="(" separator="," close=")"> <foreach collection="companyIds" item="id" open="(" separator="," close=")">
#{id} #{id}
</foreach> </foreach>
) )
</if> </if>
<if test="zoneId != null"> <if test="zoneId != null">
and (bc1.zone_id = #{zoneId} or bc2.zone_id = #{zoneId}) and (startZoneId = #{zoneId} or endZoneId = #{zoneId})
</if> </if>
</where> </where>
order by b1.crt_time desc order by crtTime desc
</select> </select>
......
...@@ -2,7 +2,7 @@ package com.xxfc.platform.universal.controller; ...@@ -2,7 +2,7 @@ package com.xxfc.platform.universal.controller;
import com.xxfc.platform.universal.biz.MailServiceBiz; import com.xxfc.platform.universal.biz.MailServiceBiz;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -13,7 +13,7 @@ public class EmailSendController { ...@@ -13,7 +13,7 @@ public class EmailSendController {
@Autowired @Autowired
MailServiceBiz mailServiceBiz; MailServiceBiz mailServiceBiz;
@GetMapping(value = "/app/unauth/send") @PostMapping(value = "/app/unauth/send")
public void senEmail(String toUser, String subject, String content) { public void senEmail(String toUser, String subject, String content) {
mailServiceBiz.run(toUser, subject, content); mailServiceBiz.run(toUser, subject, content);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment