Commit 58179d87 authored by hanfeng's avatar hanfeng

修改订单统计

parents 85a95ae2 64676cda
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
......
...@@ -33,6 +33,11 @@ ...@@ -33,6 +33,11 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId> <artifactId>spring-boot-starter-aop</artifactId>
......
...@@ -86,7 +86,7 @@ public class CommonLogServiceImpl implements CommonLogService { ...@@ -86,7 +86,7 @@ public class CommonLogServiceImpl implements CommonLogService {
} }
@Override @Override
public void run() { public void run() {
// mongoTemplate.insert(xxLogEntity, xxLogEntity.getMongoKey()); mongoTemplate.insert(xxLogEntity, xxLogEntity.getMongoKey());
} }
} }
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
......
...@@ -12,7 +12,6 @@ import org.apache.commons.collections.CollectionUtils; ...@@ -12,7 +12,6 @@ import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.time.Instant; import java.time.Instant;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
...@@ -32,6 +31,8 @@ import java.util.stream.Collectors; ...@@ -32,6 +31,8 @@ import java.util.stream.Collectors;
public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail> { public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail> {
@Override @Override
@CacheClear(pre = "user{1.userid}") @CacheClear(pre = "user{1.userid}")
public void updateSelectiveById(AppUserDetail entity) { public void updateSelectiveById(AppUserDetail entity) {
...@@ -96,12 +97,16 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail ...@@ -96,12 +97,16 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
entity.setUpdatetime(Instant.now().toEpochMilli() / 1000L); entity.setUpdatetime(Instant.now().toEpochMilli() / 1000L);
super.updateSelectiveById(entity); super.updateSelectiveById(entity);
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
//更新用户信息
public Map<Integer, AppUserDetail> findUserIdAndUserDetailMapByMemberIds(List<Integer> memberIds) { public Map<Integer, AppUserDetail> findUserIdAndUserDetailMapByMemberIds(List<Integer> memberIds) {
......
...@@ -48,6 +48,11 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> { ...@@ -48,6 +48,11 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
super.updateSelectiveById(entity); super.updateSelectiveById(entity);
} }
@CacheClear(pre = "user{1.username}")
public int bindOpenid(AppUserLogin entity) {
return mapper.bindOpenId(entity);
}
@CacheClear(pre = "user{1.username}") @CacheClear(pre = "user{1.username}")
public void updatePasswordById(AppUserLogin entity) { public void updatePasswordById(AppUserLogin entity) {
String password = new BCryptPasswordEncoder(UserConstant.PW_ENCORDER_SALT).encode(entity.getPassword()); String password = new BCryptPasswordEncoder(UserConstant.PW_ENCORDER_SALT).encode(entity.getPassword());
......
...@@ -146,14 +146,14 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem ...@@ -146,14 +146,14 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem
if (freeDays > 0 && freeDays >= days) { if (freeDays > 0 && freeDays >= days) {
freeDays = freeDays - days; freeDays = freeDays - days;
baseUserMember.setRentFreeDays(freeDays); baseUserMember.setRentFreeDays(freeDays);
}
Integer payCount = userMemberVo.getPayCount() == null ? 0 : userMemberVo.getPayCount(); Integer payCount = userMemberVo.getPayCount() == null ? 0 : userMemberVo.getPayCount();
if (days > 0) { /* if (days > 0) {
payCount = payCount + 1; payCount = payCount + 1;
} }*/
baseUserMember.setPayCount(payCount); baseUserMember.setPayCount(payCount);
getMyBiz().updateSelectiveById(baseUserMember); getMyBiz().updateSelectiveById(baseUserMember);
num = freeDays; num = freeDays;
}
} else if (type == 2) { } else if (type == 2) {
/*Integer payCount=userMemberVo.getPayCount()==null?0:userMemberVo.getPayCount(); /*Integer payCount=userMemberVo.getPayCount()==null?0:userMemberVo.getPayCount();
payCount=payCount+1; payCount=payCount+1;
......
...@@ -62,6 +62,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -62,6 +62,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
userMemberDTO.setRentFreeDays(userMemberSaveDTO.getRentFreeDays()); userMemberDTO.setRentFreeDays(userMemberSaveDTO.getRentFreeDays());
userMemberDTO.setMemberName(userMemberSaveDTO.getMemberName()); userMemberDTO.setMemberName(userMemberSaveDTO.getMemberName());
userMemberDTO.setIsBind(1); userMemberDTO.setIsBind(1);
userMemberDTO.setBuyCount(0);
try { try {
baseUserMemberBiz.updUserMemberByUserId(userMemberDTO); baseUserMemberBiz.updUserMemberByUserId(userMemberDTO);
} catch (Exception e) { } catch (Exception e) {
...@@ -126,6 +127,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -126,6 +127,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
userMemberDTO.setRentFreeDays(Integer.valueOf(rentFreeDays)); userMemberDTO.setRentFreeDays(Integer.valueOf(rentFreeDays));
userMemberDTO.setIsBind(1); userMemberDTO.setIsBind(1);
userMemberDTO.setMemberName(memberName); userMemberDTO.setMemberName(memberName);
userMemberDTO.setBuyCount(0);
try { try {
baseUserMemberBiz.updUserMemberByUserId(userMemberDTO); baseUserMemberBiz.updUserMemberByUserId(userMemberDTO);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -22,4 +22,6 @@ public interface AppUserLoginMapper extends Mapper<AppUserLogin>, SelectByIdList ...@@ -22,4 +22,6 @@ public interface AppUserLoginMapper extends Mapper<AppUserLogin>, SelectByIdList
void updateLoginUserInfoById(@Param("userId") Integer userId,@Param("ip") String ip, @Param("lastTime") long lastTime); void updateLoginUserInfoById(@Param("userId") Integer userId,@Param("ip") String ip, @Param("lastTime") long lastTime);
List<AppUserLogin> selectbyPhones(@Param("phones") List<String> phones); List<AppUserLogin> selectbyPhones(@Param("phones") List<String> phones);
int bindOpenId(AppUserLogin appUserLogin);
} }
\ No newline at end of file
...@@ -174,6 +174,16 @@ public class AppUserController extends CommonBaseController { ...@@ -174,6 +174,16 @@ public class AppUserController extends CommonBaseController {
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE, "参数为空"); return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE, "参数为空");
} }
userDetailBiz.updUuserInfoById(userVo); userDetailBiz.updUuserInfoById(userVo);
Integer userid=userVo.getUserid();
if (userid!=null){
AppUserLogin appUserLogin=new AppUserLogin();
appUserLogin.setWxOpenid(userVo.getWxOpenid());
appUserLogin.setUnionid(userVo.getUnionid());
appUserLogin.setOpenid(userVo.getOpenid());
appUserLogin.setId(userid);
appUserLogin.setUsername(userVo.getUsername());
appUserLoginBiz.bindOpenid(appUserLogin);
}
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
......
...@@ -17,6 +17,7 @@ import io.swagger.annotations.ApiOperation; ...@@ -17,6 +17,7 @@ import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
...@@ -71,15 +72,17 @@ public class UserMemberAdminController { ...@@ -71,15 +72,17 @@ public class UserMemberAdminController {
@ApiOperation("会员excel模板下载") @ApiOperation("会员excel模板下载")
@GetMapping("/app/unauth/user/excel_model/dowload") @GetMapping(value = "/app/unauth/user/excel_model/dowload",produces = "application/vnd.ms-excel")
public ResponseEntity<byte[]> dowloadUserMemberExcelModel(HttpServletResponse response){ public ResponseEntity<byte[]> dowloadUserMemberExcelModel(HttpServletResponse response){
// 重置response // 重置response
response.reset(); response.reset();
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data"); // response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition", "attachment;filename=usermember.xlsx"); response.addHeader("Content-Disposition", "attachment;filename=usermember.xlsx");
InputStream inputStream = AdminBootstrap.class.getClassLoader().getResourceAsStream("file/usermember.xlsx"); InputStream inputStream = AdminBootstrap.class.getClassLoader().getResourceAsStream("file/usermember.xlsx");
try { try {
response.setContentLength(inputStream.available());
byte[] bytes = IOUtils.toByteArray(inputStream); byte[] bytes = IOUtils.toByteArray(inputStream);
return ResponseEntity.ok(bytes); return ResponseEntity.ok(bytes);
} catch (IOException e) { } catch (IOException e) {
......
...@@ -750,7 +750,7 @@ public class AppPermissionService { ...@@ -750,7 +750,7 @@ public class AppPermissionService {
} }
//实名认证 //实名认证
@Transactional
public ObjectRestResponse upAuthentication(Integer userid, String name, String idNumber, Integer status) { public ObjectRestResponse upAuthentication(Integer userid, String name, String idNumber, Integer status) {
log.error("userid====" + userid + "-----name====" + name + "----idNumber===" + idNumber + "---status===" + status); log.error("userid====" + userid + "-----name====" + name + "----idNumber===" + idNumber + "---status===" + status);
if (userid == null || userid == 0 || (status == 1 && StringUtils.isBlank(idNumber) && StringUtils.isBlank(name))) { if (userid == null || userid == 0 || (status == 1 && StringUtils.isBlank(idNumber) && StringUtils.isBlank(name))) {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
......
...@@ -8,4 +8,8 @@ ...@@ -8,4 +8,8 @@
#{phone} #{phone}
</foreach> </foreach>
</select> </select>
<update id="bindOpenId" parameterType="com.github.wxiaoqi.security.admin.entity.AppUserLogin">
UPDATE app_user_login SET wx_openid=#{wxOpenid},unionid=#{unionid},openid=#{openid} where id=#{id}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
......
...@@ -6,6 +6,7 @@ import java.util.Map; ...@@ -6,6 +6,7 @@ import java.util.Map;
public enum CrosstownTypeEnum { public enum CrosstownTypeEnum {
DEPARTURE(1, "交车"), DEPARTURE(1, "交车"),
ARRIVE(2, "还车"), ARRIVE(2, "还车"),
FIXED_LOSS(3, "定损"),
; ;
/** /**
* 编码 * 编码
......
...@@ -11,6 +11,7 @@ public enum OrderStatusEnum { ...@@ -11,6 +11,7 @@ public enum OrderStatusEnum {
ORDER_TOSTART(4, "待进行(待出行/租车已支付)"), ORDER_TOSTART(4, "待进行(待出行/租车已支付)"),
ORDER_WAIT(5, "出行中(进行中)"), ORDER_WAIT(5, "出行中(进行中)"),
ORDER_FINISH(6, "已完成"), ORDER_FINISH(6, "已完成"),
ORDER_FIXED_LOSS(-1, "定损"),
; ;
/** /**
* 编码 * 编码
......
...@@ -242,4 +242,11 @@ public class BaseOrder implements Serializable { ...@@ -242,4 +242,11 @@ public class BaseOrder implements Serializable {
@ApiModelProperty(value = "使用的优惠券票号,逗号分割") @ApiModelProperty(value = "使用的优惠券票号,逗号分割")
@Column(name = "coupon_ticker_nos") @Column(name = "coupon_ticker_nos")
private String couponTickerNos; private String couponTickerNos;
/**
* 下单时的会员等级
*/
@ApiModelProperty(value = "下单时的会员等级")
@Column(name = "member_level")
private Integer memberLevel;
} }
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.common.util.IntervalUtil; import com.github.wxiaoqi.security.common.util.IntervalUtil;
...@@ -196,10 +197,9 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -196,10 +197,9 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
String refundTradeNo = null; String refundTradeNo = null;
//0 小于 退款金额 //0 小于 退款金额
if(BigDecimal.ZERO.compareTo(refundAmount) < 0) { if(BigDecimal.ZERO.compareTo(refundAmount) < 0) {
OrderRefundVo orv = new OrderRefundVo(){{ OrderRefundVo orv = new OrderRefundVo();
setAmount(baseOrder.getRealAmount().multiply(new BigDecimal("100")).intValue()); orv.setAmount(baseOrder.getRealAmount().multiply(new BigDecimal("100")).intValue());
setOrderNo(baseOrder.getNo()); orv.setOrderNo(baseOrder.getNo());
}};
orv.setRefundDesc(refundDesc+ refundAmount.toString()); orv.setRefundDesc(refundDesc+ refundAmount.toString());
orv.setRefundAmount(refundAmount.multiply(new BigDecimal("100")).intValue()); orv.setRefundAmount(refundAmount.multiply(new BigDecimal("100")).intValue());
refundTradeNo = thirdFeign.refund(orv).getData(); refundTradeNo = thirdFeign.refund(orv).getData();
...@@ -209,13 +209,13 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -209,13 +209,13 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
Integer flag = addOrderRefund(baseOrder.getId(), refundDesc, originalRefundAmount, refundAmount, refundTradeNo, refundType); Integer flag = addOrderRefund(baseOrder.getId(), refundDesc, originalRefundAmount, refundAmount, refundTradeNo, refundType);
//更新订单的退款状态和退款时间 //更新订单的退款状态和退款时间
BaseOrder updateBaseOrder = new BaseOrder();
updateBaseOrder.setId(baseOrder.getId());
updateBaseOrder.setRefundStatus(refundStatus);
updateBaseOrder.setRefundTime(System.currentTimeMillis());
updateBaseOrder.setVersion(baseOrder.getVersion());
if(SYS_TRUE.equals(flag) && null != refundStatus) { if(SYS_TRUE.equals(flag) && null != refundStatus) {
baseOrderBiz.updateSelectiveByIdReT(new BaseOrder(){{ BeanUtil.copyProperties(baseOrderBiz.updateSelectiveByIdReT(updateBaseOrder), baseOrder);
setId(baseOrder.getId());
setRefundStatus(refundStatus);
setRefundTime(System.currentTimeMillis());
setVersion(baseOrder.getVersion());
}});
} }
} }
......
...@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz; ...@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.user.UserInfoBiz; import com.xxfc.platform.activity.user.UserInfoBiz;
import com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum; import com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderUserLicense; import com.xxfc.platform.order.entity.OrderUserLicense;
...@@ -91,6 +92,7 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -91,6 +92,7 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return ObjectRestResponse.createFailedResult(500,"订单不存在!"); return ObjectRestResponse.createFailedResult(500,"订单不存在!");
} }
OrderRentVehicleDetail orderRentVehicleDetail = orderRentVehicleBiz.selectById(baseOrder.getDetailId()); OrderRentVehicleDetail orderRentVehicleDetail = orderRentVehicleBiz.selectById(baseOrder.getDetailId());
//调用车辆管理的出车还车
//出车 //出车
if(orderVehicleCrosstownDto.getType() == CrosstownTypeEnum.DEPARTURE.getCode()) { //交车 if(orderVehicleCrosstownDto.getType() == CrosstownTypeEnum.DEPARTURE.getCode()) { //交车
VehicleDepartureVo vehicleDepartureVo = new VehicleDepartureVo(); VehicleDepartureVo vehicleDepartureVo = new VehicleDepartureVo();
...@@ -121,7 +123,7 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -121,7 +123,7 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
} else if(oldValue .size() <= 0) { } else if(oldValue .size() <= 0) {
getOrderLicense(orderVehicleCrosstownDto); getOrderLicense(orderVehicleCrosstownDto);
orderVehicalCrosstownBiz.insertSelective(orderVehicleCrosstownDto); orderVehicalCrosstownBiz.insertSelective(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail); handleOrderStatus(baseOrder, orderRentVehicleDetail, orderVehicleCrosstownDto.getType());
RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId()); RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
if(restResponse.getData() != null) { if(restResponse.getData() != null) {
orderVehicleCrosstownDto.setVehicleNumberPlat(restResponse.getData().getNumberPlate()); orderVehicleCrosstownDto.setVehicleNumberPlat(restResponse.getData().getNumberPlate());
...@@ -131,14 +133,23 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -131,14 +133,23 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
} }
private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail) { private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail, Integer type) {
//交车完成 设置订单状态为出行中 //交车完成 设置订单状态为出行中
if (baseOrder.getStatus() == 4) { if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车
//判断是否是今日交车 //判断是否是今日交车
baseOrder.setStatus(5); baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveById(baseOrder);
} else if (baseOrder.getStatus() == 5) { } else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车
baseOrder.setStatus(6); if(type == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
} else if(type == CrosstownTypeEnum.FIXED_LOSS.getCode()){ //定损还车
baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode());
baseOrderBiz.updateSelectiveById(baseOrder);
}
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_FIXED_LOSS.getCode()) {//定损后还车
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveById(baseOrder);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH); baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
} }
......
...@@ -28,7 +28,7 @@ public class RefundMQHandler { ...@@ -28,7 +28,7 @@ public class RefundMQHandler {
OrderRefundBiz orderRefundBiz; OrderRefundBiz orderRefundBiz;
/** /**
* 佣金 * 退款
* @param * @param
*/ */
@RabbitListener(queues = ORDER_DEPOSIT_REFUND_QUEUE) @RabbitListener(queues = ORDER_DEPOSIT_REFUND_QUEUE)
......
...@@ -35,6 +35,7 @@ import com.xxfc.platform.universal.entity.Dictionary; ...@@ -35,6 +35,7 @@ import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.ThirdFeign; import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.universal.vo.OrderPayVo; import com.xxfc.platform.universal.vo.OrderPayVo;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.CompanyDetail; import com.xxfc.platform.vehicle.pojo.CompanyDetail;
...@@ -54,12 +55,9 @@ import org.springframework.web.context.request.ServletRequestAttributes; ...@@ -54,12 +55,9 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_FALSE;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER; import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
@Controller @Controller
...@@ -96,6 +94,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -96,6 +94,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@Autowired @Autowired
RabbitProduct rabbitProduct; RabbitProduct rabbitProduct;
@Override @Override
public UserFeign getUserFeign() { public UserFeign getUserFeign() {
return userFeign; return userFeign;
...@@ -121,8 +120,8 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -121,8 +120,8 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@IgnoreUserToken @IgnoreUserToken
public ObjectRestResponse<OrderAboutParamDTO> getOrderUnitPrice() { public ObjectRestResponse<OrderAboutParamDTO> getOrderUnitPrice() {
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
return ObjectRestResponse.succ(new OrderAboutParamDTO(){{ return ObjectRestResponse.succ(new OrderAboutParamDTO() {{
setInsurePrice(new BigDecimal(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.INSURE_PRICE).getDetail())); setInsurePrice(new BigDecimal(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.INSURE_PRICE).getDetail()));
}}); }});
} }
...@@ -133,13 +132,13 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -133,13 +132,13 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@IgnoreUserToken @IgnoreUserToken
public ObjectRestResponse<OrderAboutParamDTO> getOrderParam() { public ObjectRestResponse<OrderAboutParamDTO> getOrderParam() {
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
return ObjectRestResponse.succ(new OrderAboutParamDTO(){{ return ObjectRestResponse.succ(new OrderAboutParamDTO() {{
setInsurePrice(new BigDecimal(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.INSURE_PRICE).getDetail())); setInsurePrice(new BigDecimal(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.INSURE_PRICE).getDetail()));
setActRent(new Long(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.ACT_RENT).getDetail())); setActRent(new Long(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.ACT_RENT).getDetail()));
setActTour(new Long(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.ACT_TOUR).getDetail())); setActTour(new Long(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.ACT_TOUR).getDetail()));
setActMember(new Long(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.ACT_MEMBER).getDetail())); setActMember(new Long(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.ACT_MEMBER).getDetail()));
setDamageSafe(new BigDecimal(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.DAMAGE_SAFE).getDetail())); setDamageSafe(new BigDecimal(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.DAMAGE_SAFE).getDetail()));
setDriverPrice(new BigDecimal(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.DRIVER_PRICE).getDetail())); setDriverPrice(new BigDecimal(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.DRIVER_PRICE).getDetail()));
}}); }});
} }
...@@ -171,69 +170,45 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -171,69 +170,45 @@ public class BaseOrderController extends CommonBaseController implements UserRes
dto.setEndTime(new Date().getTime()); dto.setEndTime(new Date().getTime());
} }
} }
if(StringUtils.isNotBlank(dto.getPhone())) { if (StringUtils.isNotBlank(dto.getPhone())) {
AppUserLogin appUserLogin = userFeign.one(dto.getPhone()); AppUserLogin appUserLogin = userFeign.one(dto.getPhone());
if(appUserLogin != null) { if (appUserLogin != null) {
dto.setUserId(appUserLogin.getId()); dto.setUserId(appUserLogin.getId());
} }
} }
UserDTO userDTO = getAdminUserInfo(); UserDTO userDTO = getAdminUserInfo();
if(userDTO == null) { if (userDTO == null) {
return ObjectRestResponse.succ(new PageDataVO<>()); return ObjectRestResponse.succ(new PageDataVO<>());
} }
if(dto.getStartZoneId() == null) { //默认查出所有权限内的数据 List<BranchCompany> branchCompanies = vehicleFeign.companyAll(userDTO.getDataAll(), userDTO.getDataCompany(), userDTO.getDataZone());
if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据 List<Integer> companyIds = branchCompanies.stream().map(BranchCompany::getId).collect(Collectors.toList());
String zoneId = null; dto.setCompanyIds(companyIds);
if(StringUtils.isNotBlank(userDTO.getDataZone())) {
if(userDTO.getDataZone().contains(",")) {
zoneId = userDTO.getDataZone();
} else {
zoneId = userDTO.getDataZone() + ",";
}
} else {
zoneId = userDTO.getZoneId() + ",";
}
dto.setZoneIds(zoneId.split(","));
String companyId = null;
if(StringUtils.isNotBlank(userDTO.getDataCompany())) {
if(userDTO.getDataCompany().contains(",")) {
companyId = userDTO.getDataCompany();
} else {
companyId = userDTO.getDataCompany() + ",";
}
} else {
companyId = userDTO.getCompanyId() + ",";
}
dto.setCompanyIds(companyId.split(","));
}
}
Query query = new Query(dto); Query query = new Query(dto);
PageDataVO pageDataVO = PageDataVO.pageInfo(query, () -> baseOrderBiz.listOrder(query.getSuper())); PageDataVO pageDataVO = PageDataVO.pageInfo(query, () -> baseOrderBiz.listOrder(query.getSuper()));
List<OrderListVo> list = pageDataVO.getData(); List<OrderListVo> list = pageDataVO.getData();
List<Integer> userIds = list.stream().map(OrderListVo::getUserId).distinct().collect(Collectors.toList()); List<Integer> userIds = list.stream().map(OrderListVo::getUserId).distinct().collect(Collectors.toList());
if(userIds != null && userIds.size() >0) { if (userIds != null && userIds.size() > 0) {
ObjectRestResponse<List<AppUserVo>> objectRestResponse = userFeign.getByUserIds(userIds); ObjectRestResponse<List<AppUserVo>> objectRestResponse = userFeign.getByUserIds(userIds);
log.info("获取用户信息:objectRestResponse = {}", objectRestResponse.getMessage()); log.info("获取用户信息:objectRestResponse = {}", objectRestResponse.getData());
Map<String, AppUserVo> appUserVoMap = objectRestResponse.getData() == null ? new HashMap<String, AppUserVo>()
: objectRestResponse.getData().parallelStream().collect(Collectors.toMap(v -> v.getUserid().toString(), v -> v));
for (OrderListVo orderPageVO : list) { for (OrderListVo orderPageVO : list) {
if (objectRestResponse.getData() != null && objectRestResponse.getData().size() > 0) { AppUserVo appUserVo = appUserVoMap.get(orderPageVO.getUserId().toString());
for (AppUserVo appUserVo : objectRestResponse.getData()) { if (null != appUserVo) {
if (appUserVo != null) {
orderPageVO.setTelephone(appUserVo.getUsername()); orderPageVO.setTelephone(appUserVo.getUsername());
orderPageVO.setUsername(appUserVo.getNickname()); orderPageVO.setUsername(appUserVo.getNickname());
} }
}
}
if (orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getVehicleId() != null) { if (orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getVehicleId() != null) {
RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderPageVO.getOrderRentVehicleDetail().getVehicleId()); RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderPageVO.getOrderRentVehicleDetail().getVehicleId());
log.info("获取车辆信息返回消息:{}", restResponse.getMessage()); log.info("获取车辆信息返回消息:{}", restResponse.getMessage());
if (restResponse.getData() != null) { if (restResponse.getData() != null) {
orderPageVO.setVehicleNumberPlat(restResponse.getData().getNumberPlate()); orderPageVO.setVehicleNumberPlat(restResponse.getData().getNumberPlate());
} }
if(StringUtils.isNotBlank(orderPageVO.getOrderRentVehicleDetail().getMyDriverIds())) { if (StringUtils.isNotBlank(orderPageVO.getOrderRentVehicleDetail().getMyDriverIds())) {
List<OrderUserLicense> orderUserLicenses = orderUserLicenseBiz.selectByIds(orderPageVO.getOrderRentVehicleDetail().getMyDriverIds()).getData(); List<OrderUserLicense> orderUserLicenses = orderUserLicenseBiz.selectByIds(orderPageVO.getOrderRentVehicleDetail().getMyDriverIds()).getData();
if(orderUserLicenses != null && orderUserLicenses.size() > 0) { if (orderUserLicenses != null && orderUserLicenses.size() > 0) {
OrderVehicleCrosstownDto orderVehicleCrosstownDto = new OrderVehicleCrosstownDto(); OrderVehicleCrosstownDto orderVehicleCrosstownDto = new OrderVehicleCrosstownDto();
orderVehicleCrosstownDto.setLicenseIdCard(orderUserLicenses.get(0).getLicenseIdCard()); orderVehicleCrosstownDto.setLicenseIdCard(orderUserLicenses.get(0).getLicenseIdCard());
orderVehicleCrosstownDto.setLicenseImg(orderUserLicenses.get(0).getLicenseImg()); orderVehicleCrosstownDto.setLicenseImg(orderUserLicenses.get(0).getLicenseImg());
...@@ -244,29 +219,33 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -244,29 +219,33 @@ public class BaseOrderController extends CommonBaseController implements UserRes
} }
} }
if(orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getStartCompanyId()!= null && orderPageVO.getOrderRentVehicleDetail().getEndCompanyId() != null) { if (orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getStartCompanyId() != null && orderPageVO.getOrderRentVehicleDetail().getEndCompanyId() != null) {
ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getStartCompanyId()); ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getStartCompanyId());
if(startResponse.getData() != null) { if (startResponse.getData() != null) {
orderPageVO.setStartCompanyName(startResponse.getData().getName()); orderPageVO.setStartCompanyName(startResponse.getData().getName());
} }
ObjectRestResponse<CompanyDetail> restResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getEndCompanyId()); ObjectRestResponse<CompanyDetail> restResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getEndCompanyId());
if(restResponse.getData() != null) { if (restResponse.getData() != null) {
orderPageVO.setEndCompanyName(restResponse.getData().getName()); orderPageVO.setEndCompanyName(restResponse.getData().getName());
} }
} }
//旅游
if(orderPageVO.getOrderTourDetail() != null && orderPageVO.getOrderTourDetail().getStartCompanyId()!= null) { if (orderPageVO.getOrderTourDetail() != null && orderPageVO.getOrderTourDetail().getStartCompanyId() != null) {
ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderTourDetail().getStartCompanyId()); ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderTourDetail().getStartCompanyId());
if(startResponse.getData() != null) { if (startResponse.getData() != null) {
orderPageVO.setStartCompanyName(startResponse.getData().getName()); orderPageVO.setStartCompanyName(startResponse.getData().getName());
} }
List<Integer> tourUserIds = Arrays.asList(orderPageVO.getOrderTourDetail().getTourUserIds().split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
ObjectRestResponse<List<AppUserVo>> users = userFeign.getByUserIds(tourUserIds);
if (users.getData() != null) {
orderPageVO.getOrderTourDetail().setUserVoList(users.getData() == null? users.getData() : new ArrayList<>());
}
} }
} }
} }
return new ObjectRestResponse<>().data(pageDataVO); return new ObjectRestResponse<>().data(pageDataVO);
} }
...@@ -283,7 +262,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -283,7 +262,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
} }
Query query = new Query(dto); Query query = new Query(dto);
PageDataVO<OrderPageVO> pageDataVO = PageDataVO.pageInfo(query, () -> baseOrderBiz.getRentVehicle(query.getSuper())); PageDataVO<OrderPageVO> pageDataVO = PageDataVO.pageInfo(query, () -> baseOrderBiz.getRentVehicle(query.getSuper()));
for(OrderPageVO orderPageVO : pageDataVO.getData()) { for (OrderPageVO orderPageVO : pageDataVO.getData()) {
if (orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getVehicleId() != null) { if (orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getVehicleId() != null) {
ObjectRestResponse<Vehicle> restResponse = vehicleFeign.get(orderPageVO.getOrderRentVehicleDetail().getVehicleId()); ObjectRestResponse<Vehicle> restResponse = vehicleFeign.get(orderPageVO.getOrderRentVehicleDetail().getVehicleId());
log.info("获取车辆信息返回消息:{}", restResponse.getMessage()); log.info("获取车辆信息返回消息:{}", restResponse.getMessage());
...@@ -317,7 +296,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -317,7 +296,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@IgnoreClientToken @IgnoreClientToken
@ResponseBody @ResponseBody
public ObjectRestResponse<OrderPageVO> get(@PathVariable String no) { public ObjectRestResponse<OrderPageVO> get(@PathVariable String no) {
log.info("no:"+ no + ",时间戳:"+ System.currentTimeMillis()); log.info("no:" + no + ",时间戳:" + System.currentTimeMillis());
checkAppUser(); checkAppUser();
//查询列表数据 //查询列表数据
...@@ -326,7 +305,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -326,7 +305,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
if (page.getData().isEmpty()) { if (page.getData().isEmpty()) {
throw new BaseException(ResultCode.NOTEXIST_CODE); throw new BaseException(ResultCode.NOTEXIST_CODE);
} }
log.info("no:"+ no + ",时间戳:"+ System.currentTimeMillis()); log.info("no:" + no + ",时间戳:" + System.currentTimeMillis());
return new ObjectRestResponse<>().data(page.getData().get(0)); return new ObjectRestResponse<>().data(page.getData().get(0));
} }
...@@ -335,7 +314,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -335,7 +314,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@IgnoreClientToken @IgnoreClientToken
@ResponseBody @ResponseBody
public ObjectRestResponse<OrderPageVO> getOrderDetail(String orderNo) { public ObjectRestResponse<OrderPageVO> getOrderDetail(String orderNo) {
if(StringUtils.isBlank(orderNo)) { if (StringUtils.isBlank(orderNo)) {
return ObjectRestResponse.paramIsEmpty(); return ObjectRestResponse.paramIsEmpty();
} }
return baseOrderBiz.getOrderDetail(orderNo); return baseOrderBiz.getOrderDetail(orderNo);
...@@ -443,7 +422,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -443,7 +422,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
//判断是否成功,并且订单是未支付状态,则添加支付编号和修改状态 //判断是否成功,并且订单是未支付状态,则添加支付编号和修改状态
if (StrUtil.isNotBlank(dto.getOrderNo())) { if (StrUtil.isNotBlank(dto.getOrderNo())) {
baseOrderBiz.payNotifyHandle(dto.getOrderNo(), dto.getTradeNo(), dto.getType()); baseOrderBiz.payNotifyHandle(dto.getOrderNo(), dto.getTradeNo(), dto.getType());
}else{ } else {
log.error(" exception notifyUrl : " + JSONUtil.toJsonStr(dto)); log.error(" exception notifyUrl : " + JSONUtil.toJsonStr(dto));
} }
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
...@@ -458,15 +437,15 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -458,15 +437,15 @@ public class BaseOrderController extends CommonBaseController implements UserRes
rabbitProduct.sendDelayMessage(baseOrderBiz.selectById(93), 1000L * 60); rabbitProduct.sendDelayMessage(baseOrderBiz.selectById(93), 1000L * 60);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
public UserDTO getAdminUserInfo() { public UserDTO getAdminUserInfo() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
if(request.getHeader("Authorization") !=null) { if (request.getHeader("Authorization") != null) {
return userFeign.userinfoByToken(request.getHeader("Authorization")).getData(); return userFeign.userinfoByToken(request.getHeader("Authorization")).getData();
} }
return null; return null;
} }
/** /**
* 订单查询类 * 订单查询类
*/ */
...@@ -497,8 +476,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -497,8 +476,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@ApiModelProperty("每页限制") @ApiModelProperty("每页限制")
Integer limit; Integer limit;
String[] companyIds; List<Integer> companyIds;
String[] zoneIds;
} }
} }
package com.xxfc.platform.order.service; package com.xxfc.platform.order.service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.context.BaseContextHandler; import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
...@@ -25,7 +27,7 @@ import java.util.Map; ...@@ -25,7 +27,7 @@ import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Transactional @Transactional
public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends OrderDetail>{ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends OrderDetail> implements UserRestInterface {
public static final int VERSION_INITIAL = 0; public static final int VERSION_INITIAL = 0;
...@@ -46,6 +48,14 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or ...@@ -46,6 +48,14 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
@Autowired @Autowired
ActivityFeign activityFeign; ActivityFeign activityFeign;
@Autowired
protected UserFeign userFeign;
@Override
public UserFeign getUserFeign() {
return userFeign;
}
protected OrderTypeEnum orderTypeEnum; protected OrderTypeEnum orderTypeEnum;
protected Integer channel; protected Integer channel;
...@@ -76,6 +86,7 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or ...@@ -76,6 +86,7 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
//设置用户id //设置用户id
baseOrder.setUserId(Integer.valueOf(BaseContextHandler.getUserID())); baseOrder.setUserId(Integer.valueOf(BaseContextHandler.getUserID()));
baseOrder.setMemberLevel(getAppUser().getMemberLevel());
return baseOrder; return baseOrder;
} }
......
...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.context.BaseContextHandler; import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
...@@ -39,7 +40,7 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER; ...@@ -39,7 +40,7 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
@Service @Service
@Log4j @Log4j
public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz, MemberBO> { public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz, MemberBO> implements UserRestInterface {
@Autowired @Autowired
TourFeign tourFeign; TourFeign tourFeign;
...@@ -65,9 +66,6 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz ...@@ -65,9 +66,6 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
@Autowired @Autowired
protected UserAuthConfig userAuthConfig; protected UserAuthConfig userAuthConfig;
@Autowired
UserFeign userFeign;
@Autowired @Autowired
ActivityFeign activityFeign; ActivityFeign activityFeign;
...@@ -79,10 +77,6 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz ...@@ -79,10 +77,6 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
this.orderTypeEnum = OrderTypeEnum.MEMBER; this.orderTypeEnum = OrderTypeEnum.MEMBER;
} }
public AppUserDTO getUserInfo(){
return userFeign.userDetailByToken(userAuthConfig.getToken(request)).getData();
}
@Override @Override
public void initDetail(MemberBO bo) { public void initDetail(MemberBO bo) {
super.initDetail(bo); super.initDetail(bo);
......
...@@ -33,6 +33,7 @@ import com.xxfc.platform.vehicle.entity.VehicleModel; ...@@ -33,6 +33,7 @@ import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.CompanyDetail; import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO; import com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -72,9 +73,6 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -72,9 +73,6 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
@Autowired @Autowired
OrderTemplateBiz orderTemplateBiz; OrderTemplateBiz orderTemplateBiz;
@Autowired
UserFeign userFeign;
@Autowired @Autowired
ThirdFeign thirdFeign; ThirdFeign thirdFeign;
...@@ -136,8 +134,12 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -136,8 +134,12 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//设置订单名称 //设置订单名称
bo.getOrder().setName(bo.getVehicleModel().getName()); bo.getOrder().setName(bo.getVehicleModel().getName());
//是否有使用会员权益 则调用接口触发新增消费记录次数
//扣减免费天数 //扣减免费天数
if(null != bo.getFreeDays() && bo.getFreeDays() > 0) { if(SYS_TRUE.equals(bo.getOrder().getHasMemberRight())) {
if(null == bo.getFreeDays()) {
bo.setFreeDays(0);
}
int result = userFeign.memberDays(bo.getAppUserDTO().getUserid(), bo.getFreeDays(), UserFeign.MEMBER_DAYS_LOCK); int result = userFeign.memberDays(bo.getAppUserDTO().getUserid(), bo.getFreeDays(), UserFeign.MEMBER_DAYS_LOCK);
if(result < 0) { if(result < 0) {
throw new BaseException(ResultCode.FAILED_CODE); throw new BaseException(ResultCode.FAILED_CODE);
...@@ -176,7 +178,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -176,7 +178,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
BigDecimal vehicleAmount = BigDecimal.ZERO; BigDecimal vehicleAmount = BigDecimal.ZERO;
BigDecimal driverAmount = BigDecimal.ZERO; BigDecimal driverAmount = BigDecimal.ZERO;
BigDecimal damageSafeAmount = BigDecimal.ZERO; BigDecimal damageSafeAmount = BigDecimal.ZERO;
BigDecimal modelAmount = BigDecimal.ZERO; // BigDecimal modelAmount = BigDecimal.ZERO;
BigDecimal couponAmount = BigDecimal.ZERO; BigDecimal couponAmount = BigDecimal.ZERO;
Integer vehicleDayNum = 0; Integer vehicleDayNum = 0;
Integer freeDayNum = 0; Integer freeDayNum = 0;
...@@ -224,23 +226,23 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -224,23 +226,23 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
String[] prices = StrUtil.isBlank(vehicleModel.getRentDiscountPrice()) String[] prices = StrUtil.isBlank(vehicleModel.getRentDiscountPrice())
?new String[]{vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString()} ?new String[]{vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString()}
:vehicleModel.getRentDiscountPrice().split(","); :vehicleModel.getRentDiscountPrice().split(",");
switch (MemberEnum.getByCode(detail.getAppUserDTO().getMemberLevel())) { HandleDiscountDTO handleDiscountDTO = new HandleDiscountDTO();
switch (MemberEnum.getByCode(dto.getMemberLevel())) {
case NORMAL: case NORMAL:
modelAmount = handleDiscount(vehicleModel, prices, NORMAL); handleDiscountDTO = handleDiscount(vehicleModel, prices, NORMAL);
detail.getOrder().setHasMemberRight(SYS_TRUE); detail.getOrder().setHasMemberRight(SYS_TRUE);
break; break;
case GOLD: case GOLD:
modelAmount = handleDiscount(vehicleModel, prices, GOLD); handleDiscountDTO = handleDiscount(vehicleModel, prices, GOLD);
detail.getOrder().setHasMemberRight(SYS_TRUE); detail.getOrder().setHasMemberRight(SYS_TRUE);
break; break;
case DIAMOND: case DIAMOND:
modelAmount = handleDiscount(vehicleModel, prices, DIAMOND); handleDiscountDTO = handleDiscount(vehicleModel, prices, DIAMOND);
detail.getOrder().setHasMemberRight(SYS_TRUE); detail.getOrder().setHasMemberRight(SYS_TRUE);
break; break;
} }
vehicleOrderItem.setUnitPrice(modelAmount); detail.setRebate(handleDiscountDTO.getRebate());
}else { vehicleOrderItem.setUnitPrice(handleDiscountDTO.getModelAmount());
modelAmount = vehicleModel.getPrice();
} }
//如果有使用会员权益或者优惠券,则设置订单已优惠 //如果有使用会员权益或者优惠券,则设置订单已优惠
...@@ -296,7 +298,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -296,7 +298,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp.setDriverAmount(driverAmount); rvp.setDriverAmount(driverAmount);
rvp.setVehicleAmount(vehicleAmount); rvp.setVehicleAmount(vehicleAmount);
rvp.setDamageSafeAmount(damageSafeAmount); rvp.setDamageSafeAmount(damageSafeAmount);
rvp.setModelAmount(modelAmount); rvp.setModelAmount(vehicleOrderItem.getUnitPrice());
rvp.setVehicleDayNum(vehicleDayNum); rvp.setVehicleDayNum(vehicleDayNum);
//设置收费明细 //设置收费明细
...@@ -311,15 +313,29 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -311,15 +313,29 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
* @param memberEnum * @param memberEnum
* @return * @return
*/ */
private BigDecimal handleDiscount(VehicleModel vehicleModel, String[] prices, MemberEnum memberEnum) { private HandleDiscountDTO handleDiscount(VehicleModel vehicleModel, String[] prices, MemberEnum memberEnum) {
BigDecimal modelAmount;//会员比例 BigDecimal modelAmount;//会员比例
BigDecimal hundred = BigDecimal.TEN;
Integer rebate = new Integer(0);
if(DISCOUNT_STATUS_MEMBER.equals(vehicleModel.getRentDiscountStatus())) { if(DISCOUNT_STATUS_MEMBER.equals(vehicleModel.getRentDiscountStatus())) {
modelAmount = new BigDecimal(String.valueOf((memberEnum.getPercent()/100d))).multiply(vehicleModel.getPrice()).setScale(2, BigDecimal.ROUND_HALF_UP); rebate = memberEnum.getPercent();
BigDecimal rebatePercent = new BigDecimal(String.valueOf((rebate/100d)));
modelAmount = rebatePercent.multiply(vehicleModel.getPrice()).setScale(2, BigDecimal.ROUND_HALF_UP);
}else { }else {
//会员固定价列表 //会员固定价列表
modelAmount = new BigDecimal(prices[(memberEnum.getCode() - 1)]); modelAmount = new BigDecimal(prices[(memberEnum.getCode() - 1)]);
rebate = modelAmount.divide(vehicleModel.getPrice()).multiply(hundred).setScale(0, BigDecimal.ROUND_UP).intValue();
}
HandleDiscountDTO handleDiscountDTO = new HandleDiscountDTO();
handleDiscountDTO.setRebate(rebate);
handleDiscountDTO.setModelAmount(modelAmount);
return handleDiscountDTO;
} }
return modelAmount;
@Data
public class HandleDiscountDTO {
BigDecimal modelAmount;
Integer rebate;
} }
private String handleChildren(RentVehicleBO detail, Integer vehicleDayNum) { private String handleChildren(RentVehicleBO detail, Integer vehicleDayNum) {
......
...@@ -76,9 +76,6 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To ...@@ -76,9 +76,6 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
@Autowired @Autowired
protected UserAuthConfig userAuthConfig; protected UserAuthConfig userAuthConfig;
@Autowired
UserFeign userFeign;
@Autowired @Autowired
ThirdFeign thirdFeign; ThirdFeign thirdFeign;
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
......
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
and (r.start_time between #{startTime} and #{endTime} and (r.start_time between #{startTime} and #{endTime}
or t.start_time between #{startTime} and #{endTime}) or t.start_time between #{startTime} and #{endTime})
</if> </if>
<if test="companyIds != null"> <if test="companyIds != null and companyIds.size > 0">
and (r.start_company_id in and (r.start_company_id in
<foreach collection="companyIds" item="id" open="(" separator="," close=")"> <foreach collection="companyIds" item="id" open="(" separator="," close=")">
#{id} #{id}
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
</foreach> </foreach>
) )
</if> </if>
<if test="zoneIds != null"> <if test="zoneIds != null and zoneIds.size > 0">
and (r.start_zone_id in and (r.start_zone_id in
<foreach collection="zoneIds" item="id" open="(" separator="," close=")"> <foreach collection="zoneIds" item="id" open="(" separator="," close=")">
#{id} #{id}
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
......
...@@ -51,7 +51,7 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.UNIVERSAL_PAY; ...@@ -51,7 +51,7 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.UNIVERSAL_PAY;
*/ */
@Service @Service
@Slf4j @Slf4j
public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
@Autowired @Autowired
DictionaryBiz dictionaryBiz; DictionaryBiz dictionaryBiz;
...@@ -65,126 +65,127 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -65,126 +65,127 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
String weixinHost; String weixinHost;
String notifyUrl = weixinHost + "/service/payment/notify/alipay"; String notifyUrl = weixinHost + "/service/payment/notify/alipay";
public JSONObject preparepay( OrderPayVo orderPayVo) {
if(null == orderPayVo) { public JSONObject preparepay(OrderPayVo orderPayVo) {
if (null == orderPayVo) {
log.error("-----参数为空-----------"); log.error("-----参数为空-----------");
return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "参数为空"); return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "参数为空");
} }
if(orderPayVo.getAmount()==null||orderPayVo.getAmount()==0) { if (orderPayVo.getAmount() == null || orderPayVo.getAmount() == 0) {
log.error("-----金额不为为0-----------"); log.error("-----金额不为为0-----------");
return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "金额不为为0"); return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "金额不为为0");
} }
if(StringUtils.isBlank(orderPayVo.getOrderNo())) { if (StringUtils.isBlank(orderPayVo.getOrderNo())) {
log.error("-----订单不能为空-----------"); log.error("-----订单不能为空-----------");
return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "订单不能为空"); return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "订单不能为空");
} }
log.info("订单支付参数:orderVo = {}", orderPayVo.toString()); log.info("订单支付参数:orderVo = {}", orderPayVo.toString());
String trade_no = OrderUtil.GetOrderNumber(""); String trade_no = OrderUtil.GetOrderNumber("");
orderPayVo.setTradeNo(trade_no); orderPayVo.setTradeNo(trade_no);
String order_no=orderPayVo.getOrderNo(); String order_no = orderPayVo.getOrderNo();
Integer amount=orderPayVo.getAmount(); Integer amount = orderPayVo.getAmount();
log.error("---下单---order_no====="+order_no+"--支付订单号--trade_no===="+trade_no+"--金额---amount===="+amount); log.error("---下单---order_no=====" + order_no + "--支付订单号--trade_no====" + trade_no + "--金额---amount====" + amount);
//报名费回调路径 //报名费回调路径
//临时处理 //临时处理
Map<String, Dictionary> dictionaryMap = dictionaryBiz.getAll4Map(); Map<String, Dictionary> dictionaryMap = dictionaryBiz.getAll4Map();
Integer demotion = Integer.valueOf(dictionaryMap.get(UNIVERSAL_PAY+ "_"+ PAY_DEMOTION).getDetail()); Integer demotion = Integer.valueOf(dictionaryMap.get(UNIVERSAL_PAY + "_" + PAY_DEMOTION).getDetail());
amount = amount/demotion; amount = amount / demotion;
if(amount <= 0) { if (amount <= 0) {
amount = 1; amount = 1;
} }
Integer type=orderPayVo.getType()==null?1:orderPayVo.getType(); Integer type = orderPayVo.getType() == null ? 1 : orderPayVo.getType();
String jsParam=""; String jsParam = "";
String notify_url=weixinHost+"/api/universal/pay/app/unauth/notify"; String notify_url = weixinHost + "/api/universal/pay/app/unauth/notify";
log.info("报名费回调路径notify_url:"+notify_url); log.info("报名费回调路径notify_url:" + notify_url);
Integer payWay=orderPayVo.getPayWay()==null?1:orderPayVo.getPayWay(); Integer payWay = orderPayVo.getPayWay() == null ? 1 : orderPayVo.getPayWay();
String sellerAccount=null; String sellerAccount = null;
if(type==2&&payWay==1){ if (type == 2 && payWay == 1) {//微信网页支付
sellerAccount=SystemConfig.APP_PARTNER; sellerAccount = SystemConfig.APP_PARTNER;
jsParam=WXPay.webPay( amount+"",orderPayVo.getBody(),notify_url,trade_no,orderPayVo.getBuyerIp(), orderPayVo.getBuyerAccount()); jsParam = WXPay.webPay(amount + "", orderPayVo.getBody(), notify_url, trade_no, orderPayVo.getBuyerIp(), orderPayVo.getBuyerAccount());
}else if (type==1&&payWay==1){ } else if (type == 1 && payWay == 1) {//微信APP支付
sellerAccount=SystemConfig.APP_PARTNER; sellerAccount = SystemConfig.APP_PARTNER;
jsParam = WXPay.apppay(amount+"",orderPayVo.getBody(),notify_url ,trade_no,orderPayVo.getBuyerIp(),0); jsParam = WXPay.apppay(amount + "", orderPayVo.getBody(), notify_url, trade_no, orderPayVo.getBuyerIp(), 0);
}else if (type==1&&payWay==2){ } else if (type == 1 && payWay != 1 && payWay != 3) {//支付宝APP支付,或预授权支付
sellerAccount=SystemConfig.ALIPAY_PID; sellerAccount = SystemConfig.ALIPAY_PID;
jsParam=generateAliPayment(orderPayVo); jsParam = generateAliPayment(orderPayVo);
} }
log.info("报名费回调路径jsParam:"+jsParam); log.info("报名费回调路径jsParam:" + jsParam);
if(!StringUtils.isBlank(jsParam)) if (!StringUtils.isBlank(jsParam)) {
{
try { try {
OrderPay orderPay= new OrderPay(); OrderPay orderPay = new OrderPay();
BeanUtils.copyProperties(orderPay,orderPayVo); BeanUtils.copyProperties(orderPay, orderPayVo);
orderPay.setSellerAccount(sellerAccount); orderPay.setSellerAccount(sellerAccount);
insertSelective(orderPay); insertSelective(orderPay);
log.error("---下单---order_no====="+order_no+"----成功"); log.error("---下单---order_no=====" + order_no + "----成功");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
log.error("---下单---order_no====="+order_no+"----异常---msg==="+ e.getMessage()); log.error("---下单---order_no=====" + order_no + "----异常---msg===" + e.getMessage());
return JsonResultUtil.createFailedResult(ResultCode.EXCEPTION_CODE, "出现异常"); return JsonResultUtil.createFailedResult(ResultCode.EXCEPTION_CODE, "出现异常");
} }
if (payWay==1){ if (payWay == 1) {
JSONObject temp = JSON.parseObject(jsParam); JSONObject temp = JSON.parseObject(jsParam);
return JsonResultUtil.createSuccessResultWithObj(temp); return JsonResultUtil.createSuccessResultWithObj(temp);
}else { } else {
return JsonResultUtil.createSuccessResultWithObj(jsParam); return JsonResultUtil.createSuccessResultWithObj(jsParam);
} }
}else{ } else {
return JsonResultUtil.createDefaultFail(); return JsonResultUtil.createDefaultFail();
} }
} }
//支付回调 //支付回调
public void notice(String orderNo,String serialNumber){ public void notice(String orderNo, String serialNumber) {
log.error("---支付回调---trade_no====="+orderNo+"----开始处理"); log.error("---支付回调---trade_no=====" + orderNo + "----开始处理");
Example example =new Example(OrderPay.class); Example example = new Example(OrderPay.class);
example.createCriteria().andEqualTo("tradeNo", orderNo).andEqualTo("isDel",0).andEqualTo("status",0); example.createCriteria().andEqualTo("tradeNo", orderNo).andEqualTo("isDel", 0).andEqualTo("status", 0);
List<OrderPay> list=mapper.selectByExample(example); List<OrderPay> list = mapper.selectByExample(example);
if(list.size()==0){ if (list.size() == 0) {
log.error("---支付回调---trade_no====="+orderNo+"----订单不存在或已处理"); log.error("---支付回调---trade_no=====" + orderNo + "----订单不存在或已处理");
return; return;
} }
example.clear(); example.clear();
example.createCriteria().andEqualTo("tradeNo",orderNo); example.createCriteria().andEqualTo("tradeNo", orderNo);
OrderPay orderPay=new OrderPay(); OrderPay orderPay = new OrderPay();
orderPay.setFinishTime(System.currentTimeMillis()); orderPay.setFinishTime(System.currentTimeMillis());
orderPay.setStatus(1); orderPay.setStatus(1);
orderPay.setSerialNumber(serialNumber); orderPay.setSerialNumber(serialNumber);
int num=mapper.updateByExampleSelective(orderPay,example); int num = mapper.updateByExampleSelective(orderPay, example);
log.error("---支付回调处理---num====="+num+"----orderNo======="+orderNo); log.error("---支付回调处理---num=====" + num + "----orderNo=======" + orderNo);
if(num>0){ if (num > 0) {
//支付成功,添加积分 //支付成功,添加积分
OrderPay pay= list.get(0); OrderPay pay = list.get(0);
OrderPay newValue = mapper.selectOne(orderPay); OrderPay newValue = mapper.selectOne(orderPay);
log.info("支付回调信息:newValue = {}", newValue); log.info("支付回调信息:newValue = {}", newValue);
if(newValue.getStatus() == 1) { if (newValue.getStatus() == 1) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("userId", newValue.getUserId()); jsonObject.put("userId", newValue.getUserId());
jsonObject.put("amount", newValue.getAmount()); jsonObject.put("amount", newValue.getAmount());
jsonObject.put("channelId", newValue.getOrderNo()); jsonObject.put("channelId", newValue.getOrderNo());
if(newValue.getChannel() == 1) {//租车 if (newValue.getChannel() == 1) {//租车
jsonObject.put("integralRuleCode", "RENTRV"); jsonObject.put("integralRuleCode", "RENTRV");
} else if(newValue.getChannel() == 2) { //旅游 } else if (newValue.getChannel() == 2) { //旅游
jsonObject.put("integralRuleCode", "BUYROUT"); jsonObject.put("integralRuleCode", "BUYROUT");
} else if(newValue.getChannel() == 3) { //会员 } else if (newValue.getChannel() == 3) { //会员
jsonObject.put("integralRuleCode", "BUYMEMBER"); jsonObject.put("integralRuleCode", "BUYMEMBER");
} }
log.info("支付订单号:orderNo = {}, orderType = {}", newValue.getOrderNo(), newValue.getChannel()); log.info("支付订单号:orderNo = {}, orderType = {}", newValue.getOrderNo(), newValue.getChannel());
log.info("支付成功获取积分:发送消息 exchange = {}, routingKey = {}, json = {}", RabbitConstant.INTEGRAL_TOPIC, RabbitConstant.INTEGRAL_ROUTING_KEY, jsonObject.toJSONString()); log.info("支付成功获取积分:发送消息 exchange = {}, routingKey = {}, json = {}", RabbitConstant.INTEGRAL_TOPIC, RabbitConstant.INTEGRAL_ROUTING_KEY, jsonObject.toJSONString());
mqServiceBiZ.sendMessage(RabbitConstant.INTEGRAL_TOPIC, RabbitConstant.INTEGRAL_ROUTING_KEY, jsonObject.toJSONString()); mqServiceBiZ.sendMessage(RabbitConstant.INTEGRAL_TOPIC, RabbitConstant.INTEGRAL_ROUTING_KEY, jsonObject.toJSONString());
} }
if(StringUtils.isNotBlank(pay.getNotifyUrl())){ if (StringUtils.isNotBlank(pay.getNotifyUrl())) {
String url=pay.getNotifyUrl(); String url = pay.getNotifyUrl();
Integer type=pay.getType()==null?1:pay.getType(); Integer type = pay.getType() == null ? 1 : pay.getType();
url+="&tradeNo="+orderNo+"&type="+type; url += "&tradeNo=" + orderNo + "&type=" + type;
log.error("---支付回调处理---orderNo======="+orderNo+"----notifyUrl===="+url); log.error("---支付回调处理---orderNo=======" + orderNo + "----notifyUrl====" + url);
String result=""; String result = "";
if(url.contains("https")||url.contains("HTTPS")){ if (url.contains("https") || url.contains("HTTPS")) {
result= HTTPSUtils.httpRequest(url, "GET",null); result = HTTPSUtils.httpRequest(url, "GET", null);
}else{ } else {
result= HTTPUtils.doGet(url); result = HTTPUtils.doGet(url);
} }
log.error("---支付回调处理---orderNo======="+orderNo+"---result==="+result); log.error("---支付回调处理---orderNo=======" + orderNo + "---result===" + result);
} }
} }
...@@ -192,13 +193,14 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -192,13 +193,14 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
/** /**
* 支付宝回调接口 * 支付宝回调接口
*
* @return * @return
*/ */
public String alipayNotify() { public String alipayNotify() {
//获取支付宝POST过来反馈信息 //获取支付宝POST过来反馈信息
Map<String,String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
Map requestParams = request.getParameterMap(); Map requestParams = request.getParameterMap();
for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) { for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext(); ) {
String name = (String) iter.next(); String name = (String) iter.next();
String[] values = (String[]) requestParams.get(name); String[] values = (String[]) requestParams.get(name);
String valueStr = ""; String valueStr = "";
...@@ -260,7 +262,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -260,7 +262,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
String tradeNo = params.get("out_order_no"); String tradeNo = params.get("out_order_no");
String operationId = params.get("operation_id"); String operationId = params.get("operation_id");
notice(tradeNo,operationId); notice(tradeNo, operationId);
return ObjectRestResponse.succ().getMessage(); return ObjectRestResponse.succ().getMessage();
} catch (AlipayApiException e) { } catch (AlipayApiException e) {
log.error("", e); log.error("", e);
...@@ -270,25 +272,26 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -270,25 +272,26 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
/** /**
* 支付宝生成支付信息 * 支付宝生成支付信息
*
* @return * @return
*/ */
@SuppressWarnings("rawtypes")
private String generateAliPayment(OrderPayVo orderPayVo) { private String generateAliPayment(OrderPayVo orderPayVo) {
//实例化客户端 //实例化客户端
AlipayClient alipayClient = new DefaultAlipayClient(SystemConfig.ALIPAY_PAY_BASE_URL + "/gateway.do", AlipayClient alipayClient = new DefaultAlipayClient(SystemConfig.ALIPAY_PAY_BASE_URL + "/gateway.do",
SystemConfig.ALIPAY_APPID, SystemConfig.ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON, SystemConfig.ALIPAY_APPID, SystemConfig.ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON,
"utf-8", SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2); "UTF-8", SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2);
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
//
orderPayVo.setNotifyUrl(notifyUrl); orderPayVo.setNotifyUrl(notifyUrl);
try{ try {
if (orderPayVo.getPayWay() == 2) { //支付宝APP支付
log.info("=============支付宝APP支付================");
return appOrderPay(alipayClient, orderPayVo);
} else { //预授权
log.info("=============支付宝预授权支付================");
return fundAuthOrderAppFreeze(alipayClient, orderPayVo); return fundAuthOrderAppFreeze(alipayClient, orderPayVo);
}catch (Exception e){ }
} catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
//
return null; return null;
} }
...@@ -297,19 +300,23 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -297,19 +300,23 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
BigDecimal realAmount = new BigDecimal(orderPayVo.getAmount().toString()).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_UP); BigDecimal realAmount = new BigDecimal(orderPayVo.getAmount().toString()).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_UP);
AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。 //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
// request.setBizContent("{" +
// "\"total_amount\":\"" + realAmount.toString() + "\"," +
// "\"subject\":\"" + orderPayVo.getSubject() + "\"," +
// "\"body\":\"" + orderPayVo.getBody() + "\"," +
// "\"out_trade_no\":\"" + orderPayVo.getTradeNo() + "\"" +
// " }");
request.setBizContent("{" + request.setBizContent("{" +
"\"timeout_express\":\"30m\"," + "\"total_amount\":\"0.01\"," +
"\"total_amount\":\"" + realAmount.toString() + "\"," + "\"subject\":\"大乐透\"," +
"\"subject\":\"" + orderPayVo.getSubject() + "\"," + "\"out_trade_no\":\"70501111111S001111119\"" +
"\"body\":\"" + orderPayVo.getBody() + "\"," +
"\"out_trade_no\":\"" + orderPayVo.getTradeNo() + "\"" +
" }"); " }");
request.setNotifyUrl(orderPayVo.getNotifyUrl()); request.setNotifyUrl(orderPayVo.getNotifyUrl());
log.info("请求参数:param = {}", request.getBizContent());
try { try {
//这里和普通的接口调用不同,使用的是sdkExecute //这里和普通的接口调用不同,使用的是sdkExecute
AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request); AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
log.info(response.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。 log.info(response.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。
return response.getBody(); return response.getBody();
} catch (AlipayApiException e) { } catch (AlipayApiException e) {
e.printStackTrace(); e.printStackTrace();
...@@ -318,11 +325,9 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -318,11 +325,9 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
} }
//预授权冻结 //预授权冻结
public String fundAuthOrderAppFreeze(AlipayClient alipayClient, OrderPayVo orderPayVo) throws AlipayApiException { public String fundAuthOrderAppFreeze(AlipayClient alipayClient, OrderPayVo orderPayVo) throws AlipayApiException {
AlipayFundAuthOrderAppFreezeRequest request = new AlipayFundAuthOrderAppFreezeRequest(); AlipayFundAuthOrderAppFreezeRequest request = new AlipayFundAuthOrderAppFreezeRequest();
AlipayFundAuthOrderAppFreezeModel model = new AlipayFundAuthOrderAppFreezeModel();
BigDecimal realAmount = new BigDecimal(orderPayVo.getAmount().toString()).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_UP); BigDecimal realAmount = new BigDecimal(orderPayVo.getAmount().toString()).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_UP);
request.setBizContent("{" + request.setBizContent("{" +
"\"auth_code\":\"" + orderPayVo.getTradeNo() + "\"," + "\"auth_code\":\"" + orderPayVo.getTradeNo() + "\"," +
...@@ -332,10 +337,10 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -332,10 +337,10 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
"\"order_title\":\"" + orderPayVo.getSubject() + "\"," + "\"order_title\":\"" + orderPayVo.getSubject() + "\"," +
"\"product_code\":\"PRE_AUTH_ONLINE\"," + "\"product_code\":\"PRE_AUTH_ONLINE\"," +
"\"pay_timeout\":\"1d\"," + "\"pay_timeout\":\"1d\"," +
"\"amount\": \"" + realAmount.toString() +"\" }"); "\"amount\": \"" + realAmount.toString() + "\" }");
request.setNotifyUrl(orderPayVo.getNotifyUrl());//异步通知地址,必填,该接口只通过该参数进行异步通知 request.setNotifyUrl(orderPayVo.getNotifyUrl());//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayFundAuthOrderAppFreezeResponse response = alipayClient.sdkExecute(request);//注意这里是sdkExecute,可以获取签名参数 AlipayFundAuthOrderAppFreezeResponse response = alipayClient.sdkExecute(request);//注意这里是sdkExecute,可以获取签名参数
if(response.isSuccess()){ if (response.isSuccess()) {
log.info("调用成功"); log.info("调用成功");
log.info("response: {}" + response.getBody());//签名后的参数,直接入参到 log.info("response: {}" + response.getBody());//签名后的参数,直接入参到
return response.getBody(); return response.getBody();
...@@ -344,6 +349,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -344,6 +349,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
return null; return null;
} }
} }
//解冻预授权 //解冻预授权
public void fundAuthOrderUnFreeze(AlipayClient alipayClient) throws AlipayApiException { public void fundAuthOrderUnFreeze(AlipayClient alipayClient) throws AlipayApiException {
AlipayFundAuthOrderUnfreezeRequest request = new AlipayFundAuthOrderUnfreezeRequest(); AlipayFundAuthOrderUnfreezeRequest request = new AlipayFundAuthOrderUnfreezeRequest();
...@@ -357,11 +363,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -357,11 +363,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
request.setBizModel(model); request.setBizModel(model);
request.setNotifyUrl(notifyUrl);//异步通知地址,必填,该接口只通过该参数进行异步通知 request.setNotifyUrl(notifyUrl);//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayFundAuthOrderUnfreezeResponse response = alipayClient.execute(request); AlipayFundAuthOrderUnfreezeResponse response = alipayClient.execute(request);
log.info("response: {}"+response.getBody()); log.info("response: {}" + response.getBody());
} }
//取消预授权 //取消预授权
public void fundAuthCancel() throws AlipayApiException { public void fundAuthCancel() throws AlipayApiException {
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2"); AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", "app_id", "your private_key", "json", "GBK", "alipay_public_key", "RSA2");
AlipayFundAuthOperationCancelRequest request = new AlipayFundAuthOperationCancelRequest(); AlipayFundAuthOperationCancelRequest request = new AlipayFundAuthOperationCancelRequest();
AlipayFundAuthOperationCancelModel model = new AlipayFundAuthOperationCancelModel(); AlipayFundAuthOperationCancelModel model = new AlipayFundAuthOperationCancelModel();
//model.setAuthNo("2017120110002001390206804295"); // 支付宝资金授权订单号,在授权冻结成功时返回参数中获得 //model.setAuthNo("2017120110002001390206804295"); // 支付宝资金授权订单号,在授权冻结成功时返回参数中获得
...@@ -373,11 +380,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -373,11 +380,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
request.setNotifyUrl("");//异步通知地址,必填,该接口只通过该参数进行异步通知 request.setNotifyUrl("");//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayFundAuthOperationCancelResponse response = alipayClient.execute(request); AlipayFundAuthOperationCancelResponse response = alipayClient.execute(request);
log.info("response: {}"+response.getBody()); log.info("response: {}" + response.getBody());
} }
//预授权转支付 //预授权转支付
public void tradePay() throws AlipayApiException { public void tradePay() throws AlipayApiException {
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","utf-8","alipay_public_key","RSA2"); AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", "app_id", "your private_key", "json", "utf-8", "alipay_public_key", "RSA2");
AlipayTradePayRequest request = new AlipayTradePayRequest(); AlipayTradePayRequest request = new AlipayTradePayRequest();
AlipayTradePayModel model = new AlipayTradePayModel(); AlipayTradePayModel model = new AlipayTradePayModel();
model.setOutTradeNo("20180412100020088982"); // 预授权转支付商户订单号,为新的商户交易流水号;如果重试发起扣款,商户订单号不要变; model.setOutTradeNo("20180412100020088982"); // 预授权转支付商户订单号,为新的商户交易流水号;如果重试发起扣款,商户订单号不要变;
...@@ -395,16 +403,17 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -395,16 +403,17 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
request.setNotifyUrl("");//异步通知地址,必填,该接口只通过该参数进行异步通知 request.setNotifyUrl("");//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayTradePayResponse response = alipayClient.execute(request); AlipayTradePayResponse response = alipayClient.execute(request);
if(response.isSuccess()){ if (response.isSuccess()) {
System.out.println("调用成功"); System.out.println("调用成功");
log.info("response: {}"+response.getBody()); log.info("response: {}" + response.getBody());
} else { } else {
System.out.println("调用失败"); System.out.println("调用失败");
} }
} }
//退款 //退款
public void testTradeRefund() throws Exception { public void testTradeRefund() throws Exception {
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2"); AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", "app_id", "your private_key", "json", "GBK", "alipay_public_key", "RSA2");
AlipayTradeRefundModel model = new AlipayTradeRefundModel(); AlipayTradeRefundModel model = new AlipayTradeRefundModel();
model.setOutTradeNo("tradePay000002"); //与预授权转支付商户订单号相同,代表对该笔交易退款 model.setOutTradeNo("tradePay000002"); //与预授权转支付商户订单号相同,代表对该笔交易退款
model.setRefundAmount("0.01"); model.setRefundAmount("0.01");
...@@ -413,7 +422,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -413,7 +422,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
request.setBizModel(model); request.setBizModel(model);
AlipayTradeRefundResponse response = alipayClient.execute(request); AlipayTradeRefundResponse response = alipayClient.execute(request);
log.info("response: {}"+response.getBody()); log.info("response: {}" + response.getBody());
} }
...@@ -443,7 +452,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> { ...@@ -443,7 +452,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
" }"); " }");
try { try {
AlipayFundAuthOrderFreezeResponse aresponse = alipayClient.execute(arequest); AlipayFundAuthOrderFreezeResponse aresponse = alipayClient.execute(arequest);
if(aresponse.isSuccess()){ if (aresponse.isSuccess()) {
System.out.println("调用成功"); System.out.println("调用成功");
} else { } else {
System.out.println("调用失败"); System.out.println("调用失败");
......
...@@ -415,6 +415,7 @@ public class CertificationService { ...@@ -415,6 +415,7 @@ public class CertificationService {
idInformation.setUpdTime(new Date()); idInformation.setUpdTime(new Date());
idInformationMapper.updateByPrimaryKeySelective(idInformation); idInformationMapper.updateByPrimaryKeySelective(idInformation);
} }
log.info("----addIdInformation---userid==="+idInformation.getUserLonginId()+"----name====" + idInformation.getName()+"---IdNumber==="+idInformation.getIdNumber());
//认证成功后修改用户,用户认证状态 //认证成功后修改用户,用户认证状态
ObjectRestResponse authentication = userFeign.authentication(idInformation.getUserLonginId(), idInformation.getName(), idInformation.getIdNumber(), 1); ObjectRestResponse authentication = userFeign.authentication(idInformation.getUserLonginId(), idInformation.getName(), idInformation.getIdNumber(), 1);
return ObjectRestResponse.succ(idInformation.getId()); return ObjectRestResponse.succ(idInformation.getId());
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
......
package com.xxfc.platform.vehicle.entity; package com.xxfc.platform.vehicle.entity;
import com.xxfc.platform.vehicle.constant.AccompanyingItemType;
import lombok.Data; import lombok.Data;
import tk.mybatis.mapper.annotation.KeySql;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Id; import javax.persistence.Id;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/2 16:52
*/
@Data @Data
public class AccompanyingItem { public class AccompanyingItem {
public static final Integer NO_AMOUNT_LIMIT = -1; public static final Integer NO_AMOUNT_LIMIT = -1;
@Id @Id
private Integer id; private Integer id;
/**
* 物品类型,详见{@link AccompanyingItemType}
*/
@Column(name = "type" )
private Integer type;
/** /**
* 物品名称 * 物品名称
*/ */
...@@ -23,18 +35,37 @@ public class AccompanyingItem { ...@@ -23,18 +35,37 @@ public class AccompanyingItem {
private String name; private String name;
/** /**
* 物品类型,详见AccompanyingItemType *标配数量
*/ */
@Column(name = "type" ) @Column(name = "number")
private Integer type; private Integer number;
@Column(name = "rank")
private Integer rank;
/**
*单位
*/
@Column(name = "unit")
private String unit;
/**
*价格
*/
@Column(name = "price")
private BigDecimal price;
/** /**
* 备注 * 备注
*/ */
@Column(name = "remark")
private String remark; private String remark;
@Column(name = "create_time")
private Date createTime; private Date createTime;
@Column(name = "update_time")
private Date updateTime; private Date updateTime;
@Column(name = "is_del")
private Integer isDel;
} }
package com.xxfc.platform.vehicle.feign;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
@Component
public class AdminInfoFeign {
@Autowired
UserFeign userFeign;
public UserDTO getAdminUserInfo() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
if(request.getHeader("Authorization") !=null) {
return userFeign.userinfoByToken(request.getHeader("Authorization")).getData();
}
return null;
}
}
...@@ -46,11 +46,9 @@ public class VehicleBookRecordQueryVo extends PageParam { ...@@ -46,11 +46,9 @@ public class VehicleBookRecordQueryVo extends PageParam {
*/ */
private Integer bookType; private Integer bookType;
private Integer zoneId;
private Integer companyId; private Integer companyId;
private List<String> zoneIds;
private List<String> companyIds; private List<Integer> companyIds;
private String upkeepIds; private String upkeepIds;
private Integer userCompany; private Integer userCompany;
} }
\ No newline at end of file
...@@ -33,7 +33,6 @@ public class VehiclePlanDto extends PageParam { ...@@ -33,7 +33,6 @@ public class VehiclePlanDto extends PageParam {
@ApiModelProperty(value = "所属分公司大区") @ApiModelProperty(value = "所属分公司大区")
private Integer zoneId; private Integer zoneId;
private List<String> companyIds; private List<Integer> companyIds;
private List<String> zoneIds;
} }
package com.xxfc.platform.vehicle.pojo.vo;
import com.xxfc.platform.vehicle.constant.AccompanyingItemType;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/2 16:42
*/
@Data
public class AccompanyingItemVo {
private Integer id;
/**
* 物品类型,详见{@link AccompanyingItemType}
*/
private Integer type;
/**
* 物品名称
*/
private String name;
/**
*标配数量
*/
private Integer number;
/**
*单位
*/
private String unit;
/**
*价格
*/
private BigDecimal price;
/**
* 备注
*/
private String remark;
/**
* 排序
*/
private Integer rank;
}
...@@ -12,12 +12,18 @@ import com.xxfc.platform.vehicle.mapper.AccompanyingItemMapper; ...@@ -12,12 +12,18 @@ import com.xxfc.platform.vehicle.mapper.AccompanyingItemMapper;
import com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem; import com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo; import com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo;
import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
@Service @Service
@Slf4j @Slf4j
...@@ -85,4 +91,26 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa ...@@ -85,4 +91,26 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa
Integer effected = mapper.deleteByPrimaryKey(id); Integer effected = mapper.deleteByPrimaryKey(id);
return RestResponse.suc(); return RestResponse.suc();
} }
public List<AccompanyingItemVo> listAllItem(){
List<AccompanyingItemVo> accompanyingItemVos = new ArrayList<>();
Example example = new Example(AccompanyingItem.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDel",0);
List<AccompanyingItem> accompanyingItems = mapper.selectByExample(example);
if (CollectionUtils.isEmpty(accompanyingItems)){
return accompanyingItemVos;
}
List<AccompanyingItemVo> accompanyingItemVoList = accompanyingItems.stream().map(item -> {
AccompanyingItemVo accompanyingItemVo = new AccompanyingItemVo();
org.springframework.beans.BeanUtils.copyProperties(item, accompanyingItemVo);
return accompanyingItemVo;
}).sorted(Comparator.comparing(AccompanyingItemVo::getType).thenComparing(AccompanyingItemVo::getRank)).collect(Collectors.toList());
return accompanyingItemVoList;
}
} }
...@@ -7,7 +7,6 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz; ...@@ -7,7 +7,6 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.Area; import com.xxfc.platform.vehicle.entity.Area;
import com.xxfc.platform.vehicle.feign.AdminInfoFeign;
import com.xxfc.platform.vehicle.mapper.AreaMapper; import com.xxfc.platform.vehicle.mapper.AreaMapper;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
...@@ -9,19 +9,18 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign; ...@@ -9,19 +9,18 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface; import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.RedisKey; import com.xxfc.platform.vehicle.constant.RedisKey;
import com.xxfc.platform.vehicle.entity.BranchCompany; import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.BranchCompanyStockInfo; import com.xxfc.platform.vehicle.entity.BranchCompanyStockInfo;
import com.xxfc.platform.vehicle.entity.SysRegion; import com.xxfc.platform.vehicle.entity.SysRegion;
import com.xxfc.platform.vehicle.feign.AdminInfoFeign;
import com.xxfc.platform.vehicle.mapper.BranchCompanyMapper; import com.xxfc.platform.vehicle.mapper.BranchCompanyMapper;
import com.xxfc.platform.vehicle.util.excel.ExcelImport;
import com.xxfc.platform.vehicle.pojo.BranchCompanyVo; import com.xxfc.platform.vehicle.pojo.BranchCompanyVo;
import com.xxfc.platform.vehicle.pojo.CompanyDetail; import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.CompanySearchDTO; import com.xxfc.platform.vehicle.pojo.CompanySearchDTO;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.xxfc.platform.vehicle.util.excel.ExcelImport;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections4.map.HashedMap; import org.apache.commons.collections4.map.HashedMap;
...@@ -45,7 +44,8 @@ import java.util.concurrent.TimeUnit; ...@@ -45,7 +44,8 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_FALSE; import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_FALSE;
import static com.xxfc.platform.vehicle.constant.DbColumnConstant.*; import static com.xxfc.platform.vehicle.constant.DbColumnConstant.COMPANY_ZONE_ID;
import static com.xxfc.platform.vehicle.constant.DbColumnConstant.ID;
import static com.xxfc.platform.vehicle.constant.RedisKey.BRANCH_COMPANY_CACHE_DATAZONE; import static com.xxfc.platform.vehicle.constant.RedisKey.BRANCH_COMPANY_CACHE_DATAZONE;
@Service @Service
...@@ -93,37 +93,11 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -93,37 +93,11 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
} }
Map<String, Object> map = new HashedMap<>(); Map<String, Object> map = new HashedMap<>();
map.put("zoneId", zoneId); map.put("zoneId", zoneId);
String ids = null; List<Integer> branchCompanies = Lists.newArrayList();
if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据 if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据
if(StringUtils.isNotBlank(userDTO.getDataZone())) { //获取权限大区ID branchCompanies = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
if(userDTO.getDataZone().contains(",")) {
ids = userDTO.getDataZone();
} else {
ids = userDTO.getDataZone() + ",";
}
} else {
ids = userDTO.getZoneId() + ",";
}
String companyId = null;
if(Arrays.asList(ids.split(",")).contains(zoneId+"")) {//获取权限公司
if(StringUtils.isNotBlank(userDTO.getDataCompany())) {
if(userDTO.getDataCompany().contains(",")) {
companyId = userDTO.getDataCompany();
} else {
companyId = userDTO.getDataCompany() + ",";
}
} else {
companyId = userDTO.getCompanyId() + ",";
}
map.put("ids", companyId.split(","));
List<BranchCompany> list = mapper.selectByZoneId(map); //查询对应大区和公司的数据
return list;
} else {
return null;
}
} }
map.put("ids", null); map.put("ids", branchCompanies);
return mapper.selectByZoneId(map); return mapper.selectByZoneId(map);
} }
......
...@@ -5,7 +5,9 @@ import cn.hutool.core.bean.copier.CopyOptions; ...@@ -5,7 +5,9 @@ import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
...@@ -17,11 +19,18 @@ import com.google.common.collect.Lists; ...@@ -17,11 +19,18 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException; import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.*; import com.xxfc.platform.vehicle.constant.ConstantType;
import com.xxfc.platform.vehicle.constant.RedisKey;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.*; import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.feign.AdminInfoFeign; import com.xxfc.platform.vehicle.constant.VehicleStatus;
import com.xxfc.platform.vehicle.mapper.*; import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleBookInfo;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper;
import com.xxfc.platform.vehicle.mapper.VehicleBookInfoMapper;
import com.xxfc.platform.vehicle.mapper.VehicleMapper;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto; import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -55,11 +64,9 @@ import java.util.*; ...@@ -55,11 +64,9 @@ import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_FALSE;
@Service @Service
@Slf4j @Slf4j
public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserRestInterface {
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd"); public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd");
public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
...@@ -84,7 +91,13 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -84,7 +91,13 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
@Autowired @Autowired
private VehicleBookHourInfoBiz vehicleBookHourInfoBiz; private VehicleBookHourInfoBiz vehicleBookHourInfoBiz;
@Autowired @Autowired
AdminInfoFeign adminInfoFeign; UserFeign userFeign;
@Override
public UserFeign getUserFeign() {
return userFeign;
}
@Value("${vehicle.baseUploadPath}") @Value("${vehicle.baseUploadPath}")
private String baseUploadPath ; private String baseUploadPath ;
@Value("${vehicle.fristMileage}") @Value("${vehicle.fristMileage}")
...@@ -1266,38 +1279,29 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -1266,38 +1279,29 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
Integer limit = vehiclePlanDto.getLimit() == null ? 10 : vehiclePlanDto.getLimit(); Integer limit = vehiclePlanDto.getLimit() == null ? 10 : vehiclePlanDto.getLimit();
vehiclePlanDto.setPage(page); vehiclePlanDto.setPage(page);
vehiclePlanDto.setLimit(limit); vehiclePlanDto.setLimit(limit);
UserDTO userDTO = adminInfoFeign.getAdminUserInfo(); UserDTO userDTO = getAdminUserInfo();
if(userDTO == null) { if(userDTO == null) {
return ObjectRestResponse.createFailedResult(235, "token失效"); return ObjectRestResponse.createFailedResult(235, "token失效");
} }
List<String> zoneList = null; List<Integer> companyList = Lists.newArrayList();
List<String> companyList = null; List<BranchCompany> branchCompany = branchCompanyBiz.getListByUser(userDTO);
if(vehiclePlanDto.getZoneId() == null) { //默认查出所有权限内的数据 companyList = branchCompany.stream().map(BranchCompany::getId).collect(Collectors.toList());
if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据
String zoneId = null; if(vehiclePlanDto.getParkBranchCompanyId() != null) {
if(StringUtils.isNotBlank(userDTO.getDataZone())) { if(companyList.size() > 0) {
zoneId = userDTO.getDataZone(); if(companyList.contains(vehiclePlanDto.getParkBranchCompanyId())) {
companyList.clear();
companyList.add(vehiclePlanDto.getParkBranchCompanyId());
} else { } else {
zoneId = userDTO.getZoneId() + ","; return ObjectRestResponse.succ();
} }
zoneList = new ArrayList<>(Arrays.asList(zoneId.split(",")));
String companyId = null;
if(StringUtils.isNotBlank(userDTO.getDataCompany())) {
companyId = userDTO.getDataCompany();
} else { } else {
companyId = userDTO.getCompanyId() + ","; companyList.add(vehiclePlanDto.getParkBranchCompanyId());
}
companyList = new ArrayList<>(Arrays.asList(companyId.split(",")));
}
} }
if(vehiclePlanDto.getParkBranchCompanyId() != null) {
if (companyList == null) {
companyList = Lists.newArrayList();
}
companyList.add(vehiclePlanDto.getParkBranchCompanyId() + "");
} }
log.info("用户权限公司ID: companyList = {}", companyList);
vehiclePlanDto.setCompanyIds(companyList); vehiclePlanDto.setCompanyIds(companyList);
vehiclePlanDto.setZoneIds(zoneList);
Query query = new Query(vehiclePlanDto); Query query = new Query(vehiclePlanDto);
PageDataVO<VehicleAndModelInfoVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getVehicle(query.getSuper())); PageDataVO<VehicleAndModelInfoVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getVehicle(query.getSuper()));
return ObjectRestResponse.succ(pageDataVO); return ObjectRestResponse.succ(pageDataVO);
......
...@@ -18,8 +18,8 @@ import com.xxfc.platform.vehicle.constant.RedisKey; ...@@ -18,8 +18,8 @@ import com.xxfc.platform.vehicle.constant.RedisKey;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus; import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.entity.BookRecordAccItem; import com.xxfc.platform.vehicle.entity.BookRecordAccItem;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord; import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.feign.AdminInfoFeign;
import com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper; import com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper;
import com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper; import com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
...@@ -39,11 +39,11 @@ import org.springframework.stereotype.Service; ...@@ -39,11 +39,11 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_FALSE; import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_FALSE;
...@@ -65,6 +65,9 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -65,6 +65,9 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
@Autowired @Autowired
private BookRecordAccItemMapper bookRecordAccItemMapper; private BookRecordAccItemMapper bookRecordAccItemMapper;
@Autowired
BranchCompanyBiz branchCompanyBiz;
@Autowired @Autowired
UserFeign userFeign; UserFeign userFeign;
...@@ -106,37 +109,23 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -106,37 +109,23 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
if(userDTO == null) { if(userDTO == null) {
return RestResponse.codeAndMessage(235, "token失效"); return RestResponse.codeAndMessage(235, "token失效");
} }
vehicleBookRecordQueryVo.setUserCompany(userDTO.getCompanyId()); List<Integer> companyList = Lists.newArrayList();
if(vehicleBookRecordQueryVo.getZoneId() == null) { //默认查出所有权限内的数据
if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据 if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据
String zoneId = null; companyList = dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
if(StringUtils.isNotBlank(userDTO.getDataZone())) { if(vehicleBookRecordQueryVo.getCompanyId() != null) {
if(userDTO.getDataZone().contains(",")) { if(companyList.contains(vehicleBookRecordQueryVo.getCompanyId())) { //如果权限中有这个公司就允许查询, 否则就直接返回空
zoneId = userDTO.getDataZone(); companyList.clear();
} else { companyList.add(vehicleBookRecordQueryVo.getCompanyId());
zoneId = userDTO.getDataZone() + ",";
}
} else { } else {
zoneId = userDTO.getZoneId() + ","; return RestResponse.suc();
} }
vehicleBookRecordQueryVo.setZoneIds(Arrays.asList(zoneId.split(",")));
String companyId = null;
if(StringUtils.isNotBlank(userDTO.getDataCompany())) {
if(userDTO.getDataCompany().contains(",")) {
companyId = userDTO.getDataCompany();
} else {
companyId = userDTO.getDataCompany() + ",";
} }
} else { } else {
companyId = userDTO.getCompanyId() + ","; if(vehicleBookRecordQueryVo.getCompanyId() != null) {
} companyList.add(vehicleBookRecordQueryVo.getCompanyId());
vehicleBookRecordQueryVo.setCompanyIds(Arrays.asList(companyId.split(",")));
} }
} else {
vehicleBookRecordQueryVo.setZoneIds(Arrays.asList((vehicleBookRecordQueryVo.getZoneId() + ",").split(",")));
vehicleBookRecordQueryVo.setCompanyIds(Arrays.asList((vehicleBookRecordQueryVo.getLiftCompany() + ",").split(",")));
} }
vehicleBookRecordQueryVo.getCompanyIds().add(vehicleBookRecordQueryVo.getCompanyId() + ""); vehicleBookRecordQueryVo.setCompanyIds(companyList);
Query query = new Query(vehicleBookRecordQueryVo); Query query = new Query(vehicleBookRecordQueryVo);
PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper())); PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper()));
return RestResponse.suc(pageDataVO); return RestResponse.suc(pageDataVO);
...@@ -153,41 +142,24 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -153,41 +142,24 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
return RestResponse.codeAndMessage(235, "token失效"); return RestResponse.codeAndMessage(235, "token失效");
} }
vehicleBookRecordQueryVo.setUserCompany(userDTO.getCompanyId()); vehicleBookRecordQueryVo.setUserCompany(userDTO.getCompanyId());
if(vehicleBookRecordQueryVo.getZoneId() == null) { //默认查出所有权限内的数据 List<Integer> companyList = Lists.newArrayList();
if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据 if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据
String zoneId = null; companyList = dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
if(StringUtils.isNotBlank(userDTO.getDataZone())) { if(vehicleBookRecordQueryVo.getCompanyId() != null) {
if(userDTO.getDataZone().contains(",")) { if(companyList.contains(vehicleBookRecordQueryVo.getCompanyId())) { //如果权限中有这个公司就允许查询, 否则就直接返回空
zoneId = userDTO.getDataZone(); companyList.clear();
} else { companyList.add(vehicleBookRecordQueryVo.getCompanyId());
zoneId = userDTO.getDataZone() + ",";
}
} else {
zoneId = userDTO.getZoneId() + ",";
}
vehicleBookRecordQueryVo.setZoneIds(Arrays.asList(zoneId.split(",")));
String companyId = null;
if(StringUtils.isNotBlank(userDTO.getDataCompany())) {
if(userDTO.getDataCompany().contains(",")) {
companyId = userDTO.getDataCompany();
} else {
companyId = userDTO.getDataCompany() + ",";
}
} else { } else {
companyId = userDTO.getCompanyId() + ","; return RestResponse.suc();
} }
vehicleBookRecordQueryVo.setCompanyIds(Arrays.asList(companyId.split(",")));
} }
} else { } else {
vehicleBookRecordQueryVo.setZoneIds(Arrays.asList((vehicleBookRecordQueryVo.getZoneId() + ",").split(",")));
vehicleBookRecordQueryVo.setCompanyIds(Arrays.asList((vehicleBookRecordQueryVo.getLiftCompany() + ",").split(",")));
}
if(vehicleBookRecordQueryVo.getCompanyId() != null) { if(vehicleBookRecordQueryVo.getCompanyId() != null) {
if(vehicleBookRecordQueryVo.getCompanyIds() == null) { companyList.add(vehicleBookRecordQueryVo.getCompanyId());
vehicleBookRecordQueryVo.setCompanyIds(new ArrayList<>());
} }
vehicleBookRecordQueryVo.getCompanyIds().add(vehicleBookRecordQueryVo.getCompanyId() + "");
} }
vehicleBookRecordQueryVo.setCompanyIds(companyList);
Query query = new Query(vehicleBookRecordQueryVo); Query query = new Query(vehicleBookRecordQueryVo);
PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper())); PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper()));
return RestResponse.suc(pageDataVO); return RestResponse.suc(pageDataVO);
...@@ -494,6 +466,16 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -494,6 +466,16 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
private void createAccItemTbIfNotExists(String tbName){ private void createAccItemTbIfNotExists(String tbName){
bookRecordAccItemMapper.createTbIfNotExists(tbName); bookRecordAccItemMapper.createTbIfNotExists(tbName);
} }
public List<Integer> dataCompany(String dataZone, String dataCompany) {
List<BranchCompany> zoneCompanys = branchCompanyBiz.dataCompany(dataZone);
//((VehicleBiz)AopContext.currentProxy()).dataCompany(dataZone);
List<Integer> zoneCompanyIds = zoneCompanys.parallelStream().map(BranchCompany::getId).collect(Collectors.toList());
if(StringUtils.isNotBlank(dataCompany)) {
List<Integer> dataCompanyIds = Arrays.asList(dataCompany.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
zoneCompanyIds.addAll(dataCompanyIds);
}
//去重
return zoneCompanyIds.parallelStream().distinct().collect(Collectors.toList());
}
} }
...@@ -41,6 +41,7 @@ public class VehicleJobHandler extends IJobHandler { ...@@ -41,6 +41,7 @@ public class VehicleJobHandler extends IJobHandler {
int month = nowMonth + VehicleBookInfoBiz.MONTH_INTERVAL > 12 ? (VehicleBookInfoBiz.MONTH_INTERVAL + nowMonth) - 12 : nowMonth + VehicleBookInfoBiz.MONTH_INTERVAL; int month = nowMonth + VehicleBookInfoBiz.MONTH_INTERVAL > 12 ? (VehicleBookInfoBiz.MONTH_INTERVAL + nowMonth) - 12 : nowMonth + VehicleBookInfoBiz.MONTH_INTERVAL;
year = month > nowMonth ? year : year + 1; year = month > nowMonth ? year : year + 1;
String yearAndMonth = String.format("%d-%d", year, month); String yearAndMonth = String.format("%d-%d", year, month);
XxlJobLogger.log("----查询到的车型ids:【{}】",existVehicleIds);
if (CollectionUtils.isNotEmpty(existVehicleIds)) { if (CollectionUtils.isNotEmpty(existVehicleIds)) {
List<VehicleBookInfo> bookInfos = existVehicleIds.stream().map(vehicleId -> { List<VehicleBookInfo> bookInfos = existVehicleIds.stream().map(vehicleId -> {
VehicleBookInfo vehicleBookInfo = new VehicleBookInfo(); VehicleBookInfo vehicleBookInfo = new VehicleBookInfo();
...@@ -49,6 +50,7 @@ public class VehicleJobHandler extends IJobHandler { ...@@ -49,6 +50,7 @@ public class VehicleJobHandler extends IJobHandler {
return vehicleBookInfo; return vehicleBookInfo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
vehicleBookInfoBiz.InsertBatch(bookInfos); vehicleBookInfoBiz.InsertBatch(bookInfos);
XxlJobLogger.log("----插入车型对象:【{}】",bookInfos);
} }
ReturnT returnT = new ReturnT(); ReturnT returnT = new ReturnT();
returnT.setCode(100); returnT.setCode(100);
......
...@@ -12,6 +12,7 @@ import com.xxfc.platform.vehicle.entity.AccompanyingItem; ...@@ -12,6 +12,7 @@ import com.xxfc.platform.vehicle.entity.AccompanyingItem;
import com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem; import com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo; import com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo;
import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -71,4 +72,10 @@ public class AccompanyingItemController extends BaseController<AccompanyingItemB ...@@ -71,4 +72,10 @@ public class AccompanyingItemController extends BaseController<AccompanyingItemB
public RestResponse<Integer> del(@PathVariable Integer id) throws Exception{ public RestResponse<Integer> del(@PathVariable Integer id) throws Exception{
return baseBiz.del(id); return baseBiz.del(id);
} }
@GetMapping("/app/unauth/items")
public RestResponse<List<AccompanyingItemVo>> listAccompanyingItemVo(){
List<AccompanyingItemVo> accompanyingItemVos = baseBiz.listAllItem();
return RestResponse.codeAndData(RestResponse.SUC_CODE,accompanyingItemVos);
}
} }
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder> </encoder>
</appender> </appender>
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<select id="selectByZoneId" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.BranchCompany"> <select id="selectByZoneId" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.BranchCompany">
select * from branch_company select * from branch_company
where zone_id = #{zoneId} where zone_id = #{zoneId}
<if test="ids != null"> <if test="ids != null and ids.size > 0">
and id in and id in
<foreach collection="ids" item="id" open="(" separator="," close=")"> <foreach collection="ids" item="id" open="(" separator="," close=")">
#{id} #{id}
......
...@@ -387,7 +387,7 @@ ...@@ -387,7 +387,7 @@
LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id
<where> <where>
<if test="selectedMonth != null"> <if test="selectedMonth != null">
and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_start_date like CONCAT(#{selectedMonth}, "%")) and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_end_date like CONCAT(#{selectedMonth}, "%"))
</if> </if>
<if test="numberPlate != null"> <if test="numberPlate != null">
and v3.number_plate = #{numberPlate} and v3.number_plate = #{numberPlate}
...@@ -395,20 +395,14 @@ ...@@ -395,20 +395,14 @@
<if test="bookType != null"> <if test="bookType != null">
and v1.book_type = #{bookType} and v1.book_type = #{bookType}
</if> </if>
<if test="companyIds != null"> <if test="companyIds != null and companyIds.size > 0">
and v1.lift_company in and v1.lift_company 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="zoneIds != null"> and v1.status between 1 and 2 and v1.book_user != -2
and bc1.zone_id in
<foreach collection="zoneIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
and v1.status between 1 and 2
</where> </where>
order by create_time DESC order by create_time DESC
...@@ -425,7 +419,7 @@ ...@@ -425,7 +419,7 @@
LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id
<where> <where>
<if test="selectedMonth != null"> <if test="selectedMonth != null">
and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_start_date like CONCAT(#{selectedMonth}, "%")) and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_end_date like CONCAT(#{selectedMonth}, "%"))
</if> </if>
<if test="numberPlate != null"> <if test="numberPlate != null">
and v3.number_plate = #{numberPlate} and v3.number_plate = #{numberPlate}
...@@ -433,7 +427,7 @@ ...@@ -433,7 +427,7 @@
<if test="bookType != null"> <if test="bookType != null">
and v1.book_type = #{bookType} and v1.book_type = #{bookType}
</if> </if>
<if test="companyIds != null"> <if test="companyIds != null and companyIds.size > 0">
and (v1.lift_company in and (v1.lift_company in
<foreach collection="companyIds" item="id" open="(" separator="," close=")"> <foreach collection="companyIds" item="id" open="(" separator="," close=")">
#{id} #{id}
...@@ -443,15 +437,10 @@ ...@@ -443,15 +437,10 @@
#{id} #{id}
</foreach>) </foreach>)
</if> </if>
<if test="zoneIds != null">
and bc1.zone_id in
<foreach collection="zoneIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="status != null"> <if test="status != null">
and v1.status = #{status} and v1.status = #{status}
</if> </if>
and v1.book_user != -2
</where> </where>
group by v1.id group by v1.id
order by create_time DESC order by create_time DESC
......
...@@ -227,13 +227,13 @@ ...@@ -227,13 +227,13 @@
</foreach> </foreach>
</trim> </trim>
) )
or v.expect_destination_branch_company_id in ( <!--or v.expect_destination_branch_company_id in (
<trim suffixOverrides=","> <trim suffixOverrides=",">
<foreach collection="companyList" item="companyId"> <foreach collection="companyList" item="companyId">
#{companyId}, #{companyId},
</foreach> </foreach>
</trim> </trim>
) )-->
<!-- or v.subordinate_branch in (--> <!-- or v.subordinate_branch in (-->
<!-- <trim suffixOverrides=",">--> <!-- <trim suffixOverrides=",">-->
<!-- <foreach collection="companyList" item="companyId">--> <!-- <foreach collection="companyList" item="companyId">-->
...@@ -463,19 +463,21 @@ ...@@ -463,19 +463,21 @@
<if test="numberPlate != null"> <if test="numberPlate != null">
and v1.number_plate = #{numberPlate} and v1.number_plate = #{numberPlate}
</if> </if>
<if test="companyIds != null"> <if test="companyIds != null and companyIds.size > 0">
and v1.park_branch_company_id in and v1.park_branch_company_id 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="zoneIds != null"> <if test="zoneIds != null and zoneIds.size > 0">
and bc3.zone_id in and bc3.zone_id in
<foreach collection="zoneIds" item="id" open="(" separator="," close=")"> <foreach collection="zoneIds" item="id" open="(" separator="," close=")">
#{id} #{id}
</foreach> </foreach>
</if> </if>
and is_del != 1
</where> </where>
ORDER BY parkCompanyName
</select> </select>
<select id="countVehicleByParam" parameterType="com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto" <select id="countVehicleByParam" parameterType="com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto"
......
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