Commit baa344a5 by huluobin

Merge branch 'master' into 3.9

# Conflicts:
#	src/main/resources/application-dev.yml
#	src/main/resources/application-prod.yml
#	src/main/resources/mapper/store/StoreClassesTechnicianMapper.xml
parents f9b830ba 4dcf484e
...@@ -55,6 +55,10 @@ public class StoreTechnician implements Serializable { ...@@ -55,6 +55,10 @@ public class StoreTechnician implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime; private Date createTime;
@ApiModelProperty("入职日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date entryTime;
@ApiModelProperty("手机号") @ApiModelProperty("手机号")
private String mobile; private String mobile;
......
package com.gogirl.infrastructure.common.filter;
import com.gogirl.infrastructure.common.wrapper.RequestBakRequestWrapper;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
/**
* 对request请求进行包装备份请求参数
*
* @author robbendev
*/
@Component
@ServletComponentScan
@WebFilter(urlPatterns = "/*", filterName = "requestBakFilter")
public class RequestBakFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest servletRequest = (HttpServletRequest) request;
RequestBakRequestWrapper requestWrapper = new RequestBakRequestWrapper(servletRequest);
chain.doFilter(requestWrapper, response);
}
@Override
public void destroy() {
}
}
package com.gogirl.infrastructure.common.wrapper;
import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream;
import java.io.ByteArrayInputStream;
/**
* Request 备份流
*
* @author robbendev
*/
public class RequestBakInputStream extends ServletInputStream {
private ByteArrayInputStream byteArrayInputStream = null;
public RequestBakInputStream(ByteArrayInputStream byteArrayInputStream) {
this.byteArrayInputStream = byteArrayInputStream;
}
@Override
public int read() {
if (this.byteArrayInputStream != null) {
return byteArrayInputStream.read();
}
return 0;
}
public boolean isFinished() {
return true;
}
public boolean isReady() {
return (this.byteArrayInputStream != null);
}
public void setReadListener(ReadListener readListener) {
}
}
package com.gogirl.infrastructure.common.wrapper;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import java.io.*;
import java.util.Map;
/**
* 备份request中的请求内容
*
* @author robbendev
*/
public class RequestBakRequestWrapper extends HttpServletRequestWrapper {
/**
* 备份的request请求信息
*/
private final ByteArrayOutputStream cachedContent = new ByteArrayOutputStream(1024);
private ServletInputStream inputStream;
private BufferedReader reader;
private Map<String, String[]> parameterMap;
/**
* 对request中的流进行备份
*
* @param request
* @throws IOException
*/
public RequestBakRequestWrapper(HttpServletRequest request) throws IOException {
super(request);
this.parameterMap = request.getParameterMap();
// 将request中的输入流读入字节数组输出流中
byte[] buffer = new byte[1024];
int len;
while ((len = request.getInputStream().read(buffer)) > -1) {
cachedContent.write(buffer, 0, len);
}
cachedContent.flush();
// 设置输入流为备份流
this.inputStream = new RequestBakInputStream(new ByteArrayInputStream(cachedContent.toByteArray()));
}
@Override
public ServletInputStream getInputStream() throws IOException {
return this.inputStream;
}
@Override
public String getCharacterEncoding() {
String characterEncoding = super.getCharacterEncoding();
return (characterEncoding != null ? characterEncoding : "ISO-8859-1");
}
@Override
public BufferedReader getReader() throws IOException {
if (this.reader == null) {
this.reader = new BufferedReader(new InputStreamReader(this.inputStream, getCharacterEncoding()));
}
return this.reader;
}
/**
* 返回流中的byte字节数组信息
*
* @return byte
*/
public byte[] getContentAsByteArray() {
return this.cachedContent.toByteArray();
}
@Override
public String getParameter(String name) {
if (this.parameterMap != null) {
String[] params = this.parameterMap.get(name);
if (params != null && params.length > 0) {
return params[0];
}
}
return null;
}
@Override
public Map<String, String[]> getParameterMap() {
return parameterMap;
}
}
...@@ -463,10 +463,10 @@ public class Schedule { ...@@ -463,10 +463,10 @@ public class Schedule {
career.setTechnicianId(storeTechnician.getId()); career.setTechnicianId(storeTechnician.getId());
} }
career.setJoinDate(storeTechnician.getCreateTime()); career.setJoinDate(storeTechnician.getEntryTime());
if (storeTechnician.getCreateTime() != null) { if (storeTechnician.getEntryTime() != null) {
long pastMills = System.currentTimeMillis() - storeTechnician.getCreateTime().getTime(); long pastMills = System.currentTimeMillis() - storeTechnician.getEntryTime().getTime();
int day = (int) (pastMills / 1000 / 60 / 60 / 24); int day = (int) (pastMills / 1000 / 60 / 60 / 24);
career.setOnJobTime(day); career.setOnJobTime(day);
} }
......
...@@ -59,7 +59,6 @@ public class CareerController { ...@@ -59,7 +59,6 @@ public class CareerController {
@GetMapping("/technician/career/storeData") @GetMapping("/technician/career/storeData")
public JsonResult<StoreData> storeData(@RequestParam String month) { public JsonResult<StoreData> storeData(@RequestParam String month) {
StoreData storeData = storeDataService.storeData(month); StoreData storeData = storeDataService.storeData(month);
return JsonResult.success(storeData); return JsonResult.success(storeData);
} }
......
...@@ -36,14 +36,26 @@ spring: ...@@ -36,14 +36,26 @@ spring:
# 数据配置 # 数据配置
datasource: datasource:
# url: jdbc:mysql://10.0.0.9:3306/bailun_gogirl?useUnicode=true&characterEncoding=utf-8&useSSL=false&&zeroDateTimeBehavior=convertToNull # url: jdbc:mysql://10.0.0.9:3306/bailun_gogirl?useUnicode=true&characterEncoding=utf-8&useSSL=false&&zeroDateTimeBehavior=convertToNull
# url: jdbc:mysql://gz-cdb-c0sq6eax.sql.tencentcdb.com:60779/bailun_gogirl?useUnicode=true&characterEncoding=utf-8&useSSL=false&zeroDateTimeBehavior=convertToNull url: jdbc:mysql://gz-cdb-c0sq6eax.sql.tencentcdb.com:60779/gogirl_pre?useUnicode=true&characterEncoding=utf-8&useSSL=false&zeroDateTimeBehavior=convertToNull
url: jdbc:mysql://localhost:3306/gogirl_dev?useUnicode=true&characterEncoding=utf-8&useSSL=false&zeroDateTimeBehavior=convertToNull
username: root username: root
password: "123456" password: "#7kfnymAM$Y9-Ntf"
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
hikari: hikari:
connection-init-sql: "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci" connection-init-sql: "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci"
#redis配置
redis:
host: 127.0.0.1
port: 6379
database: 0
lettuce:
pool:
max-active: 1000
max-wait: -1ms
max-idle: 200
min-idle: 0
timeout: 60000ms
mail: mail:
host: smtp.qq.com host: smtp.qq.com
username: robbendev@qq.com username: robbendev@qq.com
...@@ -57,36 +69,25 @@ spring: ...@@ -57,36 +69,25 @@ spring:
required: true required: true
port: 465 port: 465
#redis配置
redis:
host: 127.0.0.1
port: 6379
database: 0
lettuce:
pool:
max-active: 1000
max-wait: -1ms
max-idle: 200
min-idle: 0
timeout: 60000ms
#项目属性 #项目属性
gogirl: gogirl:
#充值回调地址 #充值回调地址
notify-charge: "http://www.begogirls.com/customer/pay/notifyCharge" notify-charge: "http://t.begogirls.com/customer/pay/notifyCharge"
#次卡购买回调地址 #次卡购买回调地址
notify-timescard: "http://www.begogirls.com/customer/pay/notifyTimesCard" notify-timescard: "http://t.begogirls.com/customer/pay/notifyTimesCard"
#预约订单支付回调地址 #预约订单支付回调地址
notify-order: "http://www.begogirls.com/customer/pay/notifyOrder" notify-order: "http://t.begogirls.com/customer/pay/notifyOrder"
#商城订单支付回调 #商城订单支付回调
notify-mall-order: "http://www.begogirls.com/customer/mallOrderPay/notifyMallOrder" notify-mall-order: "http://t.begogirls.com/customer/mallOrderPay/notifyMallOrder"
#商城退款订单回调 #商城退款订单回调
notify-refund-mall-order: "http://www.begogirls.com/customer/mallOrderPay/notifyRefundMallOrder" notify-refund-mall-order: "http://t.begogirls.com/customer/mallOrderPay/notifyRefundMallOrder"
#微信余额支付回调接口 #微信余额支付回调接口
notify-balance-wx-pay: "http://www.begogirls.com/customer/pay/notifyBalanceWxPay" notify-balance-wx-pay: "http://t.begogirls.com/customer/pay/notifyBalanceWxPay"
#服务器图片临时地址 #服务器图片临时地址
picture-path: /upload/grouppic/ picture-path: /Users/huluobin/upload/grouppic/
#门店下班时间 #门店下班时间
end-time: "22:00:00" end-time: "22:00:00"
...@@ -95,23 +96,17 @@ gogirl: ...@@ -95,23 +96,17 @@ gogirl:
#评论延迟时间 #评论延迟时间
test-paper-time: 1440 test-paper-time: 1440
#后台后端接口访问地址 #后台后端接口访问地址
admin-backend-url: http://admin.begogirls.com:7712/api/ReportTable/GetTechnicianPage admin-backend-url: http://test.admin.begogirls.com:7712/api/ReportTable/GetTechnicianPage、
#后台接口地址 #
admin-backend-achievements-url: http://admin.begogirls.com:7712/api/salary/AchievementsPersonaResultPageApi admin-backend-achievements-url: http://test.admin.begogirls.com:7712/api/salary/AchievementsPersonaResultPageApi
#企业微信预约消息推送 #
enterprise-wechat-webhook: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=739e065a-2352-4cfb-bbf3-ffe1dc8b0818" enterprise-wechat-webhook: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=e687de79-143e-4c28-8db4-e6058722f286"
wx: wx:
pay: pay:
# 支付appid
appId: wx058b46db3cd0e979 appId: wx058b46db3cd0e979
#商户id
mchId: 1515628551 mchId: 1515628551
#商户Key
mchKey: gogirl2018gogirl2018gogirl2018go mchKey: gogirl2018gogirl2018gogirl2018go
#证书 这个是企业转账需要的 现在还没配置
keyPath: "/usr/local/src/gogirl/gogirl-payment/apiclient_cert.p12" keyPath: "/usr/local/src/gogirl/gogirl-payment/apiclient_cert.p12"
server: server:
port: 5555 port: 7777
...@@ -42,8 +42,6 @@ spring: ...@@ -42,8 +42,6 @@ spring:
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
hikari: hikari:
connection-init-sql: "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci" connection-init-sql: "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci"
mail: mail:
host: smtp.qq.com host: smtp.qq.com
username: robbendev@qq.com username: robbendev@qq.com
......
...@@ -55,11 +55,7 @@ ...@@ -55,11 +55,7 @@
</sql> </sql>
<sql id="storeClassesTechnicianSql"> <sql id="storeClassesTechnicianSql">
ct.id, ct.id, ct.user_id, ct.days, ct.classes, ct.`status`
ct.user_id,
ct.days,
ct.classes,
ct.`status`
</sql> </sql>
<sql id="storeClassesSql"> <sql id="storeClassesSql">
...@@ -90,19 +86,9 @@ ...@@ -90,19 +86,9 @@
</sql> </sql>
<sql id="scheduleServeSql"> <sql id="scheduleServeSql">
ss.id ss_id, ss.id ss_id,ss.sch_id ss_sch_id,ss.technician_id ss_technician_id,ss.serve_id ss_serve_id,ss.main_serve_id ss_main_serve_id,ss.is_customer_pick ss_is_customer_pick
ss.sch_id ss_sch_id, ,ss.start_time ss_start_time,ss.end_time ss_end_time,ss.produce_name ss_produce_name,ss.serve_number ss_serve_number,ss.serve_number ss_serve_number
ss.technician_id ss_technician_id, ,ss.create_user ss_create_user,ss.produce_id ss_produce_id
ss.serve_id ss_serve_id,
ss.main_serve_id ss_main_serve_id,
ss.is_customer_pick ss_is_customer_pick,
ss.start_time ss_start_time,
ss.end_time ss_end_time,
ss.produce_name ss_produce_name,
ss.serve_number ss_serve_number,
ss.serve_number ss_serve_number,
ss.create_user ss_create_user,
ss.produce_id ss_produce_id
</sql> </sql>
<select id="listClassesTechnicianDetail" resultMap="classesTechnicianMap"> <select id="listClassesTechnicianDetail" resultMap="classesTechnicianMap">
...@@ -131,67 +117,34 @@ ...@@ -131,67 +117,34 @@
date_format(days, '%Y-%m-%d') = #{days} date_format(days, '%Y-%m-%d') = #{days}
</select> </select>
<!-- <select id="listClassesTechnician" resultMap="classesTechnicianMap">-->
<!-- SELECT-->
<!-- <include refid="storeClassesTechnicianSql"/>,-->
<!-- <include refid="storeClassesSql"/>,-->
<!-- <include refid="storeTechnicianSql"/>,-->
<!-- <include refid="scheduleServeSql"/>-->
<!-- FROM store_classes_technician ct-->
<!-- LEFT JOIN store_classes cls ON cls.id = ct.classes-->
<!-- LEFT JOIN store_technician tech ON tech.id = ct.user_id-->
<!-- LEFT JOIN (-->
<!-- SELECT t4.*-->
<!-- FROM scheduled_serve t4-->
<!-- inner JOIN scheduled_manage t5 ON t4.sch_id = t5.id-->
<!-- AND t5.STATUS != 3-->
<!-- AND t5.STATUS != 4-->
<!-- AND t5.STATUS != 5-->
<!-- AND t5.STATUS != 2-->
<!-- and t4.status !=3-->
<!-- WHERE t4.start_time LIKE concat(#{days},'%')-->
<!-- <if test="scheduleId != null">-->
<!-- and t5.id != #{scheduleId}-->
<!-- </if>) ss ON ct.user_id = ss.technician_id-->
<!-- left join recent_deducted_complaint_score t6 on t6.technician_id = tech.id-->
<!-- WHERE ct.days = #{days}-->
<!-- AND tech.user_id IN (SELECT user_id FROM staff_store_authority WHERE store_id = #{departmentId})-->
<!-- AND cls.department_id = #{departmentId}-->
<!-- and tech.`status`=1-->
<!-- </select>-->
<select id="listClassesTechnician" resultMap="classesTechnicianMap"> <select id="listClassesTechnician" resultMap="classesTechnicianMap">
select SELECT
<include refid="storeClassesTechnicianSql"/>, <include refid="storeClassesTechnicianSql"/>,
<include refid="storeClassesSql"/>, <include refid="storeClassesSql"/>,
<include refid="storeTechnicianSql"/>, <include refid="storeTechnicianSql"/>,
<include refid="scheduleServeSql"/> <include refid="scheduleServeSql"/>
from store_classes_technician ct FROM store_classes_technician ct
left join store_classes cls on cls.id = ct.classes LEFT JOIN store_classes cls ON cls.id = ct.classes
left join store_technician tech on tech.id = ct.user_id LEFT JOIN store_technician tech ON tech.id = ct.user_id
left join ( LEFT JOIN (
select t4.* SELECT t4.*
from scheduled_serve t4 FROM scheduled_serve t4
inner join scheduled_manage t5 on t4.sch_id = t5.id inner JOIN scheduled_manage t5 ON t4.sch_id = t5.id
and t5.`status` != 3 AND t5.STATUS != 3
and t5.`status` != 4 AND t5.STATUS != 4
and t5.`status` != 5 AND t5.STATUS != 5
and t5.`status` != 2 AND t5.STATUS != 2
and t4.`status` != 3 and t4.status !=3
where t4.start_time like concat(#{days},'%') WHERE t4.start_time LIKE concat(#{days},'%')
<if test="scheduleId != null"> <if test="scheduleId != null">
and t5.id != #{scheduleId} and t5.id != #{scheduleId}
</if> </if>) ss ON ct.user_id = ss.technician_id
) ss on ct.user_id = ss.technician_id WHERE ct.days = #{days}
left join recent_deducted_complaint_score t6 on t6.technician_id = tech.id AND tech.user_id IN (SELECT user_id FROM staff_store_authority WHERE store_id = #{departmentId})
where ct.days = #{days} AND cls.department_id = #{departmentId}
and tech.user_id in (select user_id from staff_store_authority where store_id = #{departmentId}) and tech.`status`=1
and cls.department_id = #{departmentId}
and tech.`status` = 1
order by t6.score
</select> </select>
<select id="listClassTimeByStartDate" resultMap="classesTechnicianMap"> <select id="listClassTimeByStartDate" resultMap="classesTechnicianMap">
select select
<include refid="storeClassesTechnicianSql"/>, <include refid="storeClassesTechnicianSql"/>,
...@@ -228,7 +181,6 @@ ...@@ -228,7 +181,6 @@
FROM store_classes_technician t1 FROM store_classes_technician t1
LEFT JOIN store_classes t2 ON t1.classes = t2.id LEFT JOIN store_classes t2 ON t1.classes = t2.id
WHERE (t1.days = #{day} AND t2.department_id = #{departmentId}) WHERE (t1.days = #{day} AND t2.department_id = #{departmentId})
</select> </select>
<update id="updateClassesTechnician" parameterType="com.gogirl.domain.store.store.StoreClassesTechnician"> <update id="updateClassesTechnician" parameterType="com.gogirl.domain.store.store.StoreClassesTechnician">
......
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