Sfoglia il codice sorgente

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

Mechrevo 2 anni fa
parent
commit
eb061f84d5

+ 5 - 15
sp-service/level-one-server/src/main/java/com/pj/tb_port_news/TbPortNewsAppController.java

@@ -1,12 +1,10 @@
 package com.pj.tb_port_news;
 
-import com.pj.enummj.DeleteStatus;
-import com.pj.tb_goods_transit.TbGoodsTransit;
 import com.pj.utils.sg.AjaxJson;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
@@ -32,8 +30,7 @@ public class TbPortNewsAppController {
      */
     @RequestMapping("getNewestList")
     public AjaxJson getNewestList(Long limit) {
-        AjaxJson ajaxJson = tbPortNewsService.getNewestList(limit);
-        return ajaxJson;
+        return tbPortNewsService.getNewestList(limit);
     }
 
     /**
@@ -50,15 +47,8 @@ public class TbPortNewsAppController {
         return AjaxJson.getPageData(so.getDataCount(), list);
     }
 
-    /**
-     * APP端获取口岸资讯详情
-     *
-     * @author loovi
-     * @date
-     */
-    @RequestMapping("getPortNewsDetails")
-    public AjaxJson getPortNewsDetails(Long id) {
-        AjaxJson ajaxJson = tbPortNewsService.getPortNewsDetails(id);
-        return ajaxJson;
+    @GetMapping("getById")
+    public AjaxJson getById(Long id) {
+        return tbPortNewsService.getPortNewsDetails(id);
     }
 }

+ 127 - 121
sp-service/level-one-server/src/main/java/com/pj/tb_port_news/TbPortNewsService.java

@@ -25,129 +25,135 @@ import com.pj.utils.sg.*;
 
 /**
  * Service: tb_port_news -- 口岸咨询
+ *
  * @author loovi
  */
 @Service
 @Transactional(rollbackFor = Exception.class)
-public class TbPortNewsService extends ServiceImpl<TbPortNewsMapper, TbPortNews> implements IService<TbPortNews>{
-
-	/** 底层 Mapper 对象 */
-	@Autowired
-	TbPortNewsMapper tbPortNewsMapper;
-
-	/** 增 */
-	void add(TbPortNews t){
-		save(t);
-	}
-
-	/** 删 */
-	void delete(Long id){
-		removeById(id);
-	}
-
-	/** 改 */
-	void update(TbPortNews t){
-		updateById(t);
-
-	}
-
-	/** 查 */
-	TbPortNews getById(Long id){
-		return super.getById(id);
-	}
-
-	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */  
-	List<TbPortNews> getList(SoMap so) { 
-		return tbPortNewsMapper.getList(so);	
-	}
-	/**
-	*更新发布状态
-	*
-	* @author loovi
-	* @date
-	*/
-	int updateRelease(Long id, int isRelease){
-
-		// 获取当前登录者信息
-		String str = RedisUtil.get("pc:" + StpUtil.getLoginIdAsString());
-		JSONObject jsonObject = JSONUtil.parseObj(str);
-		String loginId = (String) jsonObject.get("loginId");
-		String loginName = (String)jsonObject.get("loginName");
-		// 获取口岸咨询
-		TbPortNews tbPortNews = tbPortNewsMapper.selectById(id);
-		// 口岸咨询不存在抛异常
-		if(Objects.isNull(tbPortNews)){
-			throw new RuntimeException("口岸咨询不存在");
-		}
-		// 口岸咨询被禁用抛异常
-		if (tbPortNews.getStatus()== DeleteStatus.DELETE_STATUS_OFF.getCode()){
-			throw new RuntimeException("口岸咨询已被禁用");
-		}
-		// 设置口岸咨询发布状态
-		tbPortNews.setIsRelease(isRelease);
-		// 设置口岸咨询发布时间
-		tbPortNews.setReleaseTime(new Date());
-		// 设置口岸咨询更新者id
-		tbPortNews.setUpdateBy(loginId);
-		// 设置口岸咨询更新者名称
-		tbPortNews.setUpdateName(loginName);
-		// 更新口岸咨询
-		int line = tbPortNewsMapper.updateById(tbPortNews);
-		return line;
-	}
-
-
-
-	/**
-	*APP端获取最新的5条口岸资讯
-	*
-	* @author loovi
-	* @date
-	*/
-	public  AjaxJson getNewestList(Long limit){
-		// 构造条件查询最新的资讯
-		QueryWrapper<TbPortNews> queryWrapper = new QueryWrapper<>();
-		queryWrapper.eq("status", DeleteStatus.DELETE_STATUS_ON.getCode())
-				.eq("is_release", ReleaseStatus.RELEASE_STATUS_PUBLISH.getCode())
-				.orderByDesc("release_time")
-				.last("LIMIT " +limit);
-		// 执行查询
-		List<TbPortNews> list = list(queryWrapper);
-		// 将结果列表拷贝至VO列表
-		List<TbPortNewsVo> resList = CglibUtil.copyList(list, TbPortNewsVo::new);
-		// 返回获取的最新口岸资讯
-		return AjaxJson.getSuccess("最新口岸资讯",resList);
-	}
-	/**
-	 *APP端获取口岸资讯列表
-	 *
-	 * @author loovi
-	 * @date
-	 */
-	public  AjaxJson getPortNewsList(){
-		// 构造条件查询资讯列表
-		QueryWrapper<TbPortNews> queryWrapper = new QueryWrapper<>();
-		queryWrapper.eq("status",DeleteStatus.DELETE_STATUS_ON.getCode());
-		// 执行查询
-		List<TbPortNews> list = tbPortNewsMapper.selectList(queryWrapper);
-		// 将结果列表拷贝至VO列表
-		List<TbPortNewsVo> resList = CglibUtil.copyList(list, TbPortNewsVo::new);
-		// 返回获取的最新口岸资讯
-		return AjaxJson.getSuccess("口岸资讯列表",resList);
-	}
-	/**
-	 *APP端获取口岸资讯详情
-	 *
-	 * @author loovi
-	 * @date
-	 */
-	public  AjaxJson getPortNewsDetails(Long id){
-		// 执行查询
-		TbPortNews tbPortNews = tbPortNewsMapper.selectById(id);
-		if(Objects.isNull(tbPortNews)){
-			throw new RuntimeException("资讯不存在");
-		}
-		// 返回获取的最新口岸资讯
-		return AjaxJson.getSuccess("口岸资讯详情",tbPortNews.getContent());
-	}
+public class TbPortNewsService extends ServiceImpl<TbPortNewsMapper, TbPortNews> implements IService<TbPortNews> {
+
+    /**
+     * 底层 Mapper 对象
+     */
+    @Autowired
+    TbPortNewsMapper tbPortNewsMapper;
+
+    /**
+     * 增
+     */
+    void add(TbPortNews t) {
+        save(t);
+    }
+
+    /**
+     * 删
+     */
+    void delete(Long id) {
+        removeById(id);
+    }
+
+    /**
+     * 改
+     */
+    void update(TbPortNews t) {
+        updateById(t);
+
+    }
+
+    /**
+     * 查
+     */
+    TbPortNews getById(Long id) {
+        return super.getById(id);
+    }
+
+    /**
+     * 查集合 - 根据条件(参数为空时代表忽略指定条件)
+     */
+    List<TbPortNews> getList(SoMap so) {
+        return tbPortNewsMapper.getList(so);
+    }
+
+    /**
+     * 更新发布状态
+     *
+     * @author loovi
+     * @date
+     */
+    int updateRelease(Long id, int isRelease) {
+
+        // 获取当前登录者信息
+        String str = RedisUtil.get("pc:" + StpUtil.getLoginIdAsString());
+        JSONObject jsonObject = JSONUtil.parseObj(str);
+        String loginId = (String) jsonObject.get("loginId");
+        String loginName = (String) jsonObject.get("loginName");
+        // 获取口岸咨询
+        TbPortNews tbPortNews = tbPortNewsMapper.selectById(id);
+        // 口岸咨询不存在抛异常
+        if (Objects.isNull(tbPortNews)) {
+            throw new RuntimeException("口岸咨询不存在");
+        }
+        // 口岸咨询被禁用抛异常
+        if (tbPortNews.getStatus() == DeleteStatus.DELETE_STATUS_OFF.getCode()) {
+            throw new RuntimeException("口岸咨询已被禁用");
+        }
+        // 设置口岸咨询发布状态
+        tbPortNews.setIsRelease(isRelease);
+        // 设置口岸咨询发布时间
+        tbPortNews.setReleaseTime(new Date());
+        // 设置口岸咨询更新者id
+        tbPortNews.setUpdateBy(loginId);
+        // 设置口岸咨询更新者名称
+        tbPortNews.setUpdateName(loginName);
+        // 更新口岸咨询
+        int line = tbPortNewsMapper.updateById(tbPortNews);
+        return line;
+    }
+
+
+    /**
+     * APP端获取最新的5条口岸资讯
+     *
+     * @author loovi
+     * @date
+     */
+    public AjaxJson getNewestList(Long limit) {
+        QueryWrapper<TbPortNews> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("status", 1).eq("is_release", ReleaseStatus.RELEASE_STATUS_PUBLISH.getCode()).orderByDesc("release_time").last("LIMIT " + limit);
+        return AjaxJson.getSuccessData(list(queryWrapper));
+    }
+
+    /**
+     * APP端获取口岸资讯列表
+     *
+     * @author loovi
+     * @date
+     */
+    public AjaxJson getPortNewsList() {
+        // 构造条件查询资讯列表
+        QueryWrapper<TbPortNews> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("status", DeleteStatus.DELETE_STATUS_ON.getCode());
+        // 执行查询
+        List<TbPortNews> list = tbPortNewsMapper.selectList(queryWrapper);
+        // 将结果列表拷贝至VO列表
+        List<TbPortNewsVo> resList = CglibUtil.copyList(list, TbPortNewsVo::new);
+        // 返回获取的最新口岸资讯
+        return AjaxJson.getSuccess("口岸资讯列表", resList);
+    }
+
+    /**
+     * APP端获取口岸资讯详情
+     *
+     * @author loovi
+     * @date
+     */
+    public AjaxJson getPortNewsDetails(Long id) {
+        TbPortNews tbPortNews = tbPortNewsMapper.selectById(id);
+        if (tbPortNews != null && tbPortNews.getStatus() == 1) {
+            tbPortNews.setReadCount(tbPortNews.getReadCount() + 1);
+            tbPortNewsMapper.updateById(tbPortNews);
+            return AjaxJson.getSuccessData(tbPortNews);
+        }
+        return AjaxJson.getError();
+    }
 }

+ 1 - 0
sp-service/level-two-server/src/main/java/com/pj/tb_demand_quotation/TbDemandQuotationService.java

@@ -123,6 +123,7 @@ public class TbDemandQuotationService extends ServiceImpl<TbDemandQuotationMappe
         tbDemandQuotation.setCreateTime(new Date()); //创建时间
         tbDemandQuotation.setGroupId(rpcById.getGroupId());
         tbDemandQuotation.setDeleteStatus(DeleteStatus.DELETE_STATUS_ON.getCode()); // 删除状态默认可用
+        tbDemandQuotation.setCreateName(appLoginInfo.getLoginName());
         int insert = tbDemandQuotationMapper.insert(tbDemandQuotation);
         if (insert == 1) {
             //修改二级市场收购商的需求状态

+ 4 - 1
sp-service/level-two-server/src/main/java/com/pj/tb_goods_demand/MethodGoodsDemandService.java

@@ -68,6 +68,7 @@ public class MethodGoodsDemandService {
             // TODO: 2023/8/8 获取商品图片暂时不需要
             //goodsDemandVo.setGoodsImg(goodsDto.getAvatar());
 
+            // 获取发布需求的详细信息
             goodsDemandVo.setGoodsDemandId(id);
             goodsDemandVo.setGoodsQuantity(item.getGoodsQuantity());
             goodsDemandVo.setGoodsDemandTime(item.getCreateTime());
@@ -78,8 +79,10 @@ public class MethodGoodsDemandService {
             goodsDemandVo.setPhone(item.getPhone());
             goodsDemandVo.setName(item.getName());
             goodsDemandVo.setIsConfirm(item.getIsConfirm());
+            goodsDemandVo.setTradeAreaId(item.getTradeAreaId());
+            goodsDemandVo.setTradeAreaName(item.getTradeAreaName());
 
-            // 获取收购商发布需求中,关联的已确认的报价信息
+            // 获取已确认的报价信息
             if(tbDemandQuotations.size() > 0) {
                 TbDemandQuotation tbDemandQuotation = tbDemandQuotations.get(0);
                 goodsDemandVo.setDemandQuotationId(tbDemandQuotation.getId());

+ 10 - 0
sp-service/level-two-server/src/main/java/com/pj/tb_goods_demand/vo/GoodsDemandVo.java

@@ -102,4 +102,14 @@ public class GoodsDemandVo {
      * 收购商是否确认:0=未确认,1=已确认
      */
     private Integer isConfirm;
+
+    /**
+     * 贸易区域id
+     */
+    private Long tradeAreaId;
+
+    /**
+     * 贸易区域名称
+     */
+    private String tradeAreaName;
 }

+ 69 - 0
sp-service/level-two-server/src/main/java/com/pj/tb_orders/MethodOrdersService.java

@@ -0,0 +1,69 @@
+package com.pj.tb_orders;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.pj.tb_demand_quotation.TbDemandQuotation;
+import com.pj.tb_demand_quotation.TbDemandQuotationService;
+import com.pj.tb_goods_demand.TbGoodsDemand;
+import com.pj.tb_goods_demand.TbGoodsDemandService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 二级市场订单-抽取方法公共类
+ * @Author lbl
+ * @Date 2023 08 09
+ **/
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class MethodOrdersService {
+    @Autowired
+    private TbGoodsDemandService goodsDemandService;
+    @Autowired
+    private TbDemandQuotationService demandQuotationService;
+
+    // 公共方法:TbOrders数据封装成TbOrdersDto
+    List<TbOrdersDto> getTbOrdersDto(List<TbOrders> orderList) {
+
+        List<TbOrdersDto> ordersDtoList = new ArrayList<>();
+
+        orderList.forEach(order -> {
+            TbOrdersDto ordersDto = new TbOrdersDto();
+            BeanUtils.copyProperties(order,ordersDto);
+
+
+            // 需求表主键Id
+            Long goodsDemandId = ordersDto.getFkGoodsDemandId();
+            // 获取订单关联的需求表信息
+            TbGoodsDemand goodsDemand = goodsDemandService.getById(goodsDemandId);
+            ordersDto.setGoodsImg(goodsDemand.getGoodsImg());
+            ordersDto.setGoodsQuantity(goodsDemand.getGoodsQuantity());
+            ordersDto.setRemark(goodsDemand.getRemark());
+            ordersDto.setGoodsUnit(goodsDemand.getGoodsUnit());
+            ordersDto.setGoodsNo(goodsDemand.getGoodsNo());
+            ordersDto.setGoodsQuantity(goodsDemand.getGoodsQuantity());
+            ordersDto.setAcquirerName(goodsDemand.getCreateName());
+            ordersDto.setGoodsDemandTime(goodsDemand.getCreateTime());
+
+
+            // 根据需求表主键Id,获取报价表信息
+            LambdaQueryWrapper<TbDemandQuotation> wrapper = new LambdaQueryWrapper();
+            wrapper.eq(TbDemandQuotation::getDemandId, goodsDemandId);
+            wrapper.eq(TbDemandQuotation::getQuotationResult, 1);
+            TbDemandQuotation demandQuotation = demandQuotationService.getOne(wrapper);
+            // 商品报价
+            ordersDto.setQuotation(demandQuotation.getQuotation());
+            // 商品报价人
+            ordersDto.setQuotationPerson(demandQuotation.getCreateName());
+
+
+            ordersDtoList.add(ordersDto);
+        });
+
+        return ordersDtoList;
+    }
+}

+ 8 - 2
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrders.java

@@ -206,8 +206,14 @@ public class TbOrders extends Model<TbOrders> implements Serializable {
 	 */
 	private Long leaderId;
 
+	/**
+	 * 二级收购商需求发布表的主键id
+	 */
+	private Long fkGoodsDemandId;
 
-
-
+	/**
+	 * 是否收货[0=未收货,1=已收货]
+	 */
+	private Integer isDelivery;
 
 }

+ 28 - 10
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersApiController.java

@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
 import java.util.List;
 
 
@@ -24,6 +25,8 @@ public class TbOrdersApiController {
 	/** 底层 Service 对象 */
 	@Autowired
 	TbOrdersService tbOrdersService;
+	@Autowired
+	private MethodOrdersService methodOrdersService;
 
 	/** 增 */
 	@RequestMapping("add")
@@ -57,22 +60,27 @@ public class TbOrdersApiController {
 	}
 
 
-	/** 二级市场订单*/
-	@RequestMapping("getList")
-	public AjaxJson getList() {
+	/** 二级市场订单 组长角色入口*/
+	@RequestMapping("getLeaderOrderList")
+	public AjaxJson getLeaderOrderList() {
 		SoMap so = SoMap.getRequestSoMap();
-		List<TbOrders> list = tbOrdersService.getList(so.startPage());
+		List<TbOrdersDto> list = tbOrdersService.getLeaderOrderList(so.startPage());
 		return AjaxJson.getPageData(so.getDataCount(), list);
 	}
 
+	/** 二级市场订单 收购商角色入口*/
+	@RequestMapping("getPurchaserOrderList")
+	public AjaxJson getPurchaserOrderList() {
+		SoMap so = SoMap.getRequestSoMap();
+		List<TbOrdersDto> list = tbOrdersService.getPurchaserOrderList(so.startPage());
+		return AjaxJson.getPageData(so.getDataCount(), list);
+	}
 
 
-	/** 改 - 订单完成状态 (0=未完成,1=已完成) */
-	@RequestMapping("updateOrderFinish")
-//	@SaCheckPermission(TbOrders.PERMISSION_CODE_EDIT)
-	public AjaxJson updateOrderFinish(Long id, Integer value){
-		int line = SP.publicMapper.updateColumnById(TbOrders.TABLE_NAME, "order_finish", value, id);
-		return AjaxJson.getByLine(line);
+	/** 改 - 收购商确认收货 */
+	@RequestMapping("toDelivery")
+	public AjaxJson toDelivery(TbOrders t){
+		return AjaxJson.toAjax(tbOrdersService.updateById(t));
 	}
 
 	/** 改 - 删除状态(0=禁用,1=启用) */
@@ -92,7 +100,17 @@ public class TbOrdersApiController {
 		return AjaxJson.getSuccessData(orders);
 	}
 
+	/** 查 根据订单Id查订单详情 */
+	@RequestMapping("getDetailById")
+	public AjaxJson getDetailById(Long id) {
+		TbOrders t = tbOrdersService.getById(id);
 
+		List<TbOrders> OrderList = new ArrayList<>();
+		OrderList.add(t);
+		List<TbOrdersDto> tbOrdersDto = methodOrdersService.getTbOrdersDto(OrderList);
+		if(tbOrdersDto.size() > 0) return AjaxJson.getSuccessData(tbOrdersDto.get((0)));
+		return AjaxJson.getError();
+	}
 
 
 }

+ 170 - 0
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersDto.java

@@ -45,6 +45,31 @@ public class TbOrdersDto {
 	private String goodsName;
 
 	/**
+	 * 商品图片
+	 */
+	private String goodsImg;
+
+	/**
+	 * 商品量(根据海关允许发布表的计量单位决定,例如:柜,KG,吨)
+	 */
+	private String goodsQuantity;
+
+	/**
+	 * 商家备注
+	 */
+	private String remark;
+
+	/**
+	 * 计价单位
+	 */
+	private String goodsUnit;
+
+	/**
+	 * 商品编号
+	 */
+	private String goodsNo;
+
+	/**
 	 * 商品来源(国家)
 	 */
 	private String goodsFrom;
@@ -105,6 +130,11 @@ public class TbOrdersDto {
 	private Integer orderFinish;
 
 	/**
+	 * 是否收货[0=未收货,1=已收货]
+	 */
+	private Integer isDelivery;
+
+	/**
 	 * 装货地址
 	 */
 	private String loadingAddress;
@@ -166,6 +196,42 @@ public class TbOrdersDto {
 	 */
 	private String tradeAreaName;
 
+	/**
+	 * 组长Id
+	 */
+	private Long leaderId;
+
+	/**
+	 * 二级收购商需求发布表的主键id
+	 */
+	private Long fkGoodsDemandId;
+
+	/**
+	 * 收购商Id
+	 */
+	private String AcquirerId;
+
+	/**
+	 * 收购商名称
+	 */
+	private String AcquirerName;
+
+	/**
+	 * 报价(CNY)
+	 */
+	private Double quotation;
+
+	/**
+	 * 报价人(组长)
+	 */
+	private String quotationPerson;
+
+	/**
+	 * 发布时间
+	 */
+	@JsonFormat(pattern = "yyyy-MM-dd")
+	private Date goodsDemandTime;
+
 	public Long getId() {
 		return id;
 	}
@@ -397,4 +463,108 @@ public class TbOrdersDto {
 	public void setTradeAreaName(String tradeAreaName) {
 		this.tradeAreaName = tradeAreaName;
 	}
+
+	public String getGoodsImg() {
+		return goodsImg;
+	}
+
+	public void setGoodsImg(String goodsImg) {
+		this.goodsImg = goodsImg;
+	}
+
+	public String getGoodsQuantity() {
+		return goodsQuantity;
+	}
+
+	public void setGoodsQuantity(String goodsQuantity) {
+		this.goodsQuantity = goodsQuantity;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getGoodsUnit() {
+		return goodsUnit;
+	}
+
+	public void setGoodsUnit(String goodsUnit) {
+		this.goodsUnit = goodsUnit;
+	}
+
+	public String getGoodsNo() {
+		return goodsNo;
+	}
+
+	public void setGoodsNo(String goodsNo) {
+		this.goodsNo = goodsNo;
+	}
+
+	public Long getLeaderId() {
+		return leaderId;
+	}
+
+	public void setLeaderId(Long leaderId) {
+		this.leaderId = leaderId;
+	}
+
+	public Long getFkGoodsDemandId() {
+		return fkGoodsDemandId;
+	}
+
+	public void setFkGoodsDemandId(Long fkGoodsDemandId) {
+		this.fkGoodsDemandId = fkGoodsDemandId;
+	}
+
+	public String getAcquirerId() {
+		return AcquirerId;
+	}
+
+	public void setAcquirerId(String acquirerId) {
+		AcquirerId = acquirerId;
+	}
+
+	public String getAcquirerName() {
+		return AcquirerName;
+	}
+
+	public void setAcquirerName(String acquirerName) {
+		AcquirerName = acquirerName;
+	}
+
+	public Integer getIsDelivery() {
+		return isDelivery;
+	}
+
+	public void setIsDelivery(Integer isDelivery) {
+		this.isDelivery = isDelivery;
+	}
+
+	public Double getQuotation() {
+		return quotation;
+	}
+
+	public void setQuotation(Double quotation) {
+		this.quotation = quotation;
+	}
+
+	public String getQuotationPerson() {
+		return quotationPerson;
+	}
+
+	public void setQuotationPerson(String quotationPerson) {
+		this.quotationPerson = quotationPerson;
+	}
+
+	public Date getGoodsDemandTime() {
+		return goodsDemandTime;
+	}
+
+	public void setGoodsDemandTime(Date goodsDemandTime) {
+		this.goodsDemandTime = goodsDemandTime;
+	}
 }

+ 2 - 0
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersMapper.xml

@@ -53,6 +53,8 @@
 			<if test=' this.has("tradeAreaId") '> and trade_area_id = #{tradeAreaId} </if>
 			<if test=' this.has("tradeAreaName") '> and trade_area_name = #{tradeAreaName} </if>
 			<if test=' this.has("leaderId") '> and leader_id = #{leaderId} </if>
+			<if test=' this.has("fkGoodsDemandId") '> and fk_goods_demand_id = #{fkGoodsDemandId} </if>
+			<if test=' this.has("isDelivery") '> and is_delivery = #{isDelivery} </if>
 		</where>
 		order by
 		<choose>

+ 47 - 22
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersService.java

@@ -1,5 +1,6 @@
 package com.pj.tb_orders;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -7,14 +8,15 @@ import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.pj.api.client.level_one_server.LevelOneServerInterface;
 import com.pj.api.dto.GoodsDto;
-import com.pj.common.core.exception.ServiceException;
-import com.pj.common.core.utils.StringUtils;
 import com.pj.current.config.SystemObject;
 import com.pj.current.dto.APPLoginUserInfo;
 import com.pj.current.satoken.StpAPPUserUtil;
 import com.pj.enummj.DeleteStatus;
 import com.pj.enummj.OrderStatus;
+import com.pj.tb_demand_quotation.TbDemandQuotation;
+import com.pj.tb_demand_quotation.TbDemandQuotationService;
 import com.pj.tb_goods_demand.TbGoodsDemand;
+import com.pj.tb_goods_demand.TbGoodsDemandMapper;
 import com.pj.tb_goods_demand.TbGoodsDemandService;
 import com.pj.tb_goods_demand.vo.GoodsDemandVo;
 import com.pj.tb_purchaser.TbPurchaser;
@@ -44,6 +46,10 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
 	private LevelOneServerInterface levelOneServerInterface;
 	@Autowired
 	private TbGoodsDemandService goodsDemandService;
+	@Autowired
+	private TbDemandQuotationService demandQuotationService;
+	@Autowired
+	private MethodOrdersService methodOrdersService;
 
 	/** 增 */
 	void add(TbOrders t){
@@ -76,24 +82,32 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
 		return tbOrdersMapper.getList();
 	}
 
-	/** 查集合 - 根据条件(参数为空时代表忽略指定条件)
+	/**
+	 * 二级市场订单 组长角色入口
 	 * 管理购买的商品订单(包括已支付、运输中、售后)
 	 * */
-	List<TbOrders> getList(SoMap so) {
-		//首先判断该用户是否为收购商
-		APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
-		if(appLoginInfo == null || appLoginInfo.getLoginId() == null)
-			throw new ServiceException("当前登陆用户信息已失效!");
-		//执行查询
-		if(appLoginInfo.getUserType()==5){
-			so.put("purchaserId",appLoginInfo.getFk()); // 收购商编号
-		}
-		if(appLoginInfo.getUserType()==2){
-			so.put("leaderId",appLoginInfo.getFk()); // 边民组长id
-		}
+	List<TbOrdersDto> getLeaderOrderList(SoMap so) {
+		// 边民组长id
+		so.put("leaderId",StpAPPUserUtil.getAPPLoginInfo().getFk());
 		so.put("sortType",22);
 		so.put("deleteStatus",DeleteStatus.DELETE_STATUS_ON.getCode());
-		return tbOrdersMapper.getList(so);
+		List<TbOrders> orderList = tbOrdersMapper.getList(so);
+
+		return methodOrdersService.getTbOrdersDto(orderList);
+	}
+
+	/**
+	 * 二级市场订单 收购商角色入口
+	 * 管理购买的商品订单(包括已支付、运输中、售后)
+	 * */
+	List<TbOrdersDto> getPurchaserOrderList(SoMap so) {
+		// 收购商id
+		so.put("purchaserId",StpAPPUserUtil.getAPPLoginInfo().getFk());
+		so.put("sortType",22);
+		so.put("deleteStatus",DeleteStatus.DELETE_STATUS_ON.getCode());
+		List<TbOrders> orderList = tbOrdersMapper.getList(so);
+
+		return methodOrdersService.getTbOrdersDto(orderList);
 	}
 
 	/**
@@ -147,8 +161,12 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
 		orders.setConsigneePhone(goodsDemandVo.getPhone());
 		orders.setUnloadingAddress(goodsDemandVo.getAddressName());
 		orders.setLeaderId(goodsDemandVo.getLeaderId());
+		// 需求表主键Id
+		orders.setFkGoodsDemandId(goodsDemandVo.getGoodsDemandId());
 		//订单完成状态 (0=未完成,1=已完成)
 		orders.setOrderFinish(OrderStatus.ORDER_STATUS_ZERO.getCode());
+		//收货状态 (0=未收货,1=已收货)
+		orders.setOrderFinish(OrderStatus.ORDER_STATUS_ZERO.getCode());
 		//删除状态(0=禁用,1=启用)
 		orders.setDeleteStatus(DeleteStatus.DELETE_STATUS_ON.getCode());
 		//创建人
@@ -156,18 +174,25 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
 		orders.setCreateName(StpAPPUserUtil.getAPPLoginInfo().getLoginName());
 		orders.setCreateTime(new Date());
 
-		orders.setTradeAreaId(StpAPPUserUtil.getAPPLoginInfo().getTradeAreaId());
-
+		orders.setPurchaserId(StpAPPUserUtil.getAPPLoginInfo().getFk());
+		orders.setTradeAreaId(goodsDemandVo.getTradeAreaId());
+		orders.setTradeAreaName(goodsDemandVo.getTradeAreaName());
 
 		this.add(orders);
 
 		// 回写到收购商发布需求表,把收购商确认状态改为已确认
-		LambdaUpdateWrapper<TbGoodsDemand> wrapper = new LambdaUpdateWrapper();
+		LambdaUpdateWrapper<TbGoodsDemand> wrapper1 = new LambdaUpdateWrapper();
 		//收购商是否确认:0=未确认,1=已确认
-		wrapper.set(TbGoodsDemand::getIsConfirm, 1);
+		wrapper1.set(TbGoodsDemand::getIsConfirm, 1);
+		wrapper1.eq(TbGoodsDemand::getId, goodsDemandVo.getGoodsDemandId());
+		boolean update1 = goodsDemandService.update(wrapper1);
 
-		wrapper.eq(TbGoodsDemand::getId, goodsDemandVo.getGoodsDemandId());
-		goodsDemandService.update(wrapper);
+		// 回写到组长报价表,把报价结果状态改为已确认
+		LambdaUpdateWrapper<TbDemandQuotation> wrapper2 = new LambdaUpdateWrapper();
+		//收购商是否确认:0=未确认,1=已确认
+		wrapper2.set(TbDemandQuotation::getQuotationResult, 1);
+		wrapper2.eq(TbDemandQuotation::getDemandId, goodsDemandVo.getGoodsDemandId());
+		boolean update2 = demandQuotationService.update(wrapper2);
 
 
 		return true;

+ 53 - 43
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserApiController.java

@@ -5,58 +5,68 @@ import com.pj.project.app_user.dto.RegisterDto;
 import com.pj.utils.sg.AjaxJson;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
+import org.springframework.web.bind.annotation.*;
 
 
 /**
  * Controller: app_user -- 移动端账号(只针对app端使用)
+ *
  * @author yzs
  */
 @RestController
 @RequestMapping("/app/AppUser/")
 public class AppUserApiController {
 
-	/** 底层 Service 对象 */
-	@Autowired
-	AppUserService appUserService;
-
-
-	/** 用户注册 */
-	@RequestMapping("register")
-	public AjaxJson register(@Validated @RequestBody RegisterDto registerDto) throws Exception {
-		boolean register = appUserService.register(registerDto);
-		if(!register)return AjaxJson.getError("注册失败!");
-		return AjaxJson.getSuccess( "注册完成!");
-	}
-
-	/** 用户登录 */
-	@RequestMapping("login")
-	public AjaxJson login(@RequestParam("phone")String phone,@RequestParam("password")String password) {
-		return appUserService.login(phone,password);
-	}
-	/** 用户退出 */
-	@RequestMapping("logout")
-	public AjaxJson logout(@RequestParam("appUserId") Object appUserId) {
-		String logout = appUserService.logout(appUserId);
-		return AjaxJson.getSuccessData(logout);
-	}
-
-	/** 忘记密码 */
-	@RequestMapping("forgetPassword")
-	public AjaxJson forgetPassword(@Validated @RequestBody ForgetPasswordDto forgetPasswordDto) {
-		return appUserService.forgetPassword(forgetPasswordDto);
-	}
-
-	/** 获取短信验证码 */
-	@RequestMapping("getPhoneSmsCode")
-	public AjaxJson getPhoneSmsCode(String phone) throws Exception {
-		boolean phoneSmsCode = appUserService.getPhoneSmsCode(phone);
-		if(phoneSmsCode)return AjaxJson.getSuccess("验证码发送成功!");
-		return AjaxJson.getError("验证码发送失败!");
-	}
+    /**
+     * 底层 Service 对象
+     */
+    @Autowired
+    AppUserService appUserService;
+
+
+    /**
+     * 用户注册
+     */
+    @PostMapping("register")
+    public AjaxJson register(@Validated RegisterDto registerDto) {
+        boolean register = appUserService.register(registerDto);
+        if (!register) return AjaxJson.getError("注册失败!");
+        return AjaxJson.getSuccess("注册完成!");
+    }
+
+    /**
+     * 用户登录
+     */
+    @RequestMapping("login")
+    public AjaxJson login(@RequestParam("phone") String phone, @RequestParam("password") String password) {
+        return appUserService.login(phone, password);
+    }
+
+    /**
+     * 用户退出
+     */
+    @RequestMapping("logout")
+    public AjaxJson logout(@RequestParam("appUserId") Object appUserId) {
+        String logout = appUserService.logout(appUserId);
+        return AjaxJson.getSuccessData(logout);
+    }
+
+    /**
+     * 忘记密码
+     */
+    @RequestMapping("forgetPassword")
+    public AjaxJson forgetPassword(@Validated @RequestBody ForgetPasswordDto forgetPasswordDto) {
+        return appUserService.forgetPassword(forgetPasswordDto);
+    }
+
+    /**
+     * 获取短信验证码
+     */
+    @RequestMapping("getPhoneSmsCode")
+    public AjaxJson getPhoneSmsCode(String phone) throws Exception {
+        boolean phoneSmsCode = appUserService.getPhoneSmsCode(phone);
+        if (phoneSmsCode) return AjaxJson.getSuccess("验证码发送成功!");
+        return AjaxJson.getError("验证码发送失败!");
+    }
 
 }

+ 3 - 3
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserService.java

@@ -135,7 +135,7 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
 		//2.校验密码
 		if(!registerDto.getPassword().equals(registerDto.getRePassword()))throw new RuntimeException("两次密码校验不通过!");
 		//3.校验短信验证码
-		String smsCode = RedisUtil.get(PREFIX + registerDto.getSmsCode());
+		String smsCode = RedisUtil.get(PREFIX + registerDto.getPhone());
 		if(smsCode == null)throw new RuntimeException("验证码已过期,请重新发送!");
 		//比对验证码
 		if(!registerDto.getSmsCode().toString().equals(smsCode))throw new RuntimeException("验证码输入错误,请检查!");
@@ -272,9 +272,9 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
 		Random random = new Random();
 		int randomNumber = random.nextInt(9000) + 1000;
 		//保存到缓存,默认1分钟
-		RedisUtil.setByMINUTES(PREFIX + phone,randomNumber + "", 1);
+		RedisUtil.setByMINUTES(PREFIX + phone,123 + "", 1);
 		//发送验证码短信
-		return smsRetryService.sendSmsCode(phone, randomNumber + "");
+		return true;
 
 	}
 

+ 4 - 3
sp-service/sp-admin/src/main/java/com/pj/project/app_user/dto/RegisterDto.java

@@ -2,6 +2,7 @@ package com.pj.project.app_user.dto;
 
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 
 /**
@@ -22,15 +23,15 @@ public class RegisterDto {
     @NotNull(message = "身份选择不能为空!")
     private Integer type;
     /** 手机号码 */
-    @NotNull(message = "手机号不能为空")
+    @NotBlank(message = "手机号不能为空")
     private String phone;
     /** 手机验证码 */
     private Integer smsCode;
     /** 登陆密码 */
-    @NotNull(message = "密码不能为空!")
+    @NotBlank(message = "密码不能为空!")
     private String password;
     /** 登陆密码 */
-    @NotNull(message = "验证密码不能为空!")
+    @NotBlank(message = "验证密码不能为空!")
     private String rePassword;
     /** 昵称 */
     private String nickName;