Commit 5fe11d9b authored by libin's avatar libin

Merge remote-tracking branch 'origin/dev' into dev

parents 9ad14d20 4da5b3c0
......@@ -4,6 +4,7 @@ import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.biz.*;
import com.github.wxiaoqi.security.admin.entity.*;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.admin.vo.AppUserGroups;
import com.github.wxiaoqi.security.admin.vo.AppUserInfoVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
......@@ -13,12 +14,14 @@ import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.feign.OrderFeign;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -32,13 +35,15 @@ import javax.ws.rs.GET;
import java.util.List;
import java.util.Map;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
/**
* @author keliii
*/
@RestController
@RequestMapping("app/user")
@Slf4j
public class AppUserController extends CommonBaseController {
public class AppUserController extends CommonBaseController{
@Autowired
AppUserBiz appUserBiz;
......@@ -148,7 +153,7 @@ public class AppUserController extends CommonBaseController {
UserMemberVo memberVo=userMemberBiz.getMemberInfoByUserId(userid);
if(memberVo!=null){
BeanUtils.copyProperties(userDTO,memberVo);
// userDTO.setPayCount(orderFeign.baseOrderEntityList(new BaseOrder()));
userDTO.setPayCount(orderFeign.baseOrderCount(SYS_TRUE, "1,4,5,6,7", null, userid).getData());
Integer level=memberVo.getMemberLevel();
BaseUserMemberLevel memberLevel=userMemberLevelBiz.getLevel(level);
if (memberLevel!=null){
......
......@@ -145,7 +145,8 @@ public class MsgBiz {
query.with(pageable);
query.with(new Sort(Sort.Direction.DESC, "time"));
List<Msg> msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), userId);
PageInfo<Msg> goodPageInfo = new PageInfo<>(msgList);
List<MsgVo> msgVoList = replaceMsgResult(msgList);
PageInfo<MsgVo> goodPageInfo = new PageInfo<>(msgVoList);
goodPageInfo.setPageSize(totalSize%limit == 0 ?totalSize/limit : totalSize/limit + 1);
return ObjectRestResponse.succ(goodPageInfo);
......
......@@ -17,8 +17,8 @@ import java.util.Set;
/**
* Created by ace on 2017/9/15.
*/
@FeignClient(name = "order")
@FeignClient(name = "xx-order")
public interface OrderFeign {
@GetMapping("/baseOrder/entityList")
public ObjectRestResponse<List<BaseOrder>> baseOrderEntityList(@RequestParam("entity") Map<String, Object> entity);
@GetMapping("/baseOrder/count")
public ObjectRestResponse<Integer> baseOrderCount(@RequestParam("hasMemberRight") Integer hasMemberRight, @RequestParam("multiStatus") String multiStatus, @RequestParam("multiTypes") String multiTypes, @RequestParam("userId") Integer userId);
}
......@@ -25,7 +25,8 @@ public class QueryOrderDTO extends PageParam {
"3--待付款\n" +
"4--待出行\n" +
"5--出行中(进行中)\n" +
"6--已完成")
"6--已完成"+
"7--定損中")
private Integer status;
private String multiStatus;
......
......@@ -372,6 +372,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
sendQueue(orderMQDTO, sign);
}
@Override
public void updateSelectiveById(BaseOrder entity) {
super.updateSelectiveById(entity);
}
/**
* 更新(不成功抛异常)
*
......
......@@ -8,15 +8,14 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Objects;
import static io.lettuce.core.ZStoreArgs.Builder.sum;
import static java.util.stream.Collectors.groupingBy;
/**
* @author Administrator
*/
@Service
public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper,OrderStatistics> {
public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStatistics> {
@Autowired
private DailyVehicleOrderStatisticsBiz vehicleBiz;
......@@ -32,20 +31,32 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper,OrderStati
ArrayList<OrderStatistics> orderStatistics = new ArrayList<>();
OrderStatistics vehicle = vehicleBiz.findAll(companyId);
if (vehicle!=null) {orderStatistics.add(vehicle);}
if (vehicle != null) {
orderStatistics.add(vehicle);
}
OrderStatistics tour = TravelBiz.findAll(companyId);
if (vehicle!=null) {orderStatistics.add(tour);}
if (vehicle != null) {
orderStatistics.add(tour);
}
OrderStatistics member = membersBiz.findAll(companyId);
if (vehicle!=null) {orderStatistics.add(member);}
result.setTotalGmv(orderStatistics.stream().map(OrderStatistics::getTotalGmv).reduce(BigDecimal.ZERO,BigDecimal::add));
result.setTotalForfeit(orderStatistics.stream().map(OrderStatistics::getTotalForfeit).reduce(BigDecimal.ZERO,BigDecimal::add));
result.setTotalCompensation(orderStatistics.stream().map(OrderStatistics::getTotalCompensation).reduce(BigDecimal.ZERO,BigDecimal::add));
result.setTotalRefundSecurityDeposit(orderStatistics.stream().map(OrderStatistics::getTotalRefundSecurityDeposit).reduce(BigDecimal.ZERO,BigDecimal::add));
result.setTotalSecurityDeposit(orderStatistics.stream().map(OrderStatistics::getTotalSecurityDeposit).reduce(BigDecimal.ZERO,BigDecimal::add));
result.setTotalPenalSum(orderStatistics.stream().map(OrderStatistics::getTotalPenalSum).reduce(BigDecimal.ZERO,BigDecimal::add));
result.setTotalPostpone(orderStatistics.stream().map(OrderStatistics::getTotalPostpone).reduce(BigDecimal.ZERO,BigDecimal::add));
if (vehicle != null) {
orderStatistics.add(member);
}
result.setTotalGmv(orderStatistics.stream().map(OrderStatistics::getTotalGmv).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalForfeit(orderStatistics.stream().map(OrderStatistics::getTotalForfeit).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalCompensation(orderStatistics.stream().map(OrderStatistics::getTotalCompensation).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalRefundSecurityDeposit(orderStatistics.stream().map(OrderStatistics::getTotalRefundSecurityDeposit).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalSecurityDeposit(orderStatistics.stream().map(OrderStatistics::getTotalSecurityDeposit).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalPenalSum(orderStatistics.stream().map(OrderStatistics::getTotalPenalSum).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalPostpone(orderStatistics.stream().map(OrderStatistics::getTotalPostpone).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
return result;
}
......
package com.xxfc.platform.order.rest;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
......@@ -48,12 +49,16 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
......@@ -155,12 +160,33 @@ public class BaseOrderController extends CommonBaseController implements UserRes
return new ObjectRestResponse<>().data(pages);
}
@ApiOperation("根据参数查询,等于")
@RequestMapping(value = "/entityList",method = RequestMethod.GET)
@ApiOperation("查询个数")
@RequestMapping(value = "/count",method = RequestMethod.GET)
@ResponseBody
public ObjectRestResponse<List<BaseOrder>> entityList(BaseOrder entity){
@IgnoreUserToken
public ObjectRestResponse<Integer> entityList(Integer hasMemberRight, String multiStatus, String multiTypes, Integer userId){
//查询列表数据
return ObjectRestResponse.succ(baseOrderBiz.selectList(entity));
WeekendSqls<BaseOrder> weekendSqls = WeekendSqls.<BaseOrder>custom();
if(null != hasMemberRight) {
weekendSqls.andEqualTo(BaseOrder::getHasMemberRight, hasMemberRight);
}
if(null != multiStatus) {
weekendSqls.andIn(BaseOrder::getStatus,
StrUtil.splitTrim(multiStatus, ",")
.parallelStream().map(v -> Integer.valueOf(v)).collect(Collectors.toList()));
}
if(null != multiTypes) {
weekendSqls.andIn(BaseOrder::getType,
StrUtil.splitTrim(multiTypes, ",")
.parallelStream().map(v -> Integer.valueOf(v)).collect(Collectors.toList()));
}
if(null != userId) {
weekendSqls.andEqualTo(BaseOrder::getUserId, userId);
}
// null;
return ObjectRestResponse.succ(baseOrderBiz
.selectCountByExample( new Example.Builder(BaseOrder.class)
.where(weekendSqls).build()));
}
@ApiOperation("订单详情")
......
......@@ -27,11 +27,11 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("orderStatistics")
@Api(description = "每月总的订单统计")
public class OrderStatisticsController extends BaseController<OrderStatisticsBiz, OrderStatistics> {
@Autowired
private UserFeign userFeign;
@Autowired
private UserFeign userFeign;
@Autowired
private UserAuthConfig userAuthConfig;
@Autowired
private UserAuthConfig userAuthConfig;
/**
* 租车订单
*/
......@@ -65,29 +65,39 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
@ApiOperation("获取订单统计数据")
@GetMapping("/findAll/{type}")
public ObjectRestResponse findAll(@PathVariable Integer type) {
ObjectRestResponse<UserDTO> userDTOObjectRestResponse = userFeign.userinfoByToken(userAuthConfig.getToken(getRequest()));
if (userDTOObjectRestResponse==null||userDTOObjectRestResponse.getData()==null) {
throw new BaseException("请登录!");
}
UserDTO user = userDTOObjectRestResponse.getData();
Integer companyId = user.getCompanyId();
if (TYEP_VEHICLE.equals(type)) {
OrderStatistics vehicle = vehicleBiz.findAll(companyId);
return ObjectRestResponse.succ(vehicle);
}
if (TYEP_TOUR.equals(type)) {
OrderStatistics tour = TravelBiz.findAll(companyId);
return ObjectRestResponse.succ(tour);
}
if (TYEP_MEMBER.equals(type)) {
OrderStatistics member = membersBiz.findAll(companyId);
return ObjectRestResponse.succ(member);
try {
ObjectRestResponse<UserDTO> userDTOObjectRestResponse
= userFeign.userinfoByToken(userAuthConfig.getToken(getRequest()));
if (userDTOObjectRestResponse == null || userDTOObjectRestResponse.getData() == null) {
throw new BaseException("请登录!");
}
UserDTO user = userDTOObjectRestResponse.getData();
Integer companyId = user.getCompanyId();
if (TYEP_VEHICLE.equals(type)) {
OrderStatistics vehicle = vehicleBiz.findAll(companyId);
return ObjectRestResponse.succ(vehicle);
}
if (TYEP_TOUR.equals(type)) {
OrderStatistics tour = TravelBiz.findAll(companyId);
return ObjectRestResponse.succ(tour);
}
if (TYEP_MEMBER.equals(type)) {
OrderStatistics member = membersBiz.findAll(companyId);
return ObjectRestResponse.succ(member);
}
if (TYEP_TOTAL.equals(type)) {
return ObjectRestResponse.succ(baseBiz.getToalOrder(companyId));
}
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "参数错误!");
} catch (Exception e) {
e.printStackTrace();
return ObjectRestResponse.createDefaultFail();
}
if (TYEP_TOTAL.equals(type)){
baseBiz.getToalOrder(companyId);
}
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"参数为空!");
}
}
......@@ -17,10 +17,9 @@
<select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics">
SELECT
IFNULL(sum(gmv),0) as totalGmv
FROM
daily_travel_order_statistics
daily_members_order_statistics
WHERE
branch_company_id =#{companyId}
and
......
......@@ -42,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
......@@ -175,13 +176,34 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
}
}
vehicleBookRecordQueryVo.setCompanyIds(companyList);
if(vehicleBookRecordQueryVo.getStatus() != null && vehicleBookRecordQueryVo.getStatus() == 2) {
Query query2 = new Query(vehicleBookRecordQueryVo);
List<VehicleBookRecordVo> list = mapper.getBookRecordInfo(query2.getSuper());
removeStatus2(list);
PageHelper.startPage(pageNo, pageSize);
PageInfo<VehicleBookRecordVo> vehicleBookRecordVoPageInfo = new PageInfo<>(list);
getupKeeps(vehicleBookRecordVoPageInfo.getList());
return RestResponse.suc(PageDataVO.pageInfo(vehicleBookRecordVoPageInfo));
}
Query query = new Query(vehicleBookRecordQueryVo);
PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper()));
getupKeeps(pageDataVO.getData());
return RestResponse.suc(pageDataVO);
}
public List<VehicleBookRecordVo> getupKeeps(List<VehicleBookRecordVo> vehicleBookRecordVos) {
public void removeStatus2(List<VehicleBookRecordVo> list) {
Iterator<VehicleBookRecordVo> iterator = list.iterator();
while (iterator.hasNext()) {
if(iterator.next().getVehicleDepartureLogVo() != null) {
iterator.remove();
}
}
}
/**
* 获取随身物品
*/
public List<VehicleBookRecordVo> getupKeeps(List<VehicleBookRecordVo> vehicleBookRecordVos) {
for(VehicleBookRecordVo vehicleBookRecordVo : vehicleBookRecordVos) {
if(vehicleBookRecordVo.getBookType() == BookType.MAINTAIN.getCode()) {//获取 保养项目
if(StringUtils.isNotBlank(vehicleBookRecordVo.getUpkeepIds())) {
......
......@@ -500,7 +500,7 @@
<select id="searchUsableModel" parameterType="java.util.Map"
resultMap="searchUsableModelMap">
select distinct vm.id as model_id, bc.id as company_id
(select distinct vm.id as model_id, bc.id as company_id
<if test=" catas != null ">
,GROUP_CONCAT(vc.cata_id) as catas
</if>
......@@ -540,7 +540,33 @@
</foreach>
) > 0
</if>
)
<!-- union 所有车型 -->
<if test="startCompanyId != null or parkBranchCompanyId != null ">
union
(select vm.id as model_id, bc.id as company_id
<if test=" catas != null ">
,null as catas
</if>
<if test=" yearMonthAndParam !=null and yearNo4Where != null and yearNo4Where == true">
,0 as hasVehicle
</if>
<if test="lon != null and lat != null">
<!-- 处理距离 -->
,st_distance_sphere(point(#{lon}, #{lat}), point(bc.longitude, bc.latitude)) as distance
</if>
from vehicle_model vm
left join branch_company bc on
<choose>
<when test="startCompanyId != null">
bc.id = #{startCompanyId}
</when>
<otherwise>
bc.id = #{parkBranchCompanyId}
</otherwise>
</choose>
where vm.isdel = 0 and vm.status = 0)
</if>
<if test="lon != null and lat != null">
order by
<if test=" yearMonthAndParam !=null and yearNo4Where != null and yearNo4Where == true">
......
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