Commit 8f1527ba authored by hezhen's avatar hezhen

Merge branch 'master_chw_publish' into dev-chw

parents fb960a0a 2fb9e4b7
......@@ -3,10 +3,7 @@ package com.xxfc.platform.vehicle.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
......@@ -75,6 +72,11 @@ public class VehiclePublishReceive implements Serializable {
private Integer publishGoodsId;
@Column(name = "receive_user_id")
@ApiModelProperty(value = "接单人id")
private Integer receiveUserId;
@Column(name = "receive_company_id")
@ApiModelProperty(value = "接单公司id")
private Integer receiveCompanyId;
......
......@@ -27,6 +27,13 @@ public class VehiclePublishFindDTO extends PageParam implements DataInter {
private Integer type;
@ApiModelProperty("类型:1-我的发布;2-我的接单")
private Integer receivetype;
@ApiModelProperty("子需求id")
private Integer publishGoodsId;
@ApiModelProperty("类型:1-调度信息;2-我的发布")
private Integer selectType;
......
......@@ -50,6 +50,8 @@ public class VehiclePublishReceiveDTO{
@ApiModelProperty(value = "拒绝的接单ids")
private String refuseReceiveIds;
private Integer status;
......
......@@ -21,5 +21,9 @@ public class VehiclePublishGoodsVo extends VehiclePublishGoods {
@ApiModelProperty("商品数量")
Integer goodsNumber;
private List<VehicleExtensionVO> extensionVOS;
List<VehicleExtensionVO> extensionVOS;
List<VehiclePublishReceiveVo> receiveVos;
}
......@@ -19,6 +19,19 @@ public class VehiclePublishReceiveVo extends VehiclePublishReceive {
@ApiModelProperty("型号名称")
String categoryName;
@ApiModelProperty("数量")
Long number;
@ApiModelProperty("待确认数量")
Long waitNumber;
@ApiModelProperty("按钮状态:1-确认;2-收车;3-完成")
private Integer buttonState;
@ApiModelProperty("用户名")
String userName;
private List<VehicleExtensionVO> extensionVOS;
......@@ -41,5 +54,13 @@ public class VehiclePublishReceiveVo extends VehiclePublishReceive {
@ApiModelProperty("发布服务费(单个商品)")
private BigDecimal publishAmount;
@ApiModelProperty("状态str")
private String statusStr;
@ApiModelProperty("接单ids")
private String ids;
private List<VehiclePublishReceiveVo> publishReceiveVos;
}
......@@ -84,6 +84,17 @@ public class VehiclePublishBiz extends BaseBiz<VehiclePublishMapper, VehiclePubl
}
public VehiclePublishVo detail(VehiclePublishFindDTO publishFindDTO){
PageDataVO<VehiclePublishVo> pageDataVO = selectList(publishFindDTO);
List<VehiclePublishVo> list = pageDataVO.getData();
VehiclePublishVo publishVo = new VehiclePublishVo();
if (CollectionUtils.isNotEmpty(list)){
publishVo=list.get(0);
}
return publishVo;
}
//入驻规则管理
public JSONObject getConfig(){
......
......@@ -2,12 +2,17 @@ package com.xxfc.platform.vehicle.biz;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.tour.dto.TourUserScoreListDTO;
import com.xxfc.platform.vehicle.entity.VehiclePublishGoods;
import com.xxfc.platform.vehicle.mapper.VehiclePublishGoodsMapper;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePublishFindDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePublishReceiveDTO;
import com.xxfc.platform.vehicle.pojo.vo.VehicleExtensionVO;
import com.xxfc.platform.vehicle.pojo.vo.VehiclePublishGoodsVo;
import com.xxfc.platform.vehicle.pojo.vo.VehiclePublishReceiveVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -17,6 +22,8 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
......@@ -28,12 +35,18 @@ public class VehiclePublishGoodsBiz extends BaseBiz<VehiclePublishGoodsMapper, V
@Autowired
VehicleExtensionBiz extensionBiz;
@Autowired
VehiclePublishReceiveBiz publishReceiveBiz;
@Autowired
UserFeign userFeign;
public List<VehiclePublishGoodsVo> getList(VehiclePublishFindDTO publishFindDTO){
List<VehiclePublishGoodsVo> list = mapper.selectList(publishFindDTO);
setGoodsList(list);
setGoodsList(list,publishFindDTO);
return list;
}
......@@ -41,11 +54,12 @@ public class VehiclePublishGoodsBiz extends BaseBiz<VehiclePublishGoodsMapper, V
public List<VehiclePublishGoodsVo> getListByOrderNo(VehiclePublishFindDTO publishFindDTO){
List<VehiclePublishGoodsVo> list = mapper.selectListByOrderNo(publishFindDTO);
setGoodsList(list);
setGoodsList(list,publishFindDTO);
return list;
}
public void setGoodsList(List<VehiclePublishGoodsVo> list){
public void setGoodsList(List<VehiclePublishGoodsVo> list,VehiclePublishFindDTO publishFindDTO){
Integer receivetype = publishFindDTO.getReceivetype() == null ? 0 : publishFindDTO.getReceivetype();
if (CollectionUtils.isNotEmpty(list)){
for (VehiclePublishGoodsVo publishGoodsVo : list){
String vehicleId = publishGoodsVo.getVehicleId();
......@@ -59,8 +73,56 @@ public class VehiclePublishGoodsBiz extends BaseBiz<VehiclePublishGoodsMapper, V
}
}
publishGoodsVo.setExtensionVOS(extensionVOS);
if (receivetype > 0)
setReceive(publishGoodsVo,publishFindDTO);
}
}
}
public void setReceive(VehiclePublishGoodsVo publishGoodsVo,VehiclePublishFindDTO publishFindDTO){
publishFindDTO.setPublishGoodsId(publishGoodsVo.getId());
List<VehiclePublishReceiveVo> list = publishReceiveBiz.getListByUserId(publishFindDTO);
if (CollectionUtils.isNotEmpty(list)){
List<Integer> userIds = list.stream().map(VehiclePublishReceiveVo::getReceiveUserId).distinct().collect(Collectors.toList());
List<AppUserVo> appUserVos = userFeign.getByUserIds(userIds).getData();
if (log.isDebugEnabled()){
log.debug("根据用户ids查询出用户信息:【{}】",appUserVos);
}
Map<Integer, AppUserVo> userMap = appUserVos.stream().collect(Collectors.toMap(AppUserVo::getUserid, Function.identity()));
for (VehiclePublishReceiveVo receiveVo : list){
AppUserVo appUserVo = userMap.get(receiveVo.getReceiveUserId());
if (appUserVo != null ){
receiveVo.setUserName(appUserVo.getUsername());
}
String statusStr = receiveVo.getStatusStr();
if (StringUtils.isNotBlank(statusStr)){
List<Integer> statusIds = Arrays.asList(statusStr.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
Long count = statusIds.stream().filter(x->x == 1).count();
count = count == null ? 0L :count;
receiveVo.setWaitNumber(count);
Integer buttonState = 0;
if (count > 0){
buttonState = 1;
}else {
if (statusStr.contains("3")){
buttonState =2;
}else if (statusStr.contains("5"))
buttonState = 3;
}
receiveVo.setButtonState(buttonState);
}
String ids = receiveVo.getIds();
if (StringUtils.isNotBlank(ids)){
List<Integer> idList = Arrays.asList(ids.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
VehiclePublishReceiveDTO receiveDTO = new VehiclePublishReceiveDTO();
receiveDTO.setIds(idList);
receiveVo.setPublishReceiveVos( publishReceiveBiz.getListByIds(receiveDTO));
}
}
publishGoodsVo.setReceiveVos(list);
}
}
......
......@@ -14,8 +14,10 @@ import com.xxfc.platform.universal.dto.SendMsgDTO;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.mapper.VehiclePublishReceiveMapper;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePublishFindDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePublishReceiveDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleReceiveRefundDTO;
import com.xxfc.platform.vehicle.pojo.vo.VehicleExtensionVO;
import com.xxfc.platform.vehicle.pojo.vo.VehiclePublishReceiveVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
......@@ -108,6 +110,7 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
vehiclePublishReceive.setBrandId(brandId);
vehiclePublishReceive.setCategoryId(categoryId);
vehiclePublishReceive.setExtensionList(extensionList);
vehiclePublishReceive.setReceiveUserId(publishReceiveDTO.getUserId());
insertSelective(vehiclePublishReceive);
id = vehiclePublishReceive.getId();
}else {
......@@ -335,9 +338,25 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
}
public List<VehiclePublishReceiveVo> getListByUserId(VehiclePublishFindDTO publishFindDTO){
return mapper.getListByUserId(publishFindDTO);
}
public List<VehiclePublishReceiveVo> getListByIds(VehiclePublishReceiveDTO publishReceiveDTO){
List<VehiclePublishReceiveVo> list = getList(publishReceiveDTO);
if (CollectionUtils.isNotEmpty(list)){
for (VehiclePublishReceiveVo publishReceiveVo : list){
String extensionList = publishReceiveVo.getExtensionList();
List<VehicleExtensionVO> extensionVOS = new ArrayList<>();
if (StringUtils.isNotBlank(extensionList)){
extensionVOS=vehicleExtensionBiz.getTreeByApply(Arrays.asList(extensionList.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList()));
}
publishReceiveVo.setExtensionVOS(extensionVOS);
}
}
return list;
}
......
......@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehiclePublishReceive;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePublishFindDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePublishReceiveDTO;
import com.xxfc.platform.vehicle.pojo.vo.VehiclePublishReceiveVo;
import org.apache.ibatis.annotations.Param;
......@@ -19,4 +20,6 @@ public interface VehiclePublishReceiveMapper extends Mapper<VehiclePublishReceiv
String getOrderNoStr(@Param("publishOrderNo") String publishOrderNo,@Param("ids")List<Integer> ids);
List<VehiclePublishReceiveVo> getListByUserId(VehiclePublishFindDTO publishFindDTO);
}
\ No newline at end of file
......@@ -80,13 +80,7 @@ public class AppVehiclePublishController extends BaseController<VehiclePublishBi
@ApiModelProperty("详情")
@IgnoreUserToken
public ObjectRestResponse detail(VehiclePublishFindDTO publishFindDTO) {
PageDataVO<VehiclePublishVo> pageDataVO = baseBiz.selectList(publishFindDTO);
List<VehiclePublishVo> list = pageDataVO.getData();
VehiclePublishVo publishVo = new VehiclePublishVo();
if (CollectionUtils.isNotEmpty(list)){
publishVo=list.get(0);
}
return ObjectRestResponse.succ(publishVo);
return ObjectRestResponse.succ(baseBiz.detail(publishFindDTO));
}
......@@ -97,6 +91,15 @@ public class AppVehiclePublishController extends BaseController<VehiclePublishBi
}
@GetMapping("publishDetail")
@ApiModelProperty("我的发布详情")
@IgnoreUserToken
public ObjectRestResponse publishDetail(VehiclePublishFindDTO publishFindDTO) {
publishFindDTO.setReceivetype(1);
return ObjectRestResponse.succ(baseBiz.detail(publishFindDTO));
}
......
......@@ -26,13 +26,14 @@ public class AppVehiclePublishReceiveController extends BaseController<VehiclePu
@PostMapping("meet")
@ApiModelProperty("接单")
public ObjectRestResponse meet(@RequestBody VehiclePublishReceiveDTO publishReceiveDTO) {
public ObjectRestResponse meet(@RequestBody VehiclePublishReceiveDTO publishReceiveDTO) throws Exception {
if (publishReceiveDTO.getCompanyId() == null || publishReceiveDTO.getCompanyId() == 0){
List<Integer> companyIds = getBusinessUserCompanyIds();
if (companyIds != null && companyIds.size() > 0){
publishReceiveDTO.setCompanyId(companyIds.get(0));
}
}
publishReceiveDTO.setUserId(Integer.parseInt(getUserId()));
return ObjectRestResponse.succ(baseBiz.receive(publishReceiveDTO));
}
......
......@@ -67,8 +67,27 @@
</foreach>
</if>
</where>
</select>
<select id="getListByUserId" resultType="com.xxfc.platform.vehicle.pojo.vo.VehiclePublishReceiveVo" parameterType="com.xxfc.platform.vehicle.pojo.dto.VehiclePublishFindDTO">
SELECT
COUNT(id) as number,
r.receive_user_id as receiveUserId,
r.receive_time as receiveTime,
GROUP_CONCAT(r.`status`) as statusStr,
GROUP_CONCAT(r.id) as ids
FROM vehicle_publish_receive r
WHERE r.publish_goods_id = #{publishGoodsId}
<choose>
<when test="receivetype != null and receivetype == 1">
AND r.`status` in (1,3,5)
</when>
<when test="receivetype != null and receivetype == 2">
AND r.`status` in (1,2,3,5)
</when>
</choose>
GROUP BY r.receive_user_id
</select>
</mapper>
\ No newline at end of file
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