Commit 9643b1d7 authored by hezhen's avatar hezhen

Merge branch 'dev' of http://113.105.137.151:22280/youjj/cloud-platform into dev

parents 00fa940e 95c80475
...@@ -10,4 +10,5 @@ ace-modules/ace-tool/src/main/resources/application-dev.yml ...@@ -10,4 +10,5 @@ ace-modules/ace-tool/src/main/resources/application-dev.yml
src/main/test/** src/main/test/**
logs/** logs/**
xx-order/xx-order-server/logs/** xx-order/xx-order-server/logs/**
*.log
package com.github.wxiaoqi.security.admin.dto; package com.github.wxiaoqi.security.admin.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
import java.util.Set; import java.util.Set;
/** /**
...@@ -49,6 +45,11 @@ public class AppUserManageDTO { ...@@ -49,6 +45,11 @@ public class AppUserManageDTO {
private Long registrationTimeEnd; private Long registrationTimeEnd;
/**
* 身份标识 0:除普通用户外 1:与1相反
*/
private Integer postionState;
/** /**
* 用户来源:0-自来,1-用户邀请 * 用户来源:0-自来,1-用户邀请
*/ */
......
...@@ -166,4 +166,9 @@ public class AppUserManageVo { ...@@ -166,4 +166,9 @@ public class AppUserManageVo {
* 邀请人用户名 * 邀请人用户名
*/ */
private String inviter; private String inviter;
/**
* 身份信息
*/
private String positionName;
} }
...@@ -5,6 +5,7 @@ import com.ace.cache.annotation.CacheClear; ...@@ -5,6 +5,7 @@ import com.ace.cache.annotation.CacheClear;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail; import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.mapper.AppUserDetailMapper; import com.github.wxiaoqi.security.admin.mapper.AppUserDetailMapper;
import com.github.wxiaoqi.security.admin.rpc.service.AppPermissionService; import com.github.wxiaoqi.security.admin.rpc.service.AppPermissionService;
import com.github.wxiaoqi.security.admin.vo.AppUserInfoVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
...@@ -128,4 +129,19 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail ...@@ -128,4 +129,19 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
public void updateUserPositionByUserId(Integer userId, Integer positionId) { public void updateUserPositionByUserId(Integer userId, Integer positionId) {
mapper.updateUserPositionByUserId(userId,positionId); mapper.updateUserPositionByUserId(userId,positionId);
} }
public AppUserInfoVo findUserInfoByCode(String code) {
AppUserInfoVo appUserInfoVo = new AppUserInfoVo();
AppUserDetail appUserDetail = new AppUserDetail();
appUserDetail.setCode(code);
AppUserDetail userDetail = mapper.selectOne(appUserDetail);
if (userDetail==null){
return appUserInfoVo;
}
appUserInfoVo.setHeadimgurl(userDetail.getHeadimgurl());
appUserInfoVo.setNickname(userDetail.getNickname());
return appUserInfoVo;
}
} }
...@@ -348,7 +348,8 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A ...@@ -348,7 +348,8 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A
public void deleteByMemberIds(Collection<Integer> userIds) { public void deleteByMemberIds(Collection<Integer> userIds) {
Example example = new Example(AppUserSellingWater.class); Example example = new Example(AppUserSellingWater.class);
Example.Criteria criteria = example.createCriteria(); Example.Criteria criteria = example.createCriteria();
criteria.andIn("sourceId",userIds); criteria.orIn("sourceId",userIds);
criteria.orIn("userId",userIds);
mapper.deleteByExample(example); mapper.deleteByExample(example);
} }
} }
\ No newline at end of file
...@@ -46,6 +46,10 @@ public class UserBusinessBiz { ...@@ -46,6 +46,10 @@ public class UserBusinessBiz {
List<AppUserRelation> teamMemberBos = memberPage.getData(); List<AppUserRelation> teamMemberBos = memberPage.getData();
if (CollectionUtils.isEmpty(teamMemberBos)) { if (CollectionUtils.isEmpty(teamMemberBos)) {
userTeamMemberVo.setPageNum(pageNo);
userTeamMemberVo.setPageSize(pageSize);
userTeamMemberVo.setTotalIncome(new BigDecimal(0));
userTeamMemberVo.setUserTeamMemberBos(Collections.EMPTY_LIST);
return userTeamMemberVo; return userTeamMemberVo;
} }
......
...@@ -4,18 +4,24 @@ import com.ace.cache.annotation.Cache; ...@@ -4,18 +4,24 @@ import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.biz.*; import com.github.wxiaoqi.security.admin.biz.*;
import com.github.wxiaoqi.security.admin.entity.*; import com.github.wxiaoqi.security.admin.entity.*;
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.admin.vo.AppUserGroups; import com.github.wxiaoqi.security.admin.vo.AppUserGroups;
import com.github.wxiaoqi.security.admin.vo.AppUserInfoVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo; import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
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.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil; import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo; 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.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse; import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.rest.CommonBaseController; import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.Query; import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.feign.OrderFeign; import com.xxfc.platform.order.feign.OrderFeign;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -29,13 +35,15 @@ import javax.ws.rs.GET; ...@@ -29,13 +35,15 @@ import javax.ws.rs.GET;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
/** /**
* @author keliii * @author keliii
*/ */
@RestController @RestController
@RequestMapping("app/user") @RequestMapping("app/user")
@Slf4j @Slf4j
public class AppUserController extends CommonBaseController { public class AppUserController extends CommonBaseController{
@Autowired @Autowired
AppUserBiz appUserBiz; AppUserBiz appUserBiz;
...@@ -145,7 +153,7 @@ public class AppUserController extends CommonBaseController { ...@@ -145,7 +153,7 @@ public class AppUserController extends CommonBaseController {
UserMemberVo memberVo=userMemberBiz.getMemberInfoByUserId(userid); UserMemberVo memberVo=userMemberBiz.getMemberInfoByUserId(userid);
if(memberVo!=null){ if(memberVo!=null){
BeanUtils.copyProperties(userDTO,memberVo); 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(); Integer level=memberVo.getMemberLevel();
BaseUserMemberLevel memberLevel=userMemberLevelBiz.getLevel(level); BaseUserMemberLevel memberLevel=userMemberLevelBiz.getLevel(level);
if (memberLevel!=null){ if (memberLevel!=null){
...@@ -269,4 +277,12 @@ public class AppUserController extends CommonBaseController { ...@@ -269,4 +277,12 @@ public class AppUserController extends CommonBaseController {
Map<String, Integer> findAppusersByUserNames(@RequestParam(value = "phones") List<String> phones){ Map<String, Integer> findAppusersByUserNames(@RequestParam(value = "phones") List<String> phones){
return appUserLoginBiz.findPhoneAndUserIdMapByPhones(phones); return appUserLoginBiz.findPhoneAndUserIdMapByPhones(phones);
} }
@GetMapping("/app/unauth/user_info/{code}")
@IgnoreUserToken
@IgnoreClientToken
public ObjectRestResponse<AppUserInfoVo> findUserInfoByCode(@PathVariable("code") String code){
AppUserInfoVo appUserInfoVo = userDetailBiz.findUserInfoByCode(code);
return ObjectRestResponse.succ(appUserInfoVo);
}
} }
...@@ -70,11 +70,21 @@ ...@@ -70,11 +70,21 @@
m.crt_time as timeOfMembership, m.crt_time as timeOfMembership,
m.recent_recharge as recentRecharge, m.recent_recharge as recentRecharge,
m.name as memberName, m.name as memberName,
ul.username as inviter ul.username as inviter,
aup.name as `positionName`
from from
app_user_login l app_user_login l
left join inner join
app_user_detail d (select * from app_user_detail where 1=1 <if test="postionState != null">
<choose>
<when test="postionState == 0">
and `position_id`=#{postionState}
</when>
<otherwise>
and <![CDATA[`position_id`<>#{postionState}]]>
</otherwise>
</choose>
</if>) d
on on
d.userid = l.id d.userid = l.id
left join left join
...@@ -95,6 +105,9 @@ ...@@ -95,6 +105,9 @@
) m ) m
on on
l.id = m.user_id l.id = m.user_id
left join
`app_user_position` as aup
on aup.id = d.position_id
where l.isdel = 0 where l.isdel = 0
<if test="mobile !=null and mobile !='' "> <if test="mobile !=null and mobile !='' ">
and l.username like CONCAT('%',#{mobile},'%') and l.username like CONCAT('%',#{mobile},'%')
...@@ -119,7 +132,6 @@ ...@@ -119,7 +132,6 @@
and d.source = #{source} and d.source = #{source}
</if> </if>
order by l.id ASC order by l.id ASC
</select> </select>
<update id="updateUserMemberStatusByUserId"> <update id="updateUserMemberStatusByUserId">
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<result column="last_time" property="lastTime" jdbcType="BIGINT" /> <result column="last_time" property="lastTime" jdbcType="BIGINT" />
</resultMap> </resultMap>
<select id="Id" parameterType="java.lang.Integer" resultType="com.xxfc.platform.activity.entity.IntegralSignRecord"> <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.xxfc.platform.activity.entity.IntegralSignRecord">
select * from integral_sign_record select * from integral_sign_record
where user_id = #{userId} and isdel = 0 where user_id = #{userId} and isdel = 0
order by last_time order by last_time
......
...@@ -89,4 +89,10 @@ public class BuyVehicleForm implements Serializable { ...@@ -89,4 +89,10 @@ public class BuyVehicleForm implements Serializable {
@Column(name = "user_id") @Column(name = "user_id")
@ApiModelProperty(value = "用户id") @ApiModelProperty(value = "用户id")
private Integer userId; private Integer userId;
/**
* 0未处理 1已处理
*/
@Column(name = "status")
private Integer status;
} }
package com.xxfc.platform.app.entity.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/9 16:25
*/
@Data
public class BuyVehicleFormFindDTO extends PageParam {
private Long startTime;
private Long endTime;
private Integer companyId;
private Integer areaId;
private Integer status;
}
package com.xxfc.platform.app.entity.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/9 15:36
*/
@Data
public class BuyVehicleFormPageVo {
/**
* 主键
*/
@ApiModelProperty("主键")
private Integer id;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
/**
* 车型id
*/
@ApiModelProperty(value = "车型id")
private Integer modelId;
/**
* 联系人名称
*/
@ApiModelProperty(value = "联系人名称")
private String contactName;
/**
* 联系人电话
*/
@ApiModelProperty(value = "联系人电话")
private String contactPhone;
/**
* 预约时间
*/
@ApiModelProperty(value = "预约时间")
private Long bookTime;
/**
* 公司
*/
@ApiModelProperty(value = "公司")
private String companyName;
/**
* 0未处理 1已处理
*/
private Integer status;
/**
* 负责人
*/
private String leaderName;
/**
* 负责人电话
*/
private String leaderPhone;
}
package com.xxfc.platform.app.biz; package com.xxfc.platform.app.biz;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.app.entity.dto.BuyVehicleFormFindDTO;
import com.xxfc.platform.app.entity.vo.BuyVehicleFormPageVo;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xxfc.platform.app.entity.BuyVehicleForm; import com.xxfc.platform.app.entity.BuyVehicleForm;
import com.xxfc.platform.app.mapper.BuyVehicleFormMapper; import com.xxfc.platform.app.mapper.BuyVehicleFormMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* 购房车提交表单 * 购房车提交表单
* *
...@@ -14,5 +27,67 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz; ...@@ -14,5 +27,67 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
* @date 2019-07-09 19:39:47 * @date 2019-07-09 19:39:47
*/ */
@Service @Service
public class BuyVehicleFormBiz extends BaseBiz<BuyVehicleFormMapper,BuyVehicleForm> { public class BuyVehicleFormBiz extends BaseBiz<BuyVehicleFormMapper, BuyVehicleForm> {
@Autowired
private VehicleFeign vehicleFeign;
@Autowired
private UserFeign userFeign;
public PageDataVO<BuyVehicleFormPageVo> findBuyVehicleFormWithPage(BuyVehicleFormFindDTO buyVehicleFormFindDTO) {
PageDataVO<BuyVehicleFormPageVo> buyVehicleFormPage = new PageDataVO<>();
List<Integer> cpyIds = new ArrayList<>();
if(Objects.nonNull(buyVehicleFormFindDTO.getAreaId())){
List<Integer> companyIds = vehicleFeign.findCompanyIdsByAreaId(buyVehicleFormFindDTO.getAreaId());
if (Objects.isNull(buyVehicleFormFindDTO.getCompanyId())){
cpyIds.addAll(companyIds);
}else {
boolean flag = companyIds.contains(buyVehicleFormFindDTO.getCompanyId());
if (flag){
cpyIds.add(buyVehicleFormFindDTO.getCompanyId());
}else {
return buyVehicleFormPage;
}
}
}else {
if (Objects.nonNull(buyVehicleFormFindDTO.getCompanyId())){
cpyIds.add(buyVehicleFormFindDTO.getCompanyId());
}
}
PageDataVO<BuyVehicleForm> pageDataVO = PageDataVO.pageInfo(buyVehicleFormFindDTO.getPage(),buyVehicleFormFindDTO.getLimit(),()->mapper.findBuyVehicleForms(buyVehicleFormFindDTO, cpyIds));
List<BuyVehicleForm> data = pageDataVO.getData();
if (CollectionUtils.isEmpty(data)){
return buyVehicleFormPage;
}
List<Integer> companyIds = data.stream().map(BuyVehicleForm::getCompanyId).collect(Collectors.toList());
Map<Integer, BranComanyLeaderVo> comanyLeaderVoMap = vehicleFeign.findCompanyLeaderMapByIds(companyIds);
List<BuyVehicleFormPageVo> buyVehicleFormPageVoList = new ArrayList<>();
BuyVehicleFormPageVo buyVehicleFormPageVo;
for (BuyVehicleForm buyVehicleForm : data) {
buyVehicleFormPageVo = new BuyVehicleFormPageVo();
BeanUtils.copyProperties(buyVehicleForm,buyVehicleFormPageVo);
if(comanyLeaderVoMap!=null) {
BranComanyLeaderVo branComanyLeaderVo = comanyLeaderVoMap.get(buyVehicleForm.getCompanyId());
buyVehicleFormPageVo.setLeaderName(branComanyLeaderVo == null ? "" : branComanyLeaderVo.getLeader());
buyVehicleFormPageVo.setLeaderPhone(branComanyLeaderVo == null ? "" : branComanyLeaderVo.getLeaderContactInfo());
buyVehicleFormPageVo.setCompanyName(branComanyLeaderVo == null ? "" : branComanyLeaderVo.getName());
}
buyVehicleFormPageVoList.add(buyVehicleFormPageVo);
}
buyVehicleFormPage.setData(buyVehicleFormPageVoList);
buyVehicleFormPage.setPageSize(pageDataVO.getPageSize());
buyVehicleFormPage.setPageNum(pageDataVO.getPageNum());
buyVehicleFormPage.setTotalPage(pageDataVO.getTotalPage());
buyVehicleFormPage.setTotalCount(pageDataVO.getTotalCount());
return buyVehicleFormPage;
}
public void processApplyStatusById(Integer id) {
mapper.updateApplyStatusById(id);
}
} }
\ No newline at end of file
package com.xxfc.platform.app.mapper; package com.xxfc.platform.app.mapper;
import com.xxfc.platform.app.entity.BuyVehicleForm; import com.xxfc.platform.app.entity.BuyVehicleForm;
import com.xxfc.platform.app.entity.dto.BuyVehicleFormFindDTO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/** /**
* 购房车提交表单 * 购房车提交表单
* *
...@@ -12,4 +16,7 @@ import tk.mybatis.mapper.common.Mapper; ...@@ -12,4 +16,7 @@ import tk.mybatis.mapper.common.Mapper;
*/ */
public interface BuyVehicleFormMapper extends Mapper<BuyVehicleForm> { public interface BuyVehicleFormMapper extends Mapper<BuyVehicleForm> {
List<BuyVehicleForm> findBuyVehicleForms(@Param("bvf") BuyVehicleFormFindDTO buyVehicleFormFindDTO,@Param("companyIds") List<Integer> companyIds);
void updateApplyStatusById(Integer id);
} }
package com.xxfc.platform.app.rest.admin; package com.xxfc.platform.app.rest.admin;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.app.biz.BuyVehicleFormBiz; import com.xxfc.platform.app.biz.BuyVehicleFormBiz;
import com.xxfc.platform.app.entity.dto.BuyVehicleFormFindDTO;
import com.xxfc.platform.app.entity.vo.BuyVehicleFormPageVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*;
/** /**
* @author libin * @author libin
...@@ -11,8 +15,21 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -11,8 +15,21 @@ import org.springframework.web.bind.annotation.RestController;
* @data 2019/8/9 13:55 * @data 2019/8/9 13:55
*/ */
@RestController @RestController
@RequestMapping("admin/buy_vehicle")
public class BuyVehicleFormAdminController { public class BuyVehicleFormAdminController {
@Autowired @Autowired
private BuyVehicleFormBiz vehicleFormBiz; private BuyVehicleFormBiz vehicleFormBiz;
@PostMapping("/page")
public ObjectRestResponse<BuyVehicleFormPageVo> findBuyVehicleFormWithPage(@RequestBody BuyVehicleFormFindDTO buyVehicleFormFindDTO){
PageDataVO<BuyVehicleFormPageVo> pageDataVO = vehicleFormBiz.findBuyVehicleFormWithPage(buyVehicleFormFindDTO);
return ObjectRestResponse.succ(pageDataVO);
}
@PostMapping("/status/{id}")
public ObjectRestResponse<Void> processApplyById(@PathVariable(value = "id") Integer id){
vehicleFormBiz.processApplyStatusById(id);
return ObjectRestResponse.succ();
}
} }
...@@ -8,13 +8,42 @@ ...@@ -8,13 +8,42 @@
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="crtTime" column="crt_time"/> <result property="crtTime" column="crt_time"/>
<result property="updTime" column="upd_time"/> <result property="updTime" column="upd_time"/>
<result property="name" column="name"/>
<result property="modelId" column="model_id"/> <result property="modelId" column="model_id"/>
<result property="contactName" column="contact_name"/> <result property="contactName" column="contact_name"/>
<result property="contactPhone" column="contact_phone"/> <result property="contactPhone" column="contact_phone"/>
<result property="bookTime" column="book_time"/> <result property="bookTime" column="book_time"/>
<result property="companyId" column="company_id"/> <result property="companyId" column="company_id"/>
<result property="remark" column="remark"/> <result property="remark" column="remark"/>
<result property="status" column="status"/>
</resultMap> </resultMap>
<select id="findBuyVehicleForms" resultMap="buyVehicleFormMap">
select * from `buy_vehicle_form` where 1=1
<if test="bvf.startTime != null and bvf.endTime !=null">
and `book_time` between #{bvf.startTime} and #{bvf.endTime}
</if>
<if test="bvf.startTime != null and bvf.endTime == null">
and `book_time`>= #{bvf.startTime}
</if>
<if test="bvf.endTime != null and bvf.startTime == null">
and <![CDATA[ `book_time`<= #{bvf.endTime}]]>
</if>
<if test="bvf.areaId != null || bvf.companyId !=null">
<if test="companyIds != null and companyIds.size() != 0">
and `company_id` in
<foreach collection="companyIds" item="cpyId" close=")" open="(" separator=",">
#{cpyId}
</foreach>
</if>
</if>
<if test="bvf.status != null">
and `status`=#{bvf.status}
</if>
order by `book_time` desc
</select>
<update id="updateApplyStatusById">
update `buy_vehicle_form` set `status`=1 where `id`=#{id}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -162,4 +162,7 @@ public class CampsiteShopAdminDTO { ...@@ -162,4 +162,7 @@ public class CampsiteShopAdminDTO {
*/ */
private List<Integer> campsiteTagDTOS; private List<Integer> campsiteTagDTOS;
@ApiModelProperty(value = "海报背景")
private String posterBackground;
} }
...@@ -68,4 +68,9 @@ public class CampsiteShopDetailDTO { ...@@ -68,4 +68,9 @@ public class CampsiteShopDetailDTO {
@ApiModelProperty(value = "电话") @ApiModelProperty(value = "电话")
private String phone; private String phone;
/**
* 店铺logo
*/
private String logo;
} }
...@@ -209,4 +209,8 @@ public class CampsiteShop implements Serializable { ...@@ -209,4 +209,8 @@ public class CampsiteShop implements Serializable {
@Column(name = "sale_state") @Column(name = "sale_state")
@ApiModelProperty(value = "上下架状态 0-创建状态 1-上架 2-下架") @ApiModelProperty(value = "上下架状态 0-创建状态 1-上架 2-下架")
private Integer saleState; private Integer saleState;
@Column(name = "poster_background")
@ApiModelProperty(value = "海报背景")
private String posterBackground;
} }
...@@ -92,4 +92,9 @@ public class CampsiteShopDetailVo { ...@@ -92,4 +92,9 @@ public class CampsiteShopDetailVo {
@ApiModelProperty(value = "電話") @ApiModelProperty(value = "電話")
private String phone; private String phone;
/**
* 店铺logo
*/
private String logo;
} }
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
<!--根据id查询详情--> <!--根据id查询详情-->
<select id="findCampsiteShopDetailById" resultType="com.xxfc.platform.campsite.dto.CampsiteShopDetailDTO"> <select id="findCampsiteShopDetailById" resultType="com.xxfc.platform.campsite.dto.CampsiteShopDetailDTO">
select `name` as `name`,`province_name` as `provinceName`,`city_name` as `cityName`,`address` as `address`,`service_phone` as `phone`, select `name` as `name`,`province_name` as `provinceName`,`city_name` as `cityName`,`address` as `address`,`service_phone` as `phone`,`logo` as `logo`,
`content` as `content`,`configure` as `configure`,`longitude` as `longitude`,`latitude` as `latitude` from `campsite_shop` where `id`=#{id} `content` as `content`,`configure` as `configure`,`longitude` as `longitude`,`latitude` as `latitude` from `campsite_shop` where `id`=#{id}
</select> </select>
......
...@@ -145,7 +145,8 @@ public class MsgBiz { ...@@ -145,7 +145,8 @@ public class MsgBiz {
query.with(pageable); query.with(pageable);
query.with(new Sort(Sort.Direction.DESC, "time")); query.with(new Sort(Sort.Direction.DESC, "time"));
List<Msg> msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), userId); 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); goodPageInfo.setPageSize(totalSize%limit == 0 ?totalSize/limit : totalSize/limit + 1);
return ObjectRestResponse.succ(goodPageInfo); return ObjectRestResponse.succ(goodPageInfo);
......
...@@ -14,11 +14,7 @@ import java.math.BigDecimal; ...@@ -14,11 +14,7 @@ import java.math.BigDecimal;
@Data @Data
@ApiModel(value = "月订单统计实体") @ApiModel(value = "月订单统计实体")
public class OrderStatistics { public class OrderStatistics {
/**
* 公司id
*/
@ApiModelProperty(value = "公司id")
private Integer branchCompanyId;
/** /**
* 月成交总金额 * 月成交总金额
*/ */
......
...@@ -17,8 +17,8 @@ import java.util.Set; ...@@ -17,8 +17,8 @@ import java.util.Set;
/** /**
* Created by ace on 2017/9/15. * Created by ace on 2017/9/15.
*/ */
@FeignClient(name = "order") @FeignClient(name = "xx-order")
public interface OrderFeign { public interface OrderFeign {
@GetMapping("/baseOrder/entityList") @GetMapping("/baseOrder/count")
public ObjectRestResponse<List<BaseOrder>> baseOrderEntityList(@RequestParam("entity") Map<String, Object> entity); 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 { ...@@ -25,7 +25,8 @@ public class QueryOrderDTO extends PageParam {
"3--待付款\n" + "3--待付款\n" +
"4--待出行\n" + "4--待出行\n" +
"5--出行中(进行中)\n" + "5--出行中(进行中)\n" +
"6--已完成") "6--已完成"+
"7--定損中")
private Integer status; private Integer status;
private String multiStatus; private String multiStatus;
......
...@@ -372,6 +372,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -372,6 +372,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
sendQueue(orderMQDTO, sign); sendQueue(orderMQDTO, sign);
} }
@Override
public void updateSelectiveById(BaseOrder entity) {
super.updateSelectiveById(entity);
}
/** /**
* 更新(不成功抛异常) * 更新(不成功抛异常)
* *
......
...@@ -11,6 +11,7 @@ import org.apache.commons.beanutils.BeanUtils; ...@@ -11,6 +11,7 @@ import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils; 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 org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
...@@ -43,6 +44,7 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta ...@@ -43,6 +44,7 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
} }
return true; return true;
} catch (Exception e) { } catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
e.printStackTrace(); e.printStackTrace();
return false; return false;
} }
......
...@@ -3,10 +3,62 @@ package com.xxfc.platform.order.biz; ...@@ -3,10 +3,62 @@ package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.entity.OrderStatistics; import com.xxfc.platform.order.entity.OrderStatistics;
import com.xxfc.platform.order.mapper.OrderStatisticsMapper; import com.xxfc.platform.order.mapper.OrderStatisticsMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Objects;
/** /**
* @author Administrator * @author Administrator
*/ */
@Service @Service
public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper,OrderStatistics> { public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStatistics> {
@Autowired
private DailyVehicleOrderStatisticsBiz vehicleBiz;
@Autowired
private DailyTravelOrderStatisticsBiz TravelBiz;
@Autowired
private DailyMembersOrderStatisticsBiz membersBiz;
public OrderStatistics getToalOrder(Integer companyId) {
OrderStatistics result = new OrderStatistics();
ArrayList<OrderStatistics> orderStatistics = new ArrayList<>();
OrderStatistics vehicle = vehicleBiz.findAll(companyId);
if (vehicle != null) {
orderStatistics.add(vehicle);
}
OrderStatistics tour = TravelBiz.findAll(companyId);
if (vehicle != null) {
orderStatistics.add(tour);
}
OrderStatistics member = membersBiz.findAll(companyId);
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;
}
} }
...@@ -286,7 +286,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -286,7 +286,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车 if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车
baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrder = baseOrderBiz.updateSelectiveByIdReT(baseOrder);
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车 } else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车
if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车 if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车
//添加非定损记录 //添加非定损记录
...@@ -298,7 +298,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -298,7 +298,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderDepositRefundRecordBiz.saveNormalRecord(depositRefundRecord); orderDepositRefundRecordBiz.saveNormalRecord(depositRefundRecord);
//修改订单状态为已完成 //修改订单状态为已完成
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveByIdReT(baseOrder);
//修改订单详情是否押金全部退还 //修改订单详情是否押金全部退还
orderRentVehicleDetail.setFixedLossStatus(0); orderRentVehicleDetail.setFixedLossStatus(0);
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail); orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
...@@ -312,7 +312,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -312,7 +312,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId()); depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId());
orderDepositRefundRecordBiz.saveFixLossRecord(depositRefundRecord); orderDepositRefundRecordBiz.saveFixLossRecord(depositRefundRecord);
baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveByIdReT(baseOrder);
orderRentVehicleDetail.setFixedLossStatus(1); orderRentVehicleDetail.setFixedLossStatus(1);
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail); orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
} }
...@@ -334,7 +334,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -334,7 +334,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
throw new BaseException("定损记录不存在!请联系客服"); throw new BaseException("定损记录不存在!请联系客服");
} }
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrder = baseOrderBiz.updateSelectiveByIdReT(baseOrder);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH); baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
} }
} }
......
package com.xxfc.platform.order.jobhandler; package com.xxfc.platform.order.jobhandler;
import cn.hutool.core.date.DateUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.google.common.collect.Lists;
import com.xxfc.platform.order.biz.*; import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz; import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.contant.enumerate.RefundStatusEnum;
import com.xxfc.platform.order.contant.enumerate.RefundTypeEnum;
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.OrderVehicleCrosstown;
import com.xxfc.platform.order.entity.OrderViolation; import com.xxfc.platform.order.entity.OrderViolation;
import com.xxfc.platform.universal.constant.DictionaryKey; import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary; import com.xxfc.platform.universal.entity.Dictionary;
...@@ -17,6 +17,7 @@ import com.xxl.job.core.biz.model.ReturnT; ...@@ -17,6 +17,7 @@ import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler; import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler; import com.xxl.job.core.handler.annotation.JobHandler;
import com.xxl.job.core.log.XxlJobLogger; import com.xxl.job.core.log.XxlJobLogger;
import io.swagger.models.auth.In;
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.Component; import org.springframework.stereotype.Component;
...@@ -24,10 +25,12 @@ import tk.mybatis.mapper.entity.Example; ...@@ -24,10 +25,12 @@ import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls; import tk.mybatis.mapper.weekend.WeekendSqls;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER; import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
/** /**
...@@ -78,7 +81,7 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -78,7 +81,7 @@ public class RentDepositJobHandler extends IJobHandler {
.where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE) .where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE)
.andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH) //已完成的订单 .andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH) //已完成的订单
.andEqualTo(BaseOrder::getRefundStatus, RefundStatusEnum.RESIDUE_ILLEGAL) //已归还了部分押金 .andEqualTo(BaseOrder::getRefundStatus, RefundStatusEnum.RESIDUE_ILLEGAL) //已归还了部分押金
.andLessThanOrEqualTo(BaseOrder::getRefundTime, System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 1000)) .andLessThanOrEqualTo(BaseOrder::getCrtTime, DateUtil.date(System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 1000)))
// .andLike(BaseOrder::getId, "%"+ i) // .andLike(BaseOrder::getId, "%"+ i)
).build()); ).build());
...@@ -88,11 +91,25 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -88,11 +91,25 @@ public class RentDepositJobHandler extends IJobHandler {
setOrderId(baseOrder.getId()); setOrderId(baseOrder.getId());
}}); }});
Integer crosstownTypeEnum;
//判断是否定损过
if(SYS_TRUE.equals(orvd.getFixedLossStatus())) {
crosstownTypeEnum = CrosstownTypeEnum.FIXED_LOSS.getCode();
}else {
crosstownTypeEnum = CrosstownTypeEnum.ARRIVE.getCode();
}
OrderVehicleCrosstown crosstown = crosstownBiz.selectOne(new OrderVehicleCrosstown(){{
setOrderId(baseOrder.getId());
setType(crosstownTypeEnum);
}});
if(crosstown.getCrtTime().compareTo(System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 1000)) < 0) {
OrderViolation orderViolation = orderViolationBiz.selectOne(new OrderViolation(){{ OrderViolation orderViolation = orderViolationBiz.selectOne(new OrderViolation(){{
setDetailId(orvd.getId()); setDetailId(orvd.getId());
setIsDel(SYS_FALSE); setIsDel(SYS_FALSE);
}}); }});
if(null != orderViolation) {
//还车扣除款 剩余的 钱,再减去违章预备金 //还车扣除款 剩余的 钱,再减去违章预备金
BigDecimal refundAmont = orvd.getReturnPayResidue().subtract(orderViolation.getPrice()); BigDecimal refundAmont = orvd.getReturnPayResidue().subtract(orderViolation.getPrice());
String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章扣款:"+ refundAmont.toString(); String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章扣款:"+ refundAmont.toString();
...@@ -100,6 +117,16 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -100,6 +117,16 @@ public class RentDepositJobHandler extends IJobHandler {
orderRefundBiz.refundTrigger(baseOrder, orvd, BigDecimal.ZERO, orvd.getReturnPayResidue(), refundAmont, refundDesc, RefundStatusEnum.REFUND_DEPOSIT.getCode(), RefundTypeEnum.RESIDUE_DEPOSIT); orderRefundBiz.refundTrigger(baseOrder, orvd, BigDecimal.ZERO, orvd.getReturnPayResidue(), refundAmont, refundDesc, RefundStatusEnum.REFUND_DEPOSIT.getCode(), RefundTypeEnum.RESIDUE_DEPOSIT);
orderMsgBiz.handelMsgDeposit(orvd, baseOrder, userFeign.userDetailById(baseOrder.getUserId()).getData()); orderMsgBiz.handelMsgDeposit(orvd, baseOrder, userFeign.userDetailById(baseOrder.getUserId()).getData());
} }
}
//获取交车时间
// List<OrderVehicleCrosstown> crosstowns = crosstownBiz.selectByExample(
// new Example.Builder(BaseOrder.class)
// .where(WeekendSqls.<OrderVehicleCrosstown>custom()
// .andIn(OrderVehicleCrosstown::getType, Lists.newArrayList(CrosstownTypeEnum.ARRIVE.getCode(), CrosstownTypeEnum.FIXED_LOSS.getCode()))
// .andEqualTo(OrderVehicleCrosstown::getOrderId, baseOrder.getId())).build());
}
// } // }
// } // }
......
package com.xxfc.platform.order.rest; package com.xxfc.platform.order.rest;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ArrayUtil;
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.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
...@@ -48,12 +49,16 @@ import org.springframework.stereotype.Controller; ...@@ -48,12 +49,16 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; 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.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER; import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
...@@ -155,12 +160,33 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -155,12 +160,33 @@ public class BaseOrderController extends CommonBaseController implements UserRes
return new ObjectRestResponse<>().data(pages); return new ObjectRestResponse<>().data(pages);
} }
@ApiOperation("根据参数查询,等于") @ApiOperation("查询个数")
@RequestMapping(value = "/entityList",method = RequestMethod.GET) @RequestMapping(value = "/count",method = RequestMethod.GET)
@ResponseBody @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("订单详情") @ApiOperation("订单详情")
......
...@@ -65,11 +65,17 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz ...@@ -65,11 +65,17 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
@ApiOperation("获取订单统计数据") @ApiOperation("获取订单统计数据")
@GetMapping("/findAll/{type}") @GetMapping("/findAll/{type}")
public ObjectRestResponse findAll(@PathVariable Integer type) { public ObjectRestResponse findAll(@PathVariable Integer type) {
ObjectRestResponse<UserDTO> userDTOObjectRestResponse = userFeign.userinfoByToken(userAuthConfig.getToken(getRequest()));
if (userDTOObjectRestResponse==null||userDTOObjectRestResponse.getData()==null) {
try {
ObjectRestResponse<UserDTO> userDTOObjectRestResponse
= userFeign.userinfoByToken(userAuthConfig.getToken(getRequest()));
if (userDTOObjectRestResponse == null || userDTOObjectRestResponse.getData() == null) {
throw new BaseException("请登录!"); throw new BaseException("请登录!");
} }
UserDTO user = userDTOObjectRestResponse.getData(); UserDTO user = userDTOObjectRestResponse.getData();
Integer companyId = user.getCompanyId(); Integer companyId = user.getCompanyId();
if (TYEP_VEHICLE.equals(type)) { if (TYEP_VEHICLE.equals(type)) {
OrderStatistics vehicle = vehicleBiz.findAll(companyId); OrderStatistics vehicle = vehicleBiz.findAll(companyId);
...@@ -84,7 +90,14 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz ...@@ -84,7 +90,14 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
return ObjectRestResponse.succ(member); 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();
}
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"参数为空!");
} }
} }
...@@ -17,10 +17,9 @@ ...@@ -17,10 +17,9 @@
<select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics"> <select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics">
SELECT SELECT
branch_company_id as branchCompanyId,
IFNULL(sum(gmv),0) as totalGmv IFNULL(sum(gmv),0) as totalGmv
FROM FROM
daily_travel_order_statistics daily_members_order_statistics
WHERE WHERE
branch_company_id =#{companyId} branch_company_id =#{companyId}
and and
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics"> <select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics">
SELECT SELECT
branch_company_id as branchCompanyId,
IFNULL(sum(gmv),0) as totalGmv, IFNULL(sum(gmv),0) as totalGmv,
IFNULL(sum(penal_sum) ,0) as totalPenalSum IFNULL(sum(penal_sum) ,0) as totalPenalSum
FROM FROM
......
...@@ -139,7 +139,7 @@ ...@@ -139,7 +139,7 @@
<select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics"> <select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics">
SELECT SELECT
branch_company_id as branchCompanyId,
IFNULL(sum(gmv),0) as totalGmv, IFNULL(sum(gmv),0) as totalGmv,
IFNULL(sum(security_deposit),0) as totalSecurityDeposit, IFNULL(sum(security_deposit),0) as totalSecurityDeposit,
IFNULL(sum(refund_security_deposit) ,0) as totalRefundSecurityDeposit, IFNULL(sum(refund_security_deposit) ,0) as totalRefundSecurityDeposit,
......
...@@ -134,5 +134,4 @@ public class TourGood implements Serializable { ...@@ -134,5 +134,4 @@ public class TourGood implements Serializable {
@Column(name = "poster_background") @Column(name = "poster_background")
@ApiModelProperty(value = "海报背景") @ApiModelProperty(value = "海报背景")
private String posterBackground; private String posterBackground;
} }
...@@ -128,7 +128,7 @@ public class TourGoodDetailVo { ...@@ -128,7 +128,7 @@ public class TourGoodDetailVo {
@ApiModelProperty(value = "商品标签") @ApiModelProperty(value = "商品标签")
List<GoodTagDTO> tagDTOS; List<GoodTagDTO> tagDTOS;
private String posterBackground;
} }
...@@ -6,6 +6,7 @@ import com.xxfc.platform.vehicle.common.RestResponse; ...@@ -6,6 +6,7 @@ import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.*; import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo; import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo;
import com.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -16,7 +17,7 @@ import java.util.Set; ...@@ -16,7 +17,7 @@ import java.util.Set;
/** /**
* Created by ace on 2017/9/15. * Created by ace on 2017/9/15.
*/ */
@FeignClient(name = "vehicle") @FeignClient(name = "vehicle",contextId = "vh")
public interface VehicleFeign { public interface VehicleFeign {
@GetMapping(value = "/vehicleModel/{id}") @GetMapping(value = "/vehicleModel/{id}")
public ObjectRestResponse<VehicleModel> get(@PathVariable(value = "id") int id); public ObjectRestResponse<VehicleModel> get(@PathVariable(value = "id") int id);
...@@ -116,4 +117,10 @@ public interface VehicleFeign { ...@@ -116,4 +117,10 @@ public interface VehicleFeign {
@GetMapping("/accompanyingItem/app/unauth/items") @GetMapping("/accompanyingItem/app/unauth/items")
public RestResponse<List<AccompanyingItemVo>> listAccompanyingItem(); public RestResponse<List<AccompanyingItemVo>> listAccompanyingItem();
@GetMapping("/branchCompany/findByAreaId")
List<Integer> findCompanyIdsByAreaId(@RequestParam(value = "areaId") Integer areaId);
@GetMapping("/branchCompany/company")
Map<Integer, BranComanyLeaderVo> findCompanyLeaderMapByIds(@RequestParam(value = "companyIds") List<Integer> companyIds);
} }
package com.xxfc.platform.vehicle.pojo.vo;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/9 18:44
*/
@Data
public class BranComanyLeaderVo {
/**
* 负责人
*/
private String leader;
/**
* 负责人联系电话
*/
private String leaderContactInfo;
/**
* 公司名
*/
private String name;
}
...@@ -20,6 +20,7 @@ import com.xxfc.platform.vehicle.mapper.BranchCompanyMapper; ...@@ -20,6 +20,7 @@ import com.xxfc.platform.vehicle.mapper.BranchCompanyMapper;
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.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo;
import com.xxfc.platform.vehicle.util.excel.ExcelImport; 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;
...@@ -327,4 +328,21 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -327,4 +328,21 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
} }
public List<Integer> selectCompanyIdsByAreaId(Integer areaId) {
return mapper.findCompanyIdsByAreaId(areaId);
}
public Map<Integer, BranComanyLeaderVo> findCompanyLeaderMapByIds(List<Integer> companyIds) {
Map<Integer,BranComanyLeaderVo> companyIdAndLeaderMap = new HashMap<>(companyIds.size());
List<BranchCompany> branchCompanies = mapper.selectByIdList(companyIds);
if (CollectionUtils.isEmpty(branchCompanies)){
return companyIdAndLeaderMap;
}
return branchCompanies.stream().collect(Collectors.toMap(BranchCompany::getId,branchCompany -> {
BranComanyLeaderVo branComanyLeaderVo = new BranComanyLeaderVo();
BeanUtils.copyProperties(branchCompany,branComanyLeaderVo);
return branComanyLeaderVo;
}));
}
} }
...@@ -42,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -42,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.Arrays; import java.util.Arrays;
import java.util.Iterator;
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;
...@@ -175,12 +176,33 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -175,12 +176,33 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
} }
} }
vehicleBookRecordQueryVo.setCompanyIds(companyList); 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); 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()));
getupKeeps(pageDataVO.getData()); getupKeeps(pageDataVO.getData());
return RestResponse.suc(pageDataVO); return RestResponse.suc(pageDataVO);
} }
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) { public List<VehicleBookRecordVo> getupKeeps(List<VehicleBookRecordVo> vehicleBookRecordVos) {
for(VehicleBookRecordVo vehicleBookRecordVo : vehicleBookRecordVos) { for(VehicleBookRecordVo vehicleBookRecordVo : vehicleBookRecordVos) {
if(vehicleBookRecordVo.getBookType() == BookType.MAINTAIN.getCode()) {//获取 保养项目 if(vehicleBookRecordVo.getBookType() == BookType.MAINTAIN.getCode()) {//获取 保养项目
......
...@@ -2,12 +2,15 @@ package com.xxfc.platform.vehicle.mapper; ...@@ -2,12 +2,15 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.BranchCompany; import com.xxfc.platform.vehicle.entity.BranchCompany;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public interface BranchCompanyMapper extends Mapper<BranchCompany> { public interface BranchCompanyMapper extends Mapper<BranchCompany>, SelectByIdListMapper<BranchCompany,Integer> {
List<BranchCompany> search(@Param("lon") String lon, @Param("lat") String lat, @Param("addrCity") Integer addrCity); List<BranchCompany> search(@Param("lon") String lon, @Param("lat") String lat, @Param("addrCity") Integer addrCity);
List<BranchCompany> selectByZoneId(Map<String, Object> param); List<BranchCompany> selectByZoneId(Map<String, Object> param);
List<Integer> findCompanyIdsByAreaId(@Param("areaId") Integer areaId);
} }
\ No newline at end of file
...@@ -16,6 +16,7 @@ import com.xxfc.platform.vehicle.pojo.BranchCompanyVo; ...@@ -16,6 +16,7 @@ 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.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -27,6 +28,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -27,6 +28,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map;
@RestController @RestController
@RequestMapping("/branchCompany") @RequestMapping("/branchCompany")
...@@ -164,4 +166,14 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> { ...@@ -164,4 +166,14 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> {
//查询列表数据 //查询列表数据
return ObjectRestResponse.succ(baseBiz.selectList(entity)); return ObjectRestResponse.succ(baseBiz.selectList(entity));
} }
@GetMapping("/findByAreaId")
public List<Integer> findCompanyIdsByAreaId(@RequestParam(value = "areaId") Integer areaId){
return baseBiz.selectCompanyIdsByAreaId(areaId);
}
@GetMapping("/company")
Map<Integer, BranComanyLeaderVo> findCompanyLeaderMapByIds(@RequestParam("companyIds") List<Integer> companyIds){
return baseBiz.findCompanyLeaderMapByIds(companyIds);
}
} }
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<result column="tour_service_phone" property="tourServicePhone"/> <result column="tour_service_phone" property="tourServicePhone"/>
<result column="longitude" property="longitude"/> <result column="longitude" property="longitude"/>
<result column="latitude" property="latitude"/> <result column="latitude" property="latitude"/>
<result column="zone_id" property="zoneId"/>
</resultMap> </resultMap>
<select id="search" resultType="com.xxfc.platform.vehicle.pojo.CompanySearchVO"> <select id="search" resultType="com.xxfc.platform.vehicle.pojo.CompanySearchVO">
...@@ -49,4 +50,7 @@ ...@@ -49,4 +50,7 @@
</foreach> </foreach>
</if> </if>
</select> </select>
<select id="findCompanyIdsByAreaId" resultType="integer">
select `id` from `branch_company` where `zone_id`=#{areaId}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -500,7 +500,7 @@ ...@@ -500,7 +500,7 @@
<select id="searchUsableModel" parameterType="java.util.Map" <select id="searchUsableModel" parameterType="java.util.Map"
resultMap="searchUsableModelMap"> 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 "> <if test=" catas != null ">
,GROUP_CONCAT(vc.cata_id) as catas ,GROUP_CONCAT(vc.cata_id) as catas
</if> </if>
...@@ -540,7 +540,33 @@ ...@@ -540,7 +540,33 @@
</foreach> </foreach>
) > 0 ) > 0
</if> </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"> <if test="lon != null and lat != null">
order by order by
<if test=" yearMonthAndParam !=null and yearNo4Where != null and yearNo4Where == true"> <if test=" yearMonthAndParam !=null and yearNo4Where != null and yearNo4Where == true">
......
package com.xxfc.platform.vehicle;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.junit.Test;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;
public class ListTest {
@Test
public void ListTest(){
List<Object> objects = Arrays.asList();
DateTime startDay= DateTime.parse("2019-07-30 00:00:00", DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(startDay);
}
}
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