linbl 1 жил өмнө
parent
commit
58ed7fd23d

+ 10 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderAppController.java

@@ -2,6 +2,9 @@ package com.pj.tb_order;
 
 import com.pj.api.dto.OrderDto;
 import com.pj.project4sp.SP;
+import com.pj.tb_order.vo.OrderVo;
+import com.pj.tb_order.vo.PeopleConfirmVo;
+import com.pj.tb_people.TbPeople;
 import com.pj.utils.sg.AjaxJson;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -132,6 +135,13 @@ public class TbOrderAppController {
 		return AjaxJson.getSuccessData(tbOrderService.selectPeopleConfirmByOrderId(orderId));
 	}
 
+	@RequestMapping("getPeopleState")
+	public AjaxJson getPeopleState() {
+		SoMap so = SoMap.getRequestSoMap();
+		List<PeopleConfirmVo> list = tbOrderService.getPeopleState(so);
+		return AjaxJson.getPageData(Long.valueOf(list.size()), list);
+	}
+
 	/*-----           正常业务逻辑👆👆    rpc远程调用👇👇 -----*/
 
 	/** 查询当天的下单记录 */

+ 40 - 17
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java

@@ -1,9 +1,7 @@
 package com.pj.tb_order;
 
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -16,12 +14,11 @@ import com.pj.common.core.exception.ServiceException;
 import com.pj.current.dto.APPLoginUserInfo;
 import com.pj.current.satoken.StpAPPUserUtil;
 import com.pj.enummj.*;
-import com.pj.tb_enterprise.TbEnterprise;
-import com.pj.tb_enterprise.TbEnterpriseMapper;
 import com.pj.tb_goods_transit.TbGoodsTransit;
 import com.pj.tb_goods_transit.TbGoodsTransitMapper;
 import com.pj.tb_goods_transit.TbGoodsTransitService;
 import com.pj.tb_order.vo.OrderVo;
+import com.pj.tb_order.vo.PeopleConfirmVo;
 import com.pj.tb_order_people_confirm.TbOrderPeopleConfirm;
 import com.pj.tb_order_people_confirm.TbOrderPeopleConfirmMapper;
 import com.pj.tb_people.TbPeople;
@@ -49,19 +46,17 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 	/** 互市组 */
 	@Autowired
 	private TbPeopleMapper tbPeopleMapper;
-
+	@Autowired
+	TbOrderPeopleConfirmMapper tbOrderPeopleConfirmMapper;
 	@Autowired
 	private MethodOrderService methodOrderService;
+
 	@Autowired
 	private TbGoodsTransitMapper tbGoodsTransitMapper;
 	@Autowired
 	private TbGoodsTransitService tbGoodsTransitService;
 	@Autowired
 	private LevelOneServerInterface levelOneServerInterface;
-	@Autowired
-	private TbEnterpriseMapper tbEnterpriseMapper;
-	@Autowired
-	private TbOrderPeopleConfirmMapper tbOrderPeopleConfirmMapper;
 
 	/**
 	 * 远程调用
@@ -148,13 +143,6 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 		//查询订单
 		TbOrder tbOrder = tbOrderMapper.selectById(orderId);
 		if(tbOrder == null)throw new ServiceException("订单状态异常!");
-		//如果该订单商户已叫车则无法进行取消
-		if(tbOrder.getCallCarStatus() == 1 || tbOrder.getCallCarStatus() == 2){
-			TbEnterprise enterprise = tbEnterpriseMapper.selectById(appLoginInfo.getFk());
-			String phone = null;
-			if(enterprise != null)phone = enterprise.getContact();
-			throw new ServiceException("您的订单单号为[ " + tbOrder.getTradeNo() + " ]商户已叫车,无法进行取消,请联系商户电话[ " + phone + " ]进行取消。");
-		}
 		//将状态设置已取消
 		tbOrder.setCancelPeople(1);
 		//执行保存
@@ -314,6 +302,41 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 		return tbOrderPeopleConfirms;
 	}
 
+	public List<PeopleConfirmVo> getPeopleState(SoMap so) {
+		List<PeopleConfirmVo> peopleConfirmList = new ArrayList<>();
+
+		// 获取当前订单所有已确认的边民
+		List<TbOrderPeopleConfirm> peopleConfirmlist = tbOrderPeopleConfirmMapper.getList(so);
+		Set<Long> peopleIds = new HashSet<>();
+		for (TbOrderPeopleConfirm tbOrderPeopleConfirm: peopleConfirmlist) {
+			peopleIds.add(tbOrderPeopleConfirm.getPeopleId());
+		}
+
+		// 获取组内所有边民
+		List<TbPeople> peopleList = tbPeopleMapper.getList(so);
+		for (TbPeople people : peopleList) {
+			PeopleConfirmVo peopleConfirmVo = new PeopleConfirmVo();
+			peopleConfirmVo.setOrderId(so.getLong("orderId"));
+			peopleConfirmVo.setGroupId(so.getLong("groupId"));
+			peopleConfirmVo.setPeopleId(people.getId());
+			peopleConfirmVo.setPeopleName(people.getName());
+
+			// 订单确认状态
+			if(peopleIds.contains(people.getId()) || 2 == people.getRole()) {
+				peopleConfirmVo.setOrderStatus(1);
+			} else {
+				peopleConfirmVo.setOrderStatus(0);
+			}
+			// 进境申报状态
+			peopleConfirmVo.setEntryStatus(0);
+			// 进口申报状态
+			peopleConfirmVo.setImportStatus(0);
+
+			peopleConfirmList.add(peopleConfirmVo);
+		}
+		return peopleConfirmList;
+	}
+
 	/** 远程调用:根据时间和登陆人查询订单 */
 	public List<OrderDto> selectOrderList( Long appUserId){
 		//判断当前是否已接单

+ 49 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order/vo/PeopleConfirmVo.java

@@ -0,0 +1,49 @@
+package com.pj.tb_order.vo;
+
+import lombok.Data;
+
+
+/**
+ * @Author lbl
+ **/
+@Data
+public class PeopleConfirmVo {
+
+
+    /**
+     * 订单ID
+     */
+    private Long orderId;
+
+
+    /**
+     * 组ID
+     */
+    private Long groupId;
+
+    /**
+     * 边民ID
+     */
+    private Long peopleId;
+
+    /**
+     * 边民名称
+     */
+    private String peopleName;
+
+    /**
+     * 订单确认状态
+     */
+    private Integer orderStatus;
+
+    /**
+     * 进境申报状态
+     */
+    private Integer entryStatus;
+    /**
+     * 进口申报状态
+     */
+    private Integer importStatus;
+
+
+}

+ 16 - 16
sp-service/level-one-server/src/main/java/com/pj/tb_order_people_confirm/TbOrderPeopleConfirm.java

@@ -12,8 +12,8 @@ import lombok.Data;
 import lombok.experimental.Accessors;
 
 /**
- * Model: tb_order_people_confirm -- 便民确认订单监听表
- * @author yzs 
+ * Model: tb_order_people_confirm -- 民确认订单监听表
+ * @author yzs
  */
 @Data
 @Accessors(chain = true)
@@ -23,15 +23,15 @@ public class TbOrderPeopleConfirm extends Model<TbOrderPeopleConfirm> implements
 
 	// ---------- 模块常量 ----------
 	/**
-	 * 序列化版本id 
+	 * 序列化版本id
 	 */
-	private static final long serialVersionUID = 1L;	
+	private static final long serialVersionUID = 1L;
 	/**
-	 * 此模块对应的表名 
+	 * 此模块对应的表名
 	 */
-	public static final String TABLE_NAME = "tb_order_people_confirm";	
+	public static final String TABLE_NAME = "tb_order_people_confirm";
 	/**
-	 * 此模块对应的权限码 
+	 * 此模块对应的权限码
 	 */
 	public static final String PERMISSION_CODE = "tb-order-people-confirm";
 	public static final String PERMISSION_CODE_ADD = "tb-order-people-confirm-add";
@@ -43,13 +43,13 @@ public class TbOrderPeopleConfirm extends Model<TbOrderPeopleConfirm> implements
 
 	// ---------- 表中字段 ----------
 	/**
-	 * 便民确认监听表主键ID 
+	 * 便民确认监听表主键ID
 	 */
 	@TableId(type = IdType.AUTO)
-	private Integer id;	
+	private Integer id;
 
 	/**
-	 * 一级订单表主键ID 
+	 * 一级订单表主键ID
 	 */
 	private Long orderId;
 
@@ -59,17 +59,17 @@ public class TbOrderPeopleConfirm extends Model<TbOrderPeopleConfirm> implements
 	private String peopleName;
 
 	/**
-	 * 一级市场边民ID 
+	 * 一级市场边民ID
 	 */
-	private Long peopleId;	
+	private Long peopleId;
 
 	/**
-	 * 组ID 
+	 * 组ID
 	 */
-	private Long groupId;	
+	private Long groupId;
 
 	/**
-	 * 边民确认时间 
+	 * 边民确认时间
 	 */
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
@@ -88,7 +88,7 @@ public class TbOrderPeopleConfirm extends Model<TbOrderPeopleConfirm> implements
 
 
 
-	
+
 
 
 }

+ 36 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order_people_confirm/TbOrderPeopleConfirmAppController.java

@@ -0,0 +1,36 @@
+package com.pj.tb_order_people_confirm;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.pj.project4sp.SP;
+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.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+
+/**
+ * Controller: tb_order_people_confirm -- 便民确认订单监听表
+ * @author yzs
+ */
+@RestController
+@RequestMapping("/app/TbOrderPeopleConfirm/")
+public class TbOrderPeopleConfirmAppController {
+
+	/** 底层 Service 对象 */
+	@Autowired
+	TbOrderPeopleConfirmService tbOrderPeopleConfirmService;
+
+
+	/** 查集合 - 根据当前边民的组Id与订单Id查看边民确认情况 */
+	@RequestMapping("getByOrderId")
+	public AjaxJson getByOrderId(@RequestParam("orderId") Long orderId) {
+		List<TbOrderPeopleConfirm> list = tbOrderPeopleConfirmService.getByOrderId(orderId);
+		return AjaxJson.getPageData(Long.valueOf(list.size()), list);
+	}
+
+
+}

+ 19 - 5
sp-service/level-one-server/src/main/java/com/pj/tb_order_people_confirm/TbOrderPeopleConfirmService.java

@@ -1,6 +1,9 @@
 package com.pj.tb_order_people_confirm;
 
 import java.util.List;
+
+import com.pj.tb_people.MethodPeopleService;
+import com.pj.tb_people.TbPeople;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -11,12 +14,15 @@ import com.pj.utils.sg.*;
 
 /**
  * Service: tb_order_people_confirm -- 便民确认订单监听表
- * @author yzs 
+ * @author yzs
  */
 @Service
 @Transactional(rollbackFor = Exception.class)
 public class TbOrderPeopleConfirmService extends ServiceImpl<TbOrderPeopleConfirmMapper, TbOrderPeopleConfirm> implements IService<TbOrderPeopleConfirm>{
 
+	@Autowired
+	private MethodPeopleService methodPeopleService;
+
 	/** 底层 Mapper 对象 */
 	@Autowired
 	TbOrderPeopleConfirmMapper tbOrderPeopleConfirmMapper;
@@ -42,10 +48,18 @@ public class TbOrderPeopleConfirmService extends ServiceImpl<TbOrderPeopleConfir
 		return super.getById(id);
 	}
 
-	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */  
-	List<TbOrderPeopleConfirm> getList(SoMap so) { 
-		return tbOrderPeopleConfirmMapper.getList(so);	
+	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
+	List<TbOrderPeopleConfirm> getList(SoMap so) {
+		return tbOrderPeopleConfirmMapper.getList(so);
+	}
+
+	/** 查集合 - 根据当前边民的组Id与订单Id查看边民确认情况 */
+	List<TbOrderPeopleConfirm> getByOrderId(Long orderId) {
+		TbPeople tbPeople = methodPeopleService.getByAppUserFk();
+		SoMap soMap = new SoMap();
+		soMap.put("orderId",orderId);
+		soMap.put("groupId",tbPeople.getGroupId());
+		return tbOrderPeopleConfirmMapper.getList(soMap);
 	}
-	
 
 }

+ 19 - 2
sp-service/level-one-server/src/main/java/com/pj/tb_people/MethodPeopleService.java

@@ -1,5 +1,8 @@
 package com.pj.tb_people;
 
+import com.pj.common.core.exception.ServiceException;
+import com.pj.current.dto.APPLoginUserInfo;
+import com.pj.current.satoken.StpAPPUserUtil;
 import com.pj.tb_goods.TbGoods;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFRow;
@@ -22,9 +25,11 @@ import java.util.concurrent.Executors;
 @Service
 @Transactional(rollbackFor = Exception.class)
 public class MethodPeopleService {
-    
+
     @Autowired
     private TbPeopleService tbPeopleService;
+    @Autowired
+    private TbPeopleMapper tbPeopleMapper;
 
 
     /**
@@ -203,5 +208,17 @@ public class MethodPeopleService {
 
         return count;
     }
-    
+
+    /** 边民-根据当前登录账号获取边民表信息 */
+    public TbPeople getByAppUserFk() {
+        //获取登录人
+        APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
+        if(appLoginInfo == null || appLoginInfo.getLoginId() == null)
+            throw new RuntimeException("当前登录账号信息已失效!");
+        //查询当前边民
+        TbPeople tbPeople = tbPeopleMapper.selectById(appLoginInfo.getFk());
+        if(tbPeople == null)
+            throw new ServiceException("当前边民暂未认证!");
+        return tbPeople;
+    }
 }

+ 8 - 2
sp-service/level-one-server/src/main/java/com/pj/tb_people/TbPeopleAppController.java

@@ -7,6 +7,8 @@ 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;
+
 /**
  * Controller: tb_people -- 边民(app接口)
  * @Author Mechrevo
@@ -33,11 +35,15 @@ public class TbPeopleAppController {
         return AjaxJson.getSuccess();
     }
 
+
+
     /** 边民确认订单 */
     @RequestMapping("confirmOrder")
-    public AjaxJson confirmOrder(@RequestParam("confirm")Integer confirm,@RequestParam("orderId")Long orderId){
-        tbPeopleService.confirmOrder(confirm,orderId);
+    public AjaxJson confirmOrder(@RequestParam("orderId")Long orderId){
+        tbPeopleService.confirmOrder(orderId);
         return AjaxJson.getSuccess();
     }
 
+
+
 }

+ 9 - 1
sp-service/level-one-server/src/main/java/com/pj/tb_people/TbPeopleController.java

@@ -5,6 +5,7 @@ import java.util.List;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.pj.api.dto.PeopleDto;
+import com.pj.tb_people.dto.LeaveGroupDto;
 import com.pj.tb_people.dto.StartStopDto;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -75,11 +76,18 @@ public class TbPeopleController {
         return AjaxJson.getSuccess();
     }
 
+    /** 移除组内边民 */
+    @RequestMapping("leaveGroup")
+    @SaCheckPermission(TbPeople.PERMISSION_CODE_EDIT)
+    public AjaxJson leaveGroup(@Validated LeaveGroupDto leaveGroupDto) {
+        return AjaxJson.toAjax(tbPeopleService.leaveGroup(leaveGroupDto));
+    }
+
     /**
      * 查 - 根据id
      */
     @RequestMapping("getById")
-//	@SaCheckPermission(TbPeople.PERMISSION_CODE)
+	@SaCheckPermission(TbPeople.PERMISSION_CODE)
     public AjaxJson getById(String id) {
         TbPeople t = tbPeopleService.getById(id);
         return AjaxJson.getSuccessData(t);

+ 30 - 32
sp-service/level-one-server/src/main/java/com/pj/tb_people/TbPeopleService.java

@@ -25,6 +25,7 @@ import com.pj.tb_order.TbOrder;
 import com.pj.tb_order.TbOrderMapper;
 import com.pj.tb_order_people_confirm.TbOrderPeopleConfirm;
 import com.pj.tb_order_people_confirm.TbOrderPeopleConfirmMapper;
+import com.pj.tb_people.dto.LeaveGroupDto;
 import com.pj.tb_people.dto.StartStopDto;
 import com.pj.tb_people.vo.ApplyPeopleVo;
 import com.pj.utils.sg.AjaxJson;
@@ -88,6 +89,25 @@ public class TbPeopleService extends ServiceImpl<TbPeopleMapper, TbPeople> imple
 		removeById(id);
 	}
 
+	/** 移除组内边民 */
+	boolean leaveGroup(LeaveGroupDto leaveGroupDto){
+		for (Long id: leaveGroupDto.getIds()) {
+			LambdaUpdateWrapper<TbPeople> wrapper = new LambdaUpdateWrapper<>();
+			wrapper.set(TbPeople::getGroupId,null);
+			wrapper.set(TbPeople::getGroupName,"");
+			wrapper.set(TbPeople::getUpdateBy,StpUserUtil.getPCLoginInfo().getLoginId());
+			wrapper.set(TbPeople::getUpdateName,StpUserUtil.getPCLoginInfo().getLoginName());
+			wrapper.set(TbPeople::getUpdateTime,new Date());
+
+			wrapper.eq(TbPeople::getGroupId, leaveGroupDto.getGroupId());
+			wrapper.eq(TbPeople::getId, id);
+
+			boolean result = update(wrapper);
+			if(!result) throw new RuntimeException("边民移除出组失败!");
+		}
+		return true;
+	}
+
 	/** 改 */
 	void update(TbPeople t){
 		t.setUpdateTime(new Date())
@@ -113,6 +133,14 @@ public class TbPeopleService extends ServiceImpl<TbPeopleMapper, TbPeople> imple
 		return tbPeopleMapper.getLeftPeople();
 	}
 
+	/** 查集合 - 根据组Id查询组内所有边民 */
+	List<TbPeople> getByGroupId() {
+		TbPeople tbPeople = methodPeopleService.getByAppUserFk();
+		SoMap so = new SoMap();
+		so.put("groupId",tbPeople.getGroupId());
+		return tbPeopleMapper.getList(so);
+	}
+
 	/**
 	 * 审核
 	 */
@@ -273,40 +301,10 @@ public class TbPeopleService extends ServiceImpl<TbPeopleMapper, TbPeople> imple
 
 	/**
 	 *  边民确认订单
-	 * @param confirm 1=确认,0=拒绝
 	 * @param orderId 一级市场订单表ID
 	 */
-	public boolean confirmOrder(Integer confirm,Long orderId){
-		//边民拒绝
-		if(confirm == null || confirm != 1){
-			//修改订单表状态
-			TbOrder order = tbOrderMapper.selectById(orderId);
-			if(order == null)throw new ServiceException("订单信息异常!");
-			//设定为边民拒绝
-			order.setPeopleConfirm(2);
-			//执行保存
-			int updated = tbOrderMapper.updateById(order);
-			//将goodstransit修改成未被接单
-			if(updated == 1){
-				Long goodsId = order.getGoodsId();
-				TbGoodsTransit tbGoodsTransit = tbGoodsTransitMapper.selectById(goodsId);
-				if(tbGoodsTransit == null)throw new ServiceException("商品信息异常!");
-				//状态设置0
-				tbGoodsTransit.setIsOrders(0);
-				//执行修改
-				int updateById = tbGoodsTransitMapper.updateById(tbGoodsTransit);
-				return updateById == 1;
-			}
-		}
-		//边民同意
-		//获取登录人
-		APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
-		if(appLoginInfo == null || appLoginInfo.getLoginId() == null)
-			throw new RuntimeException("当前登录账号信息已失效!");
-		//查询当前边民
-		TbPeople tbPeople = tbPeopleMapper.selectById(appLoginInfo.getFk());
-		if(tbPeople == null)
-			throw new ServiceException("当前边民暂未认证!");
+	public boolean confirmOrder(Long orderId){
+		TbPeople tbPeople = methodPeopleService.getByAppUserFk();
 		//执行确认 todo:调用人脸认证
 		TbOrderPeopleConfirm tbOrderPeopleConfirm = new TbOrderPeopleConfirm();
 		tbOrderPeopleConfirm.setPeopleId(tbPeople.getId());

+ 19 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_people/dto/LeaveGroupDto.java

@@ -0,0 +1,19 @@
+package com.pj.tb_people.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Author lbl
+ **/
+@Data
+public class LeaveGroupDto {
+
+    @NotNull(message = "边民组ID")
+    private Long groupId;
+    @NotNull(message = "边民ID,集合可以没有值,但不能为null")
+    private List<Long> ids;
+
+}