Browse Source

Merge branch 'dev' of http://git.aseanbusiness.cn/qzyReal/market-server into dev

qzyReal 1 year ago
parent
commit
1d5fef7b43
45 changed files with 1759 additions and 269 deletions
  1. 4 4
      sp-core/sp-api/src/main/java/com/pj/api/client/admin/AdminInterface.java
  2. 6 4
      sp-core/sp-api/src/main/java/com/pj/api/client/admin/AdminInterfaceFallback.java
  3. 3 0
      sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterface.java
  4. 7 0
      sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterfaceFallback.java
  5. 154 0
      sp-core/sp-api/src/main/java/com/pj/api/dto/CooperativeDto.java
  6. 9 69
      sp-core/sp-api/src/main/java/com/pj/api/dto/OrderDto.java
  7. 1 0
      sp-core/sp-base/src/main/java/com/pj/current/dto/APPLoginUserInfo.java
  8. 4 4
      sp-core/sp-base/src/main/java/com/pj/enummj/ConfirmStatus.java
  9. 1 1
      sp-core/sp-base/src/main/java/com/pj/enummj/JudgeStatus.java
  10. 24 0
      sp-core/sp-base/src/main/java/com/pj/enummj/SellOut.java
  11. 227 0
      sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrders.java
  12. 58 0
      sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersAppController.java
  13. 87 0
      sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersController.java
  14. 30 0
      sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersMapper.java
  15. 111 0
      sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersMapper.xml
  16. 110 0
      sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersService.java
  17. 29 0
      sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersUtil.java
  18. 38 0
      sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/param/TbCollageOrdersParam.java
  19. 168 0
      sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperative.java
  20. 53 0
      sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeAppController.java
  21. 84 0
      sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeController.java
  22. 28 0
      sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeMapper.java
  23. 70 0
      sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeMapper.xml
  24. 67 0
      sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeService.java
  25. 21 0
      sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeUtil.java
  26. 6 8
      sp-service/level-one-server/src/main/java/com/pj/tb_enterprise/TbEnterpriseService.java
  27. 3 2
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/GoodsTransitAppController.java
  28. 14 18
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/MethodGoodsTransitService.java
  29. 6 3
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/TbGoodsTransit.java
  30. 97 93
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/TbGoodsTransitService.java
  31. 7 0
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/param/PurchaseLevelOneGoodsTransitParam.java
  32. 39 0
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_units/TbGoodsUnitsAppController.java
  33. 4 4
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrder.java
  34. 7 7
      sp-service/level-one-server/src/main/java/com/pj/tb_people/TbPeopleAppController.java
  35. 11 0
      sp-service/level-one-server/src/main/java/com/pj/tb_people/TbPeopleController.java
  36. 23 7
      sp-service/level-one-server/src/main/java/com/pj/tb_people/TbPeopleService.java
  37. 20 1
      sp-service/level-two-server/src/main/java/com/pj/tb_purchaser/MethodPurchaserService.java
  38. 9 3
      sp-service/level-two-server/src/main/java/com/pj/tb_purchaser/TbPurchaserController.java
  39. 13 10
      sp-service/level-two-server/src/main/java/com/pj/tb_purchaser/TbPurchaserService.java
  40. 53 0
      sp-service/level-two-server/src/main/java/com/pj/tb_purchaser/vo/PurchaserParamVo.java
  41. 7 0
      sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserApiController.java
  42. 2 1
      sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserController.java
  43. 25 10
      sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserService.java
  44. 19 18
      sp-service/sp-admin/src/main/java/com/pj/project/re_role_menu/PcRoleMenuController.java
  45. 0 2
      sp-service/sp-admin/src/main/java/com/pj/project/tb_message/TbMessageController.java

+ 4 - 4
sp-core/sp-api/src/main/java/com/pj/api/client/admin/AdminInterface.java

@@ -2,10 +2,7 @@ package com.pj.api.client.admin;
 
 import com.pj.api.FeignInterceptor;
 import com.pj.api.consts.FeignConsts;
-import com.pj.api.dto.AppUserDto;
-import com.pj.api.dto.DistrictDTO;
-import com.pj.api.dto.DistrictInfoDTO;
-import com.pj.api.dto.MessageDto;
+import com.pj.api.dto.*;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -55,6 +52,9 @@ public interface AdminInterface {
     @RequestMapping("/TbMessage/rpc/save")
     public void messageSave(@RequestBody MessageDto dto);
 
+    @RequestMapping("/AppUser/rpc/audit")
+    public boolean audit(@RequestBody EnterpriseAuditDto dto);
+
     /**
      * 根据城市名称查找地区数据
      *

+ 6 - 4
sp-core/sp-api/src/main/java/com/pj/api/client/admin/AdminInterfaceFallback.java

@@ -1,9 +1,6 @@
 package com.pj.api.client.admin;
 
-import com.pj.api.dto.DistrictDTO;
-import com.pj.api.dto.DistrictInfoDTO;
-import com.pj.api.dto.AppUserDto;
-import com.pj.api.dto.MessageDto;
+import com.pj.api.dto.*;
 import feign.hystrix.FallbackFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -64,6 +61,11 @@ public class AdminInterfaceFallback implements FallbackFactory<AdminInterface> {
             }
 
             @Override
+            public boolean audit(EnterpriseAuditDto dto) {
+                return true;
+            }
+
+            @Override
             public DistrictInfoDTO findInfoByCityName(String cityName) {
                 return null;
             }

+ 3 - 0
sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterface.java

@@ -71,4 +71,7 @@ public interface LevelOneServerInterface {
 
     @RequestMapping("/AppUser/rpc/audit")
     public boolean audit(@RequestBody EnterpriseAuditDto dto);
+
+    @RequestMapping("/app/TbCooperative/rpc/getCooperativeById")
+    public CooperativeDto getCooperativeById(@RequestParam("id")Long cooperativeId);
 }

+ 7 - 0
sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterfaceFallback.java

@@ -111,6 +111,13 @@ public class LevelOneServerInterfaceFallback implements FallbackFactory<LevelOne
             public boolean audit(EnterpriseAuditDto dto) {
                 return false;
             }
+
+            @Override
+            public CooperativeDto getCooperativeById(Long cooperativeId) {
+                System.out.println(throwable.getMessage());
+                log.error("查询一级市场商户错误,当前ID:{},错误信息是:{}",cooperativeId,throwable.getMessage());
+                return null;
+            }
         };
     }
 }

+ 154 - 0
sp-core/sp-api/src/main/java/com/pj/api/dto/CooperativeDto.java

@@ -0,0 +1,154 @@
+package com.pj.api.dto;
+
+import java.util.Date;
+
+/**
+ * Model: tb_cooperative -- 合作社
+ * @author lbl
+ */
+public class CooperativeDto {
+
+
+	/**
+	 * 贸易区域id
+	 */
+	private Long tradeAreaId;
+
+	/**
+	 * 贸易区域名称
+	 */
+	private String tradeAreaName;
+
+	/**
+	 * 名称
+	 */
+	private String name;
+
+	/**
+	 * 法人
+	 */
+	private String legalPerson;
+
+	/**
+	 * 身份证号
+	 */
+	private String idCard;
+
+	/**
+	 * 手机号码
+	 */
+	private String contact;
+
+	/**
+	 * 营业执照
+	 */
+	private String businessLicense;
+
+	/**
+	 * 银行名称
+	 */
+	private String bankName;
+
+	/**
+	 * 银行账号
+	 */
+	private String bankAccount;
+
+	/**
+	 * 税号
+	 */
+	private String dutyParagraph;
+
+	/**
+	 * 地址
+	 */
+	private String address;
+
+	public Long getTradeAreaId() {
+		return tradeAreaId;
+	}
+
+	public void setTradeAreaId(Long tradeAreaId) {
+		this.tradeAreaId = tradeAreaId;
+	}
+
+	public String getTradeAreaName() {
+		return tradeAreaName;
+	}
+
+	public void setTradeAreaName(String tradeAreaName) {
+		this.tradeAreaName = tradeAreaName;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getLegalPerson() {
+		return legalPerson;
+	}
+
+	public void setLegalPerson(String legalPerson) {
+		this.legalPerson = legalPerson;
+	}
+
+	public String getIdCard() {
+		return idCard;
+	}
+
+	public void setIdCard(String idCard) {
+		this.idCard = idCard;
+	}
+
+	public String getContact() {
+		return contact;
+	}
+
+	public void setContact(String contact) {
+		this.contact = contact;
+	}
+
+	public String getBusinessLicense() {
+		return businessLicense;
+	}
+
+	public void setBusinessLicense(String businessLicense) {
+		this.businessLicense = businessLicense;
+	}
+
+	public String getBankName() {
+		return bankName;
+	}
+
+	public void setBankName(String bankName) {
+		this.bankName = bankName;
+	}
+
+	public String getBankAccount() {
+		return bankAccount;
+	}
+
+	public void setBankAccount(String bankAccount) {
+		this.bankAccount = bankAccount;
+	}
+
+	public String getDutyParagraph() {
+		return dutyParagraph;
+	}
+
+	public void setDutyParagraph(String dutyParagraph) {
+		this.dutyParagraph = dutyParagraph;
+	}
+
+	public String getAddress() {
+		return address;
+	}
+
+	public void setAddress(String address) {
+		this.address = address;
+	}
+}

+ 9 - 69
sp-core/sp-api/src/main/java/com/pj/api/dto/OrderDto.java

@@ -20,66 +20,6 @@ public class OrderDto {
      */
     private Long applyNo;
 
-    public OrderDto(Integer cancelPeople, Long applyNo, Long id, Long tradeAreaId, String tradeAreaName, String addressIds, Long saleMainId, Long groupId, Long goodsId, String tradeNo, Long buyUserId, String buyUserName, String buyUserType, Long enterpriseId, String enterpriseName, Double totalWeight, Double totalPrice, Date tradeTime, Integer tradeStatus, String payType, String settleTime, Double realPrice, Double shouldPrice, Integer callCarStatus, Long settleUserId, Long recordUserId, String recordTime, String record, String refundReason, String refundTime, String receiveName, String receivePhone, String receiveAddress, String outTime, String goodsNames, Integer apply, String applyTime, String applyResult, String applyFailReason, String distribution, Integer peopleConfirm, Integer enterpriseConfirm, String pick, Date pickTime, Long shopId, String shopName, Integer send, String sendTime, Long levelTwoOrderId, Date createTime, Long createBy, String createName, Date updateTime, Long updateBy, String updateName, Integer deleteStatus, Integer finishStatus, Integer resaleStatus) {
-        this.cancelPeople = cancelPeople;
-        this.applyNo = applyNo;
-        this.id = id;
-        this.tradeAreaId = tradeAreaId;
-        this.tradeAreaName = tradeAreaName;
-        this.addressIds = addressIds;
-        this.saleMainId = saleMainId;
-        this.groupId = groupId;
-        this.goodsId = goodsId;
-        this.tradeNo = tradeNo;
-        this.buyUserId = buyUserId;
-        this.buyUserName = buyUserName;
-        this.buyUserType = buyUserType;
-        this.enterpriseId = enterpriseId;
-        this.enterpriseName = enterpriseName;
-        this.totalWeight = totalWeight;
-        this.totalPrice = totalPrice;
-        this.tradeTime = tradeTime;
-        this.tradeStatus = tradeStatus;
-        this.payType = payType;
-        this.settleTime = settleTime;
-        this.realPrice = realPrice;
-        this.shouldPrice = shouldPrice;
-        this.callCarStatus = callCarStatus;
-        this.settleUserId = settleUserId;
-        this.recordUserId = recordUserId;
-        this.recordTime = recordTime;
-        this.record = record;
-        this.refundReason = refundReason;
-        this.refundTime = refundTime;
-        this.receiveName = receiveName;
-        this.receivePhone = receivePhone;
-        this.receiveAddress = receiveAddress;
-        this.outTime = outTime;
-        this.goodsNames = goodsNames;
-        this.apply = apply;
-        this.applyTime = applyTime;
-        this.applyResult = applyResult;
-        this.applyFailReason = applyFailReason;
-        this.distribution = distribution;
-        this.peopleConfirm = peopleConfirm;
-        this.enterpriseConfirm = enterpriseConfirm;
-        this.pick = pick;
-        this.pickTime = pickTime;
-        this.shopId = shopId;
-        this.shopName = shopName;
-        this.send = send;
-        this.sendTime = sendTime;
-        this.levelTwoOrderId = levelTwoOrderId;
-        this.createTime = createTime;
-        this.createBy = createBy;
-        this.createName = createName;
-        this.updateTime = updateTime;
-        this.updateBy = updateBy;
-        this.updateName = updateName;
-        this.deleteStatus = deleteStatus;
-        this.finishStatus = finishStatus;
-        this.resaleStatus = resaleStatus;
-    }
 
     public Long getApplyNo() {
         return applyNo;
@@ -280,7 +220,7 @@ public class OrderDto {
     /**
      * 申报时间
      */
-    private String applyTime;
+    private Date applyTime;
 
     /**
      * 申报结果
@@ -338,9 +278,9 @@ public class OrderDto {
     private String sendTime;
 
     /**
-     * 对应二级市场中的收购单ID
+     * 大订单ID
      */
-    private Long levelTwoOrderId;
+    private Long collageOrdersId;
 
     /**
      * 创建时间
@@ -653,11 +593,11 @@ public class OrderDto {
         this.apply = apply;
     }
 
-    public String getApplyTime() {
+    public Date getApplyTime() {
         return applyTime;
     }
 
-    public void setApplyTime(String applyTime) {
+    public void setApplyTime(Date applyTime) {
         this.applyTime = applyTime;
     }
 
@@ -749,12 +689,12 @@ public class OrderDto {
         this.sendTime = sendTime;
     }
 
-    public Long getLevelTwoOrderId() {
-        return levelTwoOrderId;
+    public Long getCollageOrdersId() {
+        return collageOrdersId;
     }
 
-    public void setLevelTwoOrderId(Long levelTwoOrderId) {
-        this.levelTwoOrderId = levelTwoOrderId;
+    public void setCollageOrdersId(Long collageOrdersId) {
+        this.collageOrdersId = collageOrdersId;
     }
 
     public Date getCreateTime() {

+ 1 - 0
sp-core/sp-base/src/main/java/com/pj/current/dto/APPLoginUserInfo.java

@@ -16,4 +16,5 @@ public class APPLoginUserInfo implements Serializable {
     private Long groupId;
     private String groupName;
     private Long tradeAreaId;
+    private String tradeAreaName;
 }

+ 4 - 4
sp-core/sp-base/src/main/java/com/pj/enummj/EnterpriseConfirm.java → sp-core/sp-base/src/main/java/com/pj/enummj/ConfirmStatus.java

@@ -9,13 +9,13 @@ import lombok.Getter;
  **/
 @Getter
 @AllArgsConstructor
-public enum EnterpriseConfirm {
+public enum ConfirmStatus {
     /**
      * 商户订单确认情况
      */
-    ENTERPRISE_CONFIRM_ZERO(0,"待确认"),
-    ENTERPRISE_CONFIRM_ONE(1,"已确认"),
-    ENTERPRISE_CONFIRM_TWO(2,"拒绝");
+    CONFIRM_STATUS_ZERO(0,"待确认"),
+    CONFIRM_STATUS_ONE(1,"已确认"),
+    CONFIRM_STATUS_TWO(2,"拒绝");
 
     private Integer code;
 

+ 1 - 1
sp-core/sp-base/src/main/java/com/pj/enummj/JudgeStatus.java

@@ -13,7 +13,7 @@ public enum JudgeStatus {
 
     JUDGE_STATUS_ZERO(0,"待审核"),
     JUDGE_STATUS_ONE(1,"审核通过"),
-    JUDGE_STATUS_THREE(2,"审核不通过");
+    JUDGE_STATUS_TWO(2,"审核不通过");
 
     private Integer code;
 

+ 24 - 0
sp-core/sp-base/src/main/java/com/pj/enummj/SellOut.java

@@ -0,0 +1,24 @@
+package com.pj.enummj;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @Author Mechrevo
+ * @Date 2023 07 26 10 26
+ **/
+@Getter
+@AllArgsConstructor
+public enum SellOut {
+
+    SELL_OUT_ZERO(1,"未售罄"),
+    SELL_OUT_ONE(2,"已售罄");
+
+    private Integer code;
+
+    private String msg;
+
+
+
+
+}

+ 227 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrders.java

@@ -0,0 +1,227 @@
+package com.pj.tb_collage_orders;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.EqualsAndHashCode;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * Model: tb_collage_orders -- 拼单订单表
+ * @author linbl
+ */
+@Data
+@Accessors(chain = true)
+@TableName(TbCollageOrders.TABLE_NAME)
+@EqualsAndHashCode(callSuper = false)
+public class TbCollageOrders extends Model<TbCollageOrders> implements Serializable {
+
+	// ---------- 模块常量 ----------
+	/**
+	 * 序列化版本id
+	 */
+	private static final long serialVersionUID = 1L;
+	/**
+	 * 此模块对应的表名
+	 */
+	public static final String TABLE_NAME = "tb_collage_orders";
+	/**
+	 * 此模块对应的权限码
+	 */
+	public static final String PERMISSION_CODE = "tb-collage-orders";
+	public static final String PERMISSION_CODE_ADD = "tb-collage-orders-add";
+	public static final String PERMISSION_CODE_EDIT = "tb-collage-orders-edit";
+	public static final String PERMISSION_CODE_DEL = "tb-collage-orders-del";
+
+
+
+
+	// ---------- 表中字段 ----------
+	/**
+	 * 拼单订单表主键
+	 */
+	@TableId(type = IdType.AUTO)
+	private Long id;
+
+	/**
+	 * 贸易区域id
+	 */
+	private Long tradeAreaId;
+
+	/**
+	 * 贸易区域名称
+	 */
+	private String tradeAreaName;
+
+	/**
+	 * 订单编号
+	 */
+	private String orderNo;
+
+	/**
+	 * 合作社ID
+	 */
+	private String cooperativeId;
+
+	/**
+	 * 合作社名称
+	 */
+	private String cooperativeName;
+
+	/**
+	 * 总金额
+	 */
+	private Double totalPrice;
+
+	/**
+	 * 进境边民确认
+	 */
+	private String entryPeopleStatus;
+
+	/**
+	 * 进境组长确认
+	 */
+	private String entryLeaderStatus;
+
+	/**
+	 * 进境报关企业确认
+	 */
+	private String entryCustomsStatus;
+
+	/**
+	 * 进境申报单号
+	 */
+	private String entryNo;
+
+	/**
+	 * 进境申报时间
+	 */
+	private String entryTime;
+
+	/**
+	 * 进境申报结果
+	 */
+	private String entryResult;
+
+	/**
+	 * 进境申报失败理由
+	 */
+	private String entryFailReason;
+
+	/**
+	 * 进口边民确认
+	 */
+	private String importPeopleStatus;
+
+	/**
+	 * 进口组长确认
+	 */
+	private String importLeaderStatus;
+
+	/**
+	 * 进口申报单号
+	 */
+	private String importNo;
+
+	/**
+	 * 进口申报时间
+	 */
+	private String importTime;
+
+	/**
+	 * 是否收货
+	 */
+	private String isDelivery;
+
+	/**
+	 * 订单完成状态(0=未完成,1=已完成)
+	 */
+	private String orderFinish;
+
+	/**
+	 * 司机ID
+	 */
+	private Long driverId;
+
+	/**
+	 * 司机名称
+	 */
+	private String driverName;
+
+	/**
+	 * 司机电话
+	 */
+	private String driverPhone;
+
+	/**
+	 * 车ID
+	 */
+	private Long carId;
+
+	/**
+	 * 车名称
+	 */
+	private String carType;
+
+	/**
+	 * 车牌号
+	 */
+	private String vehiclePlate;
+
+	/**
+	 * 装货地址
+	 */
+	private String loadingAddress;
+
+	/**
+	 * 卸货地址
+	 */
+	private String unloadingAddress;
+
+	/**
+	 * 创建人编号
+	 */
+	private Long createBy;
+
+	/**
+	 * 创建人名称
+	 */
+	private String createName;
+
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+
+	/**
+	 * 更新人编号
+	 */
+	private Long updateBy;
+
+	/**
+	 * 更新人名称
+	 */
+	private String updateName;
+
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+
+	/**
+	 * 删除状态(0=禁用,1=启用)
+	 */
+	private String deleteStatus;
+
+
+
+
+
+
+
+
+}

+ 58 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersAppController.java

@@ -0,0 +1,58 @@
+package com.pj.tb_collage_orders;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.pj.project4sp.SP;
+import com.pj.tb_collage_orders.param.TbCollageOrdersParam;
+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.RestController;
+
+import java.util.List;
+
+
+/**
+ * Controller: tb_collage_orders -- 拼单订单表(app接口)
+ * @author linbl
+ */
+@RestController
+@RequestMapping("/app/TbCollageOrders/")
+public class TbCollageOrdersAppController {
+
+	/** 底层 Service 对象 */
+	@Autowired
+	TbCollageOrdersService tbCollageOrdersService;
+
+	/** 增 */
+	@RequestMapping("addByCooperative")
+	public AjaxJson addByCooperative(TbCollageOrdersParam param){
+		return AjaxJson.toAjax(tbCollageOrdersService.addByCooperative(param));
+	}
+
+
+	/** 改 */
+	@RequestMapping("update")
+	public AjaxJson update(TbCollageOrders t){
+		tbCollageOrdersService.update(t);
+		return AjaxJson.getSuccess();
+	}
+
+	/** 查 - 根据id */
+	@RequestMapping("getById")
+	public AjaxJson getById(Long id){
+		TbCollageOrders t = tbCollageOrdersService.getById(id);
+		return AjaxJson.getSuccessData(t);
+	}
+
+	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
+	@RequestMapping("getList")
+	public AjaxJson getList() {
+		SoMap so = SoMap.getRequestSoMap();
+		List<TbCollageOrders> list = tbCollageOrdersService.getList(so.startPage());
+		return AjaxJson.getPageData(so.getDataCount(), list);
+	}
+
+
+
+}

+ 87 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersController.java

@@ -0,0 +1,87 @@
+package com.pj.tb_collage_orders;
+
+import java.util.List;
+import com.pj.utils.so.SoMap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import com.pj.utils.sg.*;
+import com.pj.project4sp.SP;
+
+import com.pj.current.satoken.StpUserUtil;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+
+
+/**
+ * Controller: tb_collage_orders -- 拼单订单表
+ * @author linbl
+ */
+@RestController
+@RequestMapping("/TbCollageOrders/")
+public class TbCollageOrdersController {
+
+	/** 底层 Service 对象 */
+	@Autowired
+	TbCollageOrdersService tbCollageOrdersService;
+
+	/** 增 */
+	@RequestMapping("add")
+	@SaCheckPermission(TbCollageOrders.PERMISSION_CODE_ADD)
+	public AjaxJson add(TbCollageOrders t){
+		tbCollageOrdersService.add(t);
+		t = tbCollageOrdersService.getById(SP.publicMapper.getPrimarykey());
+		return AjaxJson.getSuccessData(t);
+	}
+
+	/** 删 */
+	@RequestMapping("delete")
+	@SaCheckPermission(TbCollageOrders.PERMISSION_CODE_DEL)
+	public AjaxJson delete(Long id){
+		 tbCollageOrdersService.delete(id);
+		return AjaxJson.getSuccess();
+	}
+
+	/** 删 - 根据id列表 */
+	@RequestMapping("deleteByIds")
+	@SaCheckPermission(TbCollageOrders.PERMISSION_CODE_DEL)
+	public AjaxJson deleteByIds(){
+		List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class);
+		int line = SP.publicMapper.deleteByIds(TbCollageOrders.TABLE_NAME, ids);
+		return AjaxJson.getByLine(line);
+	}
+
+	/** 改 */
+	@RequestMapping("update")
+	@SaCheckPermission(TbCollageOrders.PERMISSION_CODE_EDIT)
+	public AjaxJson update(TbCollageOrders t){
+		tbCollageOrdersService.update(t);
+		return AjaxJson.getSuccess();
+	}
+
+	/** 查 - 根据id */
+	@RequestMapping("getById")
+		@SaCheckPermission(TbCollageOrders.PERMISSION_CODE)
+	public AjaxJson getById(Long id){
+		TbCollageOrders t = tbCollageOrdersService.getById(id);
+		return AjaxJson.getSuccessData(t);
+	}
+
+	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
+	@RequestMapping("getList")
+		@SaCheckPermission(TbCollageOrders.PERMISSION_CODE)
+	public AjaxJson getList() {
+		SoMap so = SoMap.getRequestSoMap();
+		List<TbCollageOrders> list = tbCollageOrdersService.getList(so.startPage());
+		return AjaxJson.getPageData(so.getDataCount(), list);
+	}
+
+
+
+
+
+
+
+
+
+}

+ 30 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersMapper.java

@@ -0,0 +1,30 @@
+package com.pj.tb_collage_orders;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Mapper;
+
+import com.pj.utils.so.*;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Mapper: tb_collage_orders -- 拼单订单表
+ * @author linbl
+ */
+
+@Mapper
+@Repository
+public interface TbCollageOrdersMapper extends BaseMapper <TbCollageOrders> {
+
+
+
+	/**
+	 * 查集合 - 根据条件(参数为空时代表忽略指定条件)
+	 * @param so 参数集合
+	 * @return 数据列表
+	 */
+	List<TbCollageOrders> getList(SoMap so);
+
+
+}

+ 111 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersMapper.xml

@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.pj.tb_collage_orders.TbCollageOrdersMapper">
+
+
+
+
+	<!-- ================================== 查询相关 ================================== -->
+	<!-- select id, trade_area_id, trade_area_name, order_no, cooperative_id, cooperative_name, total_price, entry_people_status, entry_leader_status, entry_customs_status, entry_no, entry_time, entry_result, entry_fail_reason, import_people_status, import_leader_status, import_no, import_time, is_delivery, order_finish, driver_id, driver_name, driver_phone, car_id, car_type, vehicle_plate, loading_address, unloading_address, create_by, create_name, create_time, update_by, update_name, update_time, delete_status from tb_collage_orders  -->
+
+	<!-- 通用映射:自动模式 -->
+	<resultMap id="model" autoMapping="true" type="com.pj.tb_collage_orders.TbCollageOrders"></resultMap>
+
+	<!-- 公共查询sql片段 -->
+	<sql id="select_sql">
+		select *
+		from tb_collage_orders
+	</sql>
+
+
+	<!-- 查集合 - 根据条件(参数为空时代表忽略指定条件) [G] -->
+	<select id="getList" resultMap="model">
+		<include refid="select_sql"></include>
+		<where>
+			<if test=' this.has("id") '> and id = #{id} </if>
+			<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("orderNo") '> and order_no = #{orderNo} </if>
+			<if test=' this.has("cooperativeId") '> and cooperative_id = #{cooperativeId} </if>
+			<if test=' this.has("cooperativeName") '> and cooperative_name = #{cooperativeName} </if>
+			<if test=' this.has("totalPrice") '> and total_price = #{totalPrice} </if>
+			<if test=' this.has("entryPeopleStatus") '> and entry_people_status = #{entryPeopleStatus} </if>
+			<if test=' this.has("entryLeaderStatus") '> and entry_leader_status = #{entryLeaderStatus} </if>
+			<if test=' this.has("entryCustomsStatus") '> and entry_customs_status = #{entryCustomsStatus} </if>
+			<if test=' this.has("entryNo") '> and entry_no = #{entryNo} </if>
+			<if test=' this.has("entryTime") '> and entry_time = #{entryTime} </if>
+			<if test=' this.has("entryResult") '> and entry_result = #{entryResult} </if>
+			<if test=' this.has("entryFailReason") '> and entry_fail_reason = #{entryFailReason} </if>
+			<if test=' this.has("importPeopleStatus") '> and import_people_status = #{importPeopleStatus} </if>
+			<if test=' this.has("importLeaderStatus") '> and import_leader_status = #{importLeaderStatus} </if>
+			<if test=' this.has("importNo") '> and import_no = #{importNo} </if>
+			<if test=' this.has("importTime") '> and import_time = #{importTime} </if>
+			<if test=' this.has("isDelivery") '> and is_delivery = #{isDelivery} </if>
+			<if test=' this.has("orderFinish") '> and order_finish = #{orderFinish} </if>
+			<if test=' this.has("driverId") '> and driver_id = #{driverId} </if>
+			<if test=' this.has("driverName") '> and driver_name = #{driverName} </if>
+			<if test=' this.has("driverPhone") '> and driver_phone = #{driverPhone} </if>
+			<if test=' this.has("carId") '> and car_id = #{carId} </if>
+			<if test=' this.has("carType") '> and car_type = #{carType} </if>
+			<if test=' this.has("vehiclePlate") '> and vehicle_plate = #{vehiclePlate} </if>
+			<if test=' this.has("loadingAddress") '> and loading_address = #{loadingAddress} </if>
+			<if test=' this.has("unloadingAddress") '> and unloading_address = #{unloadingAddress} </if>
+			<if test=' this.has("createBy") '> and create_by = #{createBy} </if>
+			<if test=' this.has("createName") '> and create_name = #{createName} </if>
+			<if test=' this.has("createTime") '> and create_time = #{createTime} </if>
+			<if test=' this.has("updateBy") '> and update_by = #{updateBy} </if>
+			<if test=' this.has("updateName") '> and update_name = #{updateName} </if>
+			<if test=' this.has("updateTime") '> and update_time = #{updateTime} </if>
+			<if test=' this.has("deleteStatus") '> and delete_status = #{deleteStatus} </if>
+		</where>
+		order by
+		<choose>
+			<when test='sortType == 1'> id desc </when>
+			<when test='sortType == 2'> trade_area_id desc </when>
+			<when test='sortType == 3'> trade_area_name desc </when>
+			<when test='sortType == 4'> order_no desc </when>
+			<when test='sortType == 5'> cooperative_id desc </when>
+			<when test='sortType == 6'> cooperative_name desc </when>
+			<when test='sortType == 7'> total_price desc </when>
+			<when test='sortType == 8'> entry_people_status desc </when>
+			<when test='sortType == 9'> entry_leader_status desc </when>
+			<when test='sortType == 10'> entry_customs_status desc </when>
+			<when test='sortType == 11'> entry_no desc </when>
+			<when test='sortType == 12'> entry_time desc </when>
+			<when test='sortType == 13'> entry_result desc </when>
+			<when test='sortType == 14'> entry_fail_reason desc </when>
+			<when test='sortType == 15'> import_people_status desc </when>
+			<when test='sortType == 16'> import_leader_status desc </when>
+			<when test='sortType == 17'> import_no desc </when>
+			<when test='sortType == 18'> import_time desc </when>
+			<when test='sortType == 19'> is_delivery desc </when>
+			<when test='sortType == 20'> order_finish desc </when>
+			<when test='sortType == 21'> driver_id desc </when>
+			<when test='sortType == 22'> driver_name desc </when>
+			<when test='sortType == 23'> driver_phone desc </when>
+			<when test='sortType == 24'> car_id desc </when>
+			<when test='sortType == 25'> car_type desc </when>
+			<when test='sortType == 26'> vehicle_plate desc </when>
+			<when test='sortType == 27'> loading_address desc </when>
+			<when test='sortType == 28'> unloading_address desc </when>
+			<when test='sortType == 29'> create_by desc </when>
+			<when test='sortType == 30'> create_name desc </when>
+			<when test='sortType == 31'> create_time desc </when>
+			<when test='sortType == 32'> update_by desc </when>
+			<when test='sortType == 33'> update_name desc </when>
+			<when test='sortType == 34'> update_time desc </when>
+			<when test='sortType == 35'> delete_status desc </when>
+			<otherwise> id desc </otherwise>
+		</choose>
+	</select>
+
+
+
+
+
+
+
+
+
+
+</mapper>

+ 110 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersService.java

@@ -0,0 +1,110 @@
+package com.pj.tb_collage_orders;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+import com.pj.current.config.SystemObject;
+import com.pj.current.dto.APPLoginUserInfo;
+import com.pj.current.satoken.StpAPPUserUtil;
+import com.pj.project4sp.SP;
+import com.pj.tb_collage_orders.param.TbCollageOrdersParam;
+import com.pj.tb_order.TbOrder;
+import com.pj.tb_order.TbOrderService;
+import com.pj.utils.so.SoMap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+import com.pj.utils.sg.*;
+
+/**
+ * Service: tb_collage_orders -- 拼单订单表
+ * @author linbl
+ */
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class TbCollageOrdersService extends ServiceImpl<TbCollageOrdersMapper, TbCollageOrders> implements IService<TbCollageOrders>{
+
+	/** 底层 Mapper 对象 */
+	@Autowired
+	TbCollageOrdersMapper tbCollageOrdersMapper;
+	@Autowired
+	TbOrderService tbOrderService;
+
+	/** 增 */
+	void add(TbCollageOrders t){
+		save(t);
+	}
+
+	/** 删 */
+	void delete(Long id){
+		removeById(id);
+	}
+
+	/** 改 */
+	void update(TbCollageOrders t){
+		updateById(t);
+
+	}
+
+	/** 查 */
+	TbCollageOrders getById(Long id){
+		return super.getById(id);
+	}
+
+	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
+	List<TbCollageOrders> getList(SoMap so) {
+		return tbCollageOrdersMapper.getList(so);
+	}
+
+	/** 增 app合作社新增拼单订单 */
+	boolean addByCooperative(TbCollageOrdersParam param){
+		//拼单订单编号
+		String collageOrdersNo = SystemObject.getREFcode("PDDD",new Date());
+		param.setOrderNo(collageOrdersNo);
+		//1、TODO: 调用航通接口,把他们需要的拼单订单信息发送过去,接口返回的状态码为成功则走接下来的步骤,否则不生成拼单订单,目前暂时省略
+
+		//获取当前登陆人
+		APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
+
+		//2、生成拼单订单
+		TbCollageOrders collageOrders = new TbCollageOrders();
+		collageOrders.setOrderNo(collageOrdersNo);
+		collageOrders.setCooperativeId(param.getCooperativeId());
+		collageOrders.setCooperativeName(param.getCooperativeName());
+
+		collageOrders.setTradeAreaId(appLoginInfo.getTradeAreaId());
+		collageOrders.setTradeAreaName(appLoginInfo.getTradeAreaName());
+
+		collageOrders.setCreateBy(appLoginInfo.getLoginId());
+		collageOrders.setCreateName(appLoginInfo.getLoginName());
+		collageOrders.setCreateTime(new Date());
+
+		this.add(collageOrders);
+		//获取单订单主键Id
+		Long collageOrdersId = SP.publicMapper.getPrimarykey();
+
+		//3、回写边民订单的拼单订单ID
+		BigDecimal totalPrice = new BigDecimal(0);
+		List<Long> orderList = param.getOrderList();
+		for (Long orderId : orderList) {
+			TbOrder tbOrder = tbOrderService.getById(orderId);
+			//获取边民订单的金额并计算总金额
+			totalPrice = totalPrice.add(new BigDecimal(tbOrder.getTotalPrice()));
+
+			tbOrder.setCollageOrdersId(collageOrdersId);
+			boolean b = tbOrderService.updateById(tbOrder);
+			if(!b) throw new RuntimeException("边民订单表回写拼单订单ID失败!");
+		}
+		//4、回写拼单订单的总金额
+		collageOrders.setTotalPrice(totalPrice.doubleValue());
+		collageOrders.setId(collageOrdersId);
+		boolean result = this.updateById(collageOrders);
+
+		return result;
+	}
+
+
+}

+ 29 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/TbCollageOrdersUtil.java

@@ -0,0 +1,29 @@
+package com.pj.tb_collage_orders;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.pj.utils.sg.*;
+
+/**
+ * 工具类:tb_collage_orders -- 拼单订单表
+ * @author linbl
+ *
+ */
+@Component
+public class TbCollageOrdersUtil {
+
+
+	/** 底层 Mapper 对象 */
+	public static TbCollageOrdersMapper tbCollageOrdersMapper;
+	@Autowired
+	private void setTbCollageOrdersMapper(TbCollageOrdersMapper tbCollageOrdersMapper) {
+		TbCollageOrdersUtil.tbCollageOrdersMapper = tbCollageOrdersMapper;
+	}
+
+
+
+
+
+
+}

+ 38 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_collage_orders/param/TbCollageOrdersParam.java

@@ -0,0 +1,38 @@
+package com.pj.tb_collage_orders.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 合作社生成拼单订单表时app返回的参数
+ * @author linbl
+ */
+@Data
+public class TbCollageOrdersParam {
+
+	/**
+	 * 订单编号
+	 */
+	private String orderNo;
+
+	/**
+	 * 合作社ID
+	 */
+	private String cooperativeId;
+
+	/**
+	 * 合作社名称
+	 */
+	private String cooperativeName;
+
+	/**
+	 * 总金额
+	 */
+	private Double totalPrice;
+
+	/**
+	 * 边民订单
+	 */
+	private List<Long> orderList;
+}

+ 168 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperative.java

@@ -0,0 +1,168 @@
+package com.pj.tb_cooperative;
+
+import java.io.Serializable;
+import java.util.*;
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.EqualsAndHashCode;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * Model: tb_cooperative -- 合作社
+ * @author lsw
+ */
+@Data
+@Accessors(chain = true)
+@TableName(TbCooperative.TABLE_NAME)
+@EqualsAndHashCode(callSuper = false)
+public class TbCooperative extends Model<TbCooperative> implements Serializable {
+
+	// ---------- 模块常量 ----------
+	/**
+	 * 序列化版本id
+	 */
+	private static final long serialVersionUID = 1L;
+	/**
+	 * 此模块对应的表名
+	 */
+	public static final String TABLE_NAME = "tb_cooperative";
+	/**
+	 * 此模块对应的权限码
+	 */
+	public static final String PERMISSION_CODE = "tb-cooperative";
+	public static final String PERMISSION_CODE_ADD = "tb-cooperative-add";
+	public static final String PERMISSION_CODE_EDIT = "tb-cooperative-edit";
+	public static final String PERMISSION_CODE_DEL = "tb-cooperative-del";
+
+
+
+
+	// ---------- 表中字段 ----------
+	/**
+	 * 主键
+	 */
+	@TableId(type = IdType.AUTO)
+	private Long id;
+
+	/**
+	 * 贸易区域id
+	 */
+	private Long tradeAreaId;
+
+	/**
+	 * 贸易区域名称
+	 */
+	private String tradeAreaName;
+
+	/**
+	 * 名称
+	 */
+	private String name;
+
+	/**
+	 * 法人
+	 */
+	private String legalPerson;
+
+	/**
+	 * 身份证号
+	 */
+	private String idCard;
+
+	/**
+	 * 手机号码
+	 */
+	private String contact;
+
+	/**
+	 * 营业执照
+	 */
+	private String businessLicense;
+
+	/**
+	 * 银行名称
+	 */
+	private String bankName;
+
+	/**
+	 * 银行账号
+	 */
+	private String bankAccount;
+
+	/**
+	 * 税号
+	 */
+	private String dutyParagraph;
+
+	/**
+	 * 地址
+	 */
+	private String address;
+
+	/**
+	 * 审核状态(0=未通过,1=已通过,2=审核不通过)
+	 */
+	private String judgeStatus;
+
+	/**
+	 * 审核意见
+	 */
+	private String judgeContent;
+
+	/**
+	 * 上次审核时间
+	 */
+	private Date judgeTime;
+
+	/**
+	 * 注册时间
+	 */
+	private Date registerTime;
+
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+
+	/**
+	 * 创建人编号
+	 */
+	private String createBy;
+
+	/**
+	 * 创建人名称
+	 */
+	private String createName;
+
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+
+	/**
+	 * 更新人编号
+	 */
+	private String updateBy;
+
+	/**
+	 * 更新人名称
+	 */
+	private String updateName;
+
+	/**
+	 * 删除状态(0=禁用,1=启用)
+	 */
+	private Integer deleteStatus;
+
+	/**
+	 * 0=锁住 1=启用
+	 */
+	private String isLock;
+
+	/**
+	 * 审核人
+	 */
+	private String judgeBy;
+}

+ 53 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeAppController.java

@@ -0,0 +1,53 @@
+package com.pj.tb_cooperative;
+
+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.PathVariable;
+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_cooperative -- 合作社
+ * @author lbl
+ */
+@RestController
+@RequestMapping("/app/TbCooperative/")
+public class TbCooperativeAppController {
+
+	/** 底层 Service 对象 */
+	@Autowired
+	TbCooperativeService tbCooperativeService;
+
+	/** 查 - 根据id */
+	@RequestMapping("getById")
+	public AjaxJson getById(Long id){
+		TbCooperative t = tbCooperativeService.getById(id);
+		return AjaxJson.getSuccessData(t);
+	}
+
+	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
+	@RequestMapping("getList")
+	public AjaxJson getList() {
+		SoMap so = SoMap.getRequestSoMap();
+		List<TbCooperative> list = tbCooperativeService.getList(so.startPage());
+		return AjaxJson.getPageData(so.getDataCount(), list);
+	}
+
+
+	/*------            正常业务👆👆    rpc远程调用👇👇                         -----------*/
+
+	/** 查 - 根据合作社Id */
+	@RequestMapping("rpc/getCooperativeById")
+	public com.pj.api.dto.CooperativeDto getCooperativeById(@RequestParam("id")Long cooperativeId) {
+		com.pj.api.dto.CooperativeDto dto = tbCooperativeService.getCooperativeById(cooperativeId);
+		return dto;
+	}
+
+}

+ 84 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeController.java

@@ -0,0 +1,84 @@
+package com.pj.tb_cooperative;
+
+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.RestController;
+
+import java.util.List;
+
+
+/**
+ * Controller: tb_cooperative -- 合作社
+ * @author lsw 
+ */
+@RestController
+@RequestMapping("/TbCooperative/")
+public class TbCooperativeController {
+
+	/** 底层 Service 对象 */
+	@Autowired
+	TbCooperativeService tbCooperativeService;
+
+	/** 增 */  
+	@RequestMapping("add")
+	@SaCheckPermission(TbCooperative.PERMISSION_CODE_ADD)
+	public AjaxJson add(TbCooperative t){
+		tbCooperativeService.add(t);
+		t = tbCooperativeService.getById(SP.publicMapper.getPrimarykey());
+		return AjaxJson.getSuccessData(t);
+	}
+
+	/** 删 */  
+	@RequestMapping("delete")
+	@SaCheckPermission(TbCooperative.PERMISSION_CODE_DEL)
+	public AjaxJson delete(Long id){
+		 tbCooperativeService.delete(id);
+		return AjaxJson.getSuccess();
+	}
+	
+	/** 删 - 根据id列表 */  
+	@RequestMapping("deleteByIds")
+	@SaCheckPermission(TbCooperative.PERMISSION_CODE_DEL)
+	public AjaxJson deleteByIds(){
+		List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class); 
+		int line = SP.publicMapper.deleteByIds(TbCooperative.TABLE_NAME, ids);
+		return AjaxJson.getByLine(line);
+	}
+	
+	/** 改 */  
+	@RequestMapping("update")
+	@SaCheckPermission(TbCooperative.PERMISSION_CODE_EDIT)
+	public AjaxJson update(TbCooperative t){
+		tbCooperativeService.update(t);
+		return AjaxJson.getSuccess();
+	}
+
+	/** 查 - 根据id */  
+	@RequestMapping("getById")
+		@SaCheckPermission(TbCooperative.PERMISSION_CODE)
+	public AjaxJson getById(Long id){
+		TbCooperative t = tbCooperativeService.getById(id);
+		return AjaxJson.getSuccessData(t);
+	}
+
+	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */  
+	@RequestMapping("getList")
+		@SaCheckPermission(TbCooperative.PERMISSION_CODE)
+	public AjaxJson getList() { 
+		SoMap so = SoMap.getRequestSoMap();
+		List<TbCooperative> list = tbCooperativeService.getList(so.startPage());
+		return AjaxJson.getPageData(so.getDataCount(), list);
+	}
+
+	/** 改 - 删除状态(0=禁用,1=启用) */  
+	@RequestMapping("updateDeleteStatus")
+	@SaCheckPermission(TbCooperative.PERMISSION_CODE_EDIT)
+	public AjaxJson updateDeleteStatus(Long id, Integer value){
+		int line = SP.publicMapper.updateColumnById(TbCooperative.TABLE_NAME, "delete_status", value, id);
+		return AjaxJson.getByLine(line);
+	}
+}

+ 28 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeMapper.java

@@ -0,0 +1,28 @@
+package com.pj.tb_cooperative;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Mapper;
+
+import com.pj.utils.so.*;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Mapper: tb_cooperative -- 合作社
+ * @author lsw 
+ */
+
+@Mapper
+@Repository
+public interface TbCooperativeMapper extends BaseMapper <TbCooperative> {
+
+	/**
+	 * 查集合 - 根据条件(参数为空时代表忽略指定条件)
+	 * @param so 参数集合 
+	 * @return 数据列表 
+	 */
+	List<TbCooperative> getList(SoMap so);
+
+
+}

+ 70 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeMapper.xml

@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.pj.tb_cooperative.TbCooperativeMapper">
+
+
+	<!-- ================================== 查询相关 ================================== -->
+	<!-- select id, name, legal_person, id_card, contact, business_license, bank_name, bank_account, duty_paragraph, address, judge_status, judge_content, judge_time, register_time, create_time, create_by, create_name, update_time, update_by, update_name, delete_status, is_lock, judge_by from tb_cooperative  -->
+	
+	<!-- 通用映射:自动模式 -->
+	<resultMap id="model" autoMapping="true" type="com.pj.tb_cooperative.TbCooperative"></resultMap>
+	
+	<!-- 公共查询sql片段 -->
+	<sql id="select_sql">
+		select * 
+		from tb_cooperative 
+	</sql>
+
+	<!-- 查集合 - 根据条件(参数为空时代表忽略指定条件) [G] -->
+	<select id="getList" resultMap="model">
+		<include refid="select_sql"></include>
+		<where>
+			<if test=' this.has("id") '> and id = #{id} </if>
+			<if test=' this.has("name") '> and name = #{name} </if>
+			<if test=' this.has("legalPerson") '> and legal_person = #{legalPerson} </if>
+			<if test=' this.has("idCard") '> and id_card = #{idCard} </if>
+			<if test=' this.has("contact") '> and contact = #{contact} </if>
+			<if test=' this.has("bankName") '> and bank_name = #{bankName} </if>
+			<if test=' this.has("bankAccount") '> and bank_account = #{bankAccount} </if>
+			<if test=' this.has("dutyParagraph") '> and duty_paragraph = #{dutyParagraph} </if>
+			<if test=' this.has("address") '> and address = #{address} </if>
+			<if test=' this.has("judgeStatus") '> and judge_status = #{judgeStatus} </if>
+			<if test=' this.has("judgeContent") '> and judge_content = #{judgeContent} </if>
+			<if test=' this.has("createTime") '> and create_time = #{createTime} </if>
+			<if test=' this.has("createBy") '> and create_by = #{createBy} </if>
+			<if test=' this.has("createName") '> and create_name = #{createName} </if>
+			<if test=' this.has("updateTime") '> and update_time = #{updateTime} </if>
+			<if test=' this.has("updateBy") '> and update_by = #{updateBy} </if>
+			<if test=' this.has("updateName") '> and update_name = #{updateName} </if>
+			<if test=' this.has("deleteStatus") '> and delete_status = #{deleteStatus} </if>
+			<if test=' this.has("isLock") '> and is_lock = #{isLock} </if>
+			<if test=' this.has("judgeBy") '> and judge_by = #{judgeBy} </if>
+		</where>
+		order by
+		<choose>
+			<when test='sortType == 1'> id desc </when>
+			<when test='sortType == 2'> name desc </when>
+			<when test='sortType == 3'> legal_person desc </when>
+			<when test='sortType == 4'> id_card desc </when>
+			<when test='sortType == 5'> contact desc </when>
+			<when test='sortType == 6'> bank_name desc </when>
+			<when test='sortType == 7'> bank_account desc </when>
+			<when test='sortType == 8'> duty_paragraph desc </when>
+			<when test='sortType == 9'> address desc </when>
+			<when test='sortType == 10'> judge_status desc </when>
+			<when test='sortType == 11'> judge_content desc </when>
+			<when test='sortType == 12'> judge_time desc </when>
+			<when test='sortType == 13'> register_time desc </when>
+			<when test='sortType == 14'> create_time desc </when>
+			<when test='sortType == 15'> create_by desc </when>
+			<when test='sortType == 16'> create_name desc </when>
+			<when test='sortType == 17'> update_time desc </when>
+			<when test='sortType == 18'> update_by desc </when>
+			<when test='sortType == 19'> update_name desc </when>
+			<when test='sortType == 20'> delete_status desc </when>
+			<when test='sortType == 21'> is_lock desc </when>
+			<when test='sortType == 22'> judge_by desc </when>
+			<otherwise> id desc </otherwise>
+		</choose>
+	</select>
+</mapper>

+ 67 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeService.java

@@ -0,0 +1,67 @@
+package com.pj.tb_cooperative;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.pj.current.satoken.StpUserUtil;
+import com.pj.utils.so.SoMap;
+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.Date;
+import java.util.List;
+
+/**
+ * Service: tb_cooperative -- 合作社
+ * @author lsw
+ */
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class TbCooperativeService extends ServiceImpl<TbCooperativeMapper, TbCooperative> implements IService<TbCooperative>{
+
+	/** 底层 Mapper 对象 */
+	@Autowired
+	TbCooperativeMapper tbCooperativeMapper;
+
+	/** 增 */
+	void add(TbCooperative t){
+		t.setCreateTime(new Date());
+		t.setCreateName(StpUserUtil.getPCLoginInfo().getLoginName());
+		save(t);
+	}
+
+	/** 删 */
+	void delete(Long id){
+		removeById(id);
+	}
+
+	/** 改 */
+	void update(TbCooperative t){
+		t.setUpdateTime(new Date());
+		t.setUpdateName(StpUserUtil.getPCLoginInfo().getLoginName());
+		updateById(t);
+
+	}
+
+	/** 查 */
+	TbCooperative getById(Long id){
+		return super.getById(id);
+	}
+
+	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
+	List<TbCooperative> getList(SoMap so) {
+		return tbCooperativeMapper.getList(so);
+	}
+
+
+	/*------            正常业务👆👆    rpc远程调用👇👇                         -----------*/
+
+	public com.pj.api.dto.CooperativeDto getCooperativeById(Long id) {
+		TbCooperative cooperative = tbCooperativeMapper.selectById(id);
+		com.pj.api.dto.CooperativeDto dto = new com.pj.api.dto.CooperativeDto();
+		BeanUtils.copyProperties(cooperative, dto);
+		return dto;
+	}
+
+}

+ 21 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_cooperative/TbCooperativeUtil.java

@@ -0,0 +1,21 @@
+package com.pj.tb_cooperative;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 工具类:tb_cooperative -- 合作社
+ * @author lsw 
+ *
+ */
+@Component
+public class TbCooperativeUtil {
+
+	
+	/** 底层 Mapper 对象 */
+	public static TbCooperativeMapper tbCooperativeMapper;
+	@Autowired
+	private void setTbCooperativeMapper(TbCooperativeMapper tbCooperativeMapper) {
+		TbCooperativeUtil.tbCooperativeMapper = tbCooperativeMapper;
+	}
+}

+ 6 - 8
sp-service/level-one-server/src/main/java/com/pj/tb_enterprise/TbEnterpriseService.java

@@ -61,12 +61,6 @@ public class TbEnterpriseService extends ServiceImpl<TbEnterpriseMapper, TbEnter
     AdminInterface adminInterface;
 
     /**
-     * 远程调用
-     */
-    @Autowired
-    private LevelOneServerInterface levelOneServerInterface;
-
-    /**
      * 订单表mapper
      */
     @Autowired
@@ -349,13 +343,17 @@ public class TbEnterpriseService extends ServiceImpl<TbEnterpriseMapper, TbEnter
         }
         String name = StpUserUtil.getLoginName();
         tbEnterprise.setJudgeStatus(judgeStatus).setJudgeContent(judgeContent).setJudgeTime(new Date()).setJudgeBy(name);
-        this.updateById(tbEnterprise);
         if (judgeStatus == 1) {
             EnterpriseAuditDto auditDto = new EnterpriseAuditDto();
             auditDto.setAuth("1");
             auditDto.setFkId(id);
             auditDto.setId(Long.parseLong(tbEnterprise.getCreateBy()));
-            return levelOneServerInterface.audit(auditDto);
+            System.out.println("商户审核:"+auditDto.getId());
+            boolean row = adminInterface.audit(auditDto);
+            if (row) {
+                this.updateById(tbEnterprise);
+            }
+            return row;
         }
         return false;
     }

+ 3 - 2
sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/GoodsTransitAppController.java

@@ -5,6 +5,7 @@ import com.pj.api.dto.GoodsTransitDto;
 
 import com.pj.common.core.exception.ServiceException;
 import com.pj.enummj.DeleteStatus;
+import com.pj.enummj.GoodsStatus;
 import com.pj.enummj.IsOrders;
 import com.pj.tb_goods_transit.param.PurchaseLevelOneGoodsTransitParam;
 import com.pj.tb_goods_transit.param.TransactionGoodsParam;
@@ -56,8 +57,8 @@ public class GoodsTransitAppController {
     @RequestMapping("getList")
     public AjaxJson getList() {
         SoMap so = SoMap.getRequestSoMap();
-        so.put("goodsStatus", 1);
-        so.put("isOrders", 0);
+        so.put("goodsStatus", GoodsStatus.GOODS_STATUS_ON.getCode());
+        so.put("isOrders", IsOrders.IS_ORDERS_ZERO.getCode());
         so.put("deleteStatus", DeleteStatus.DELETE_STATUS_ON.getCode());
 
         List<TbGoodsTransit> list = tbGoodsTransitService.getList(so.startPage());

+ 14 - 18
sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/MethodGoodsTransitService.java

@@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -103,19 +104,11 @@ public class MethodGoodsTransitService {
      * @return
      */
     public TbOrder setTbOrderProperties(TbGoodsTransit tbGoodsTransit, APPLoginUserInfo appLoginInfo){
-
-        //查询是否已存在该订单
-        List<TbOrder> tbOrderList = tbOrderMapper.selectList(
-                new LambdaQueryWrapper<TbOrder>()
-                        .eq(TbOrder::getGoodsId, tbGoodsTransit.getId())
-                        .ne(TbOrder::getEnterpriseConfirm, 2)// 2=一级市场商户已拒绝的订单
-                        .eq(TbOrder::getCancelPeople,0) // 0=该订单未被边民或者组长取消
-                        .eq(TbOrder::getDeleteStatus,DeleteStatus.DELETE_STATUS_ON.getCode()));
-        if(tbOrderList.size() != 0)throw new RuntimeException("当前商品已存在订单,暂时无法继续下单!");
-
         //执行采购,创建一级市场订单表
         TbOrder tbOrder = new TbOrder();
-        List<TbPeople> tbPeopleList = tbPeopleMapper.selectList(new LambdaQueryWrapper<TbPeople>().eq(TbPeople::getId, appLoginInfo.getFk()).eq(TbPeople::getIsLock,IsLock.IS_LOCK_ON.getCode()).eq(TbPeople::getDeleteStatus,DeleteStatus.DELETE_STATUS_ON.getCode()));
+        List<TbPeople> tbPeopleList = tbPeopleMapper.selectList(new LambdaQueryWrapper<TbPeople>()
+                .eq(TbPeople::getId, appLoginInfo.getFk()).eq(TbPeople::getIsLock,IsLock.IS_LOCK_ON.getCode())
+                .eq(TbPeople::getDeleteStatus,DeleteStatus.DELETE_STATUS_ON.getCode()));
         if(tbPeopleList.size() != 1)throw new RuntimeException("当前用户信息有误!");
         //设置属性
         tbOrder.setGroupId(tbPeopleList.get(0).getGroupId());
@@ -125,15 +118,15 @@ public class MethodGoodsTransitService {
         tbOrder.setSaleMainId(Long.valueOf(tbGoodsTransit.getMerchantId()));
 		tbOrder.setTradeNo(SystemObject.getREFcode("YJSCDD",new Date()));  // 交易编号
         tbOrder.setBuyUserId(tbPeopleList.get(0).getId());
-        tbOrder.setBuyUserType(2 + "");
+        tbOrder.setBuyUserType(appLoginInfo.getUserType() == 1? 3 + "" : 2 + "");
         tbOrder.setBuyUserName(appLoginInfo.getLoginName());
         tbOrder.setCallCarStatus(0); // 叫车状态,默认未叫车
         tbOrder.setEnterpriseId(Long.valueOf(tbGoodsTransit.getMerchantId()));
         tbOrder.setEnterpriseName(tbGoodsTransit.getMerchantName());
         tbOrder.setTotalWeight(tbGoodsTransit.getGrossWeight());
         tbOrder.setTotalPrice(tbGoodsTransit.getPrice());
-        tbOrder.setCancelPeople(0); // 0=订单未取消,默认状态
-//		tbOrder.setTradeTime();  // 交易时间
+        tbOrder.setCancelPeople(1); // 1=默认边民确认
+		tbOrder.setTradeTime(new Date());  // 交易时间
 //		tbOrder.setPayType();  //交易类型
 //		tbOrder.setRealPrice();  // 当前结算金额
         tbOrder.setShouldPrice(tbGoodsTransit.getPrice());  //应结算金额
@@ -146,16 +139,19 @@ public class MethodGoodsTransitService {
         tbOrder.setGoodsUnit(tbGoodsTransit.getGoodsUnits());
         //设置下单时的默认状态
         tbOrder.setDeleteStatus(DeleteStatus.DELETE_STATUS_ON.getCode()); // 删除状态默认是1,可用
-        tbOrder.setEnterpriseConfirm(EnterpriseConfirm.ENTERPRISE_CONFIRM_ZERO.getCode()); // 0为待商家确认
-        tbOrder.setPeopleConfirm(EnterpriseConfirm.ENTERPRISE_CONFIRM_ZERO.getCode()); // 0为待边民确认
+        tbOrder.setEnterpriseConfirm(ConfirmStatus.CONFIRM_STATUS_ZERO.getCode()); // 0为待商家确认
+        tbOrder.setPeopleConfirm(ConfirmStatus.CONFIRM_STATUS_ZERO.getCode()); // 0为待边民确认
         tbOrder.setSend(DeliverStatus.DELIVER_STATUS_ZERO.getCode());  // 0为未发货 1为已发货
-        tbOrder.setTradeStatus(TradeStatus.TRADE_STATUS_ZERO.getCode()); //支付状态默认是0,未支付
+        tbOrder.setTradeStatus(TradeStatus.TRADE_STATUS_ONE.getCode()); //支付状态默认是1,已支付
         tbOrder.setResaleStatus(ResaleStatus.RESALE_STATUS_ZERO.getCode()); // 是否转售状态,默认未转售 0
         tbOrder.setFinishStatus(OrderStatus.ORDER_STATUS_ZERO.getCode());  // 订单完成状态,默认未完成 0
         //订单表基本字段
         tbOrder.setCreateBy(appLoginInfo.getLoginId());
         tbOrder.setCreateName(appLoginInfo.getLoginName());
         tbOrder.setCreateTime(new Date());
+        //申报信息
+        tbOrder.setApply(ApplyStatus.APPLY_STATUS_ZERO.getCode()); // 默认待申报
+
 
         return tbOrder;
     }
@@ -232,7 +228,7 @@ public class MethodGoodsTransitService {
 
             HSSFCell cell9 = row.getCell(12);
             if (cell9 != null && (cell9.getCellType() == CellType.NUMERIC || cell9.getCellType() == CellType.FORMULA))
-                tbGoodsTransit.setStock((int)cell9.getNumericCellValue());
+                tbGoodsTransit.setStock(cell9.getNumericCellValue());
 
             HSSFCell cell10 = row.getCell(13);
             if (cell10 != null && (cell10.getCellType() == CellType.NUMERIC || cell10.getCellType() == CellType.FORMULA))

+ 6 - 3
sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/TbGoodsTransit.java

@@ -124,7 +124,7 @@ public class TbGoodsTransit extends Model<TbGoodsTransit> implements Serializabl
 	/**
 	 * 库存数量 
 	 */
-	private Integer stock;	
+	private Double stock;
 
 	/**
 	 * 商品状态(0=下架,1=在售) 
@@ -156,7 +156,7 @@ public class TbGoodsTransit extends Model<TbGoodsTransit> implements Serializabl
 	/**
 	 * 创建人编号 
 	 */
-	private String createBy;	
+	private String createBy;
 
 	/**
 	 * 创建人名称 
@@ -202,7 +202,10 @@ public class TbGoodsTransit extends Model<TbGoodsTransit> implements Serializabl
 	 */
 	private Integer enterpriseConfirm;
 
-
+	/**
+	 * 是否已售罄(0=未售罄,1=已售罄)
+	 */
+	private Integer sellOut;
 
 
 

+ 97 - 93
sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/TbGoodsTransitService.java

@@ -2,11 +2,16 @@ package com.pj.tb_goods_transit;
 
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 
 import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -44,6 +49,7 @@ import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -53,6 +59,8 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.swing.filechooser.FileSystemView;
 
+import static com.pj.api.consts.FeignFactory.adminInterface;
+
 /**
  * Service: tb_goods_transit -- 审核商户在APP端发布的商品
  * @author qzy
@@ -70,40 +78,19 @@ public class TbGoodsTransitService extends ServiceImpl<TbGoodsTransitMapper, TbG
 	/** 监管产品mapper */
 	@Autowired
 	private TbGoodsMapper tbGoodsMapper;
-
 	@Autowired
-	private SmsRetryService smsRetryService;
-
+	private TbOrderService tbOrderService;
 	@Autowired
-	private TbGoodsCartService tbGoodsCartService;
-
+	private TbOrderMapper tbOrderMapper;
 	/** 互市区mapper */
 	@Autowired
 	private TbTradeAreaMapper tbTradeAreaMapper;
-	/** 订单保存 */
-	@Autowired
-	private TbOrderMapper tbOrderMapper;
-	/** 边民 */
-	@Autowired
-	private TbPeopleMapper tbPeopleMapper;
-
-	@Autowired
-	private TbEnterpriseMapper tbEnterpriseMapper;
-
-	@Autowired
-	private TbGoodsCartMapper tbGoodsCartMapper;
-
-	@Autowired
-	private TbOrderService orderService;
+	/** 锁 */
+	private Lock lock = new ReentrantLock();
 
-	@Autowired
-	private MethodOrderService methodOrderService;
-
-	/**
-	 * 远程调用
-	 */
-	@Autowired
-	private AdminInterface adminInterface;
+	//边民的授信额度
+	//todo: @Value("${quota}")
+	 public static final Double QUOTA = 8000.0;
 
 	/** 增 */
 	void add(TbGoodsTransit t){
@@ -154,7 +141,7 @@ public class TbGoodsTransitService extends ServiceImpl<TbGoodsTransitMapper, TbG
 		//添加互市区条件
 		so.put("tradeAreaId",appLoginInfo.getTradeAreaId()); // 根据边民的所在互市区匹配其能查看的商品
 		so.put("merchantId", appLoginInfo.getFk()); // 外键
-		so.put("isOrders",0); // 未被下单
+		so.put("isOrders",IsOrders.IS_ORDERS_ZERO.getCode()); // 未被下单
 		so.set("auditStatus",AuditStatus.AUDIT_STATUS_ON.getCode()); // 审核通过
 		so.put("deleteStatus", DeleteStatus.DELETE_STATUS_ON.getCode()); // 未被逻辑删除
 		return tbGoodsTransitMapper.getList(so);
@@ -204,8 +191,6 @@ public class TbGoodsTransitService extends ServiceImpl<TbGoodsTransitMapper, TbG
 
 	/** app端 - 添加需要交易的商品 */
 	public boolean transactionGoods(TransactionGoodsParam transactionGoodsParam){
-		//检查登录
-//		StpUtil.checkLogin();
 		//判断商品的净重毛重
 		Double netWeight = transactionGoodsParam.getNetWeight();
 		Double grossWeight = transactionGoodsParam.getGrossWeight();
@@ -228,28 +213,28 @@ public class TbGoodsTransitService extends ServiceImpl<TbGoodsTransitMapper, TbG
 		TbGoodsTransit tbGoodsTransit = new TbGoodsTransit();
 		BeanUtils.copyProperties(transactionGoodsParam,tbGoodsTransit);
 		//获取并保存当前商品基本信息
-		tbGoodsTransit.setTradeAreaName(tbTradeArea.getName());
-		tbGoodsTransit.setGoodsName(tbGoods.getName());
-		tbGoodsTransit.setDescription(tbGoods.getRemark());
-		tbGoodsTransit.setPlaceOrigin(tbGoods.getSource());
-		tbGoodsTransit.setGoodsUnits(tbGoods.getUnit());
-		tbGoodsTransit.setGoodsType(tbGoods.getTypeNames());
-		tbGoodsTransit.setGoodsImg(tbGoods.getAvatar());
+		tbGoodsTransit.setTradeAreaName(tbTradeArea.getName());  // 交易地区(互市区)
+		tbGoodsTransit.setGoodsName(tbGoods.getName());  // 商品名称
+		tbGoodsTransit.setDescription(tbGoods.getRemark());  // 商品描述
+		tbGoodsTransit.setPlaceOrigin(tbGoods.getSource()); // 商品产地
+		tbGoodsTransit.setGoodsUnits(tbGoods.getUnit());  // 商品单位
+		tbGoodsTransit.setGoodsType(tbGoods.getTypeNames()); // 商品类型名称
+		tbGoodsTransit.setGoodsImg(tbGoods.getAvatar());  // 商品图片
 		tbGoodsTransit.setGoodsId(tbGoods.getId());//保存监管商品表id
-		tbGoodsTransit.setShopId(transactionGoodsParam.getShopId());
-		tbGoodsTransit.setShopName(transactionGoodsParam.getShopName());
-
+		tbGoodsTransit.setShopId(transactionGoodsParam.getShopId());  // 商铺ID
+		tbGoodsTransit.setShopName(transactionGoodsParam.getShopName()); // 商铺名称
+		tbGoodsTransit.setSellOut(SellOut.SELL_OUT_ZERO.getCode());//默认商品未售罄
 		//商户编号
-		tbGoodsTransit.setMerchantId(appLoginInfo.getFk() + "");
+		tbGoodsTransit.setMerchantId(appLoginInfo.getFk() + ""); // appUser表的外键
 		//商户名称
-		tbGoodsTransit.setMerchantName(appLoginInfo.getLoginName());
+		tbGoodsTransit.setMerchantName(appLoginInfo.getLoginName());  // appUser表昵称
 
 		//保存海关商品表的主键到商品审核表上 todo:原计划是保存[海关申报单号],临时修改成保存海关商品表的主键
 		tbGoodsTransit.setDeclareOdd(String.valueOf(tbGoods.getId()));
 		//设置默认信息
 		tbGoodsTransit.setAuditStatus(AuditStatus.AUDIT_STATUS_ON.getCode());//默认已过审
-		tbGoodsTransit.setIsOrders(0);//默认未被下单
-		tbGoodsTransit.setEnterpriseConfirm(EnterpriseConfirm.ENTERPRISE_CONFIRM_ZERO.getCode());//商铺确认情况[0=待确认,1=已确认,2=拒绝]
+		tbGoodsTransit.setIsOrders(IsOrders.IS_ORDERS_ZERO.getCode());//默认未被下单
+		tbGoodsTransit.setEnterpriseConfirm(ConfirmStatus.CONFIRM_STATUS_ZERO.getCode());//商铺确认情况[0=待确认,1=已确认,2=拒绝]
 		//设置基本信息
 		tbGoodsTransit.setCreateTime(new Date());
 		tbGoodsTransit.setCreateBy(appLoginInfo.getLoginId() + "");
@@ -284,78 +269,97 @@ public class TbGoodsTransitService extends ServiceImpl<TbGoodsTransitMapper, TbG
 	}
 
 	/**
+	 * 一级市场边民的购买操作
 	 * 采购一级市场的商品,
 	 * 包括加入购物车、购买、支付(暂时不做),
 	 * 下单后会向组内边民发送短信,
 	 * 通知其登录APP进行交易确认。
 	 */
 	public boolean purchaseLevelOntGoodsTransit(PurchaseLevelOneGoodsTransitParam purchaseLevelOntGoodsTransitParam) throws Exception {
-		//检查登录
-//		StpUtil.checkLogin();
 		//获取当前登陆人
 		APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
 		if(appLoginInfo == null || appLoginInfo.getLoginId() == null)
 			throw new RuntimeException("当前登陆用户信息已失效!");
-		//判断当前登陆人是否为互市组组长
-		List<TbPeople> list = tbPeopleMapper.selectList
-				(new LambdaQueryWrapper<TbPeople>().eq(TbPeople::getId,appLoginInfo.getFk())
-						.eq(TbPeople::getRole, 2) // 1 边民 2组长
-						.eq(TbPeople::getIsLock, IsLock.IS_LOCK_ON.getCode())
-						.eq(TbPeople::getDeleteStatus, DeleteStatus.DELETE_STATUS_ON.getCode()));
-		if(list.size() != 1)throw new RuntimeException("您当前不属于互市组组长~");
 		//获取商品ID
 		String goodsTransitId = purchaseLevelOntGoodsTransitParam.getGoodsTransitId();
 		//查询商品
 		TbGoodsTransit tbGoodsTransit = tbGoodsTransitMapper.selectById(goodsTransitId);
 		if(tbGoodsTransit == null || tbGoodsTransit.getId() == null)
 			throw new RuntimeException("当前商品信息已失效!");
-		if(tbGoodsTransit.getGoodsStatus() == GoodsStatus.GOODS_STATUS_OFF.getCode())throw new ServiceException("该商品已下架,无法进行购买!");
+		if(tbGoodsTransit.getGoodsStatus().equals(GoodsStatus.GOODS_STATUS_OFF.getCode()))
+			throw new ServiceException("该商品已下架,无法进行购买!");
+		if(tbGoodsTransit.getSellOut().equals(SellOut.SELL_OUT_ONE.getCode()))
+			throw new ServiceException("该商品已售罄!");
+		//计算价格
+		BigDecimal b = new BigDecimal(tbGoodsTransit.getPrice() * purchaseLevelOntGoodsTransitParam.getNumber());
+		Double totalPrice = b.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
+		//判断物价是否大于8000
+		if(totalPrice > QUOTA)
+			throw new ServiceException("您当前购物已大于授信额度,请检查购买信息。");
+		//查询当天是否已存在该订单
+		LocalDate today = LocalDate.now();
+		LocalDateTime startTime = LocalDateTime.of(today, LocalTime.MIN);
+		LocalDateTime endTime = LocalDateTime.of(today, LocalTime.MAX);
+		List<TbOrder> tbOrderList = tbOrderMapper.selectList(
+				new LambdaQueryWrapper<TbOrder>()
+						.eq(TbOrder::getCreateBy, appLoginInfo.getLoginId())
+						.between(TbOrder::getCreateTime,startTime,endTime)
+						.eq(TbOrder::getDeleteStatus,DeleteStatus.DELETE_STATUS_ON.getCode()));
+		if(tbOrderList.size() != 0)throw new RuntimeException("当天已下订单,暂时无法继续下单!");
 		//检查是否属于海关允许销售商品
 		Long goodsId = tbGoodsTransit.getGoodsId();
 		TbGoods tbGoods = tbGoodsMapper.selectById(goodsId);
 		if(tbGoods == null)throw new RuntimeException("当前商品海关已不允许销售!");
-		//一天只能下一单
-		//1.查询数据库内是否有订单
-		LambdaQueryWrapper<TbOrder> queryWrapper = new LambdaQueryWrapper<>();
-		queryWrapper.eq(TbOrder::getBuyUserId,appLoginInfo.getFk());  //边民表主键匹配
-		queryWrapper.apply("DATE(create_time) = DATE({0})", new Date()); // 匹配当天的数据
-		queryWrapper.ne(TbOrder::getEnterpriseConfirm,2); // 商户拒绝情况
-		queryWrapper.eq(TbOrder::getCancelPeople,0); // 组长或者边民未取消取消订单
-		List<TbOrder> orderList = tbOrderMapper.selectList(queryWrapper);
-		if(orderList.size() != 0){
-			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-			TbOrder tbOrder = orderList.get(0);
-			throw new ServiceException("您在 " + sdf.format(tbOrder.getCreateTime()) + " 已下单,请勿重复下单。");
-		}
-		//执行采购,创建一级市场订单表 , 该方法只是设置tbOrder的属性
-		TbOrder tbOrder = methodGoodsTransitService.setTbOrderProperties(tbGoodsTransit, appLoginInfo);
-		//执行保存 todo:创建订单
-		int insert = tbOrderMapper.insert(tbOrder);
-		if(insert == 1){
-			//删除购物车
-			tbGoodsCartMapper.deleteById(purchaseLevelOntGoodsTransitParam.getGoodsCartId());
-			//将商品信息改成已被下单
-			tbGoodsTransit.setIsOrders(1);
+		//查询该商品库存是否有库存
+		if(tbGoodsTransit.getStock() == 0.0)throw new ServiceException("当前商品已售罄!");
+		//判断数量是否足够
+		if(purchaseLevelOntGoodsTransitParam.getNumber() > tbGoodsTransit.getStock())
+			throw new ServiceException("购买数量已超上限!");
+		try{
+			//上锁
+			lock.lock();
+			// todo: 调用银行接口发送指令,把当前边民下单所使用的额度(totalPrice)发送给银行,我们只需要做发送指令操作,不需要做银行额度是否满足判断
+			//执行购买
+			//商品库存
+			tbGoodsTransit.setStock(tbGoodsTransit.getStock() - purchaseLevelOntGoodsTransitParam.getNumber());
+			//如果商品的数量已售罄
+			if(new BigDecimal(tbGoodsTransit.getStock()).compareTo(new BigDecimal(0.0)) < 0)
+				throw new ServiceException("购买异常!");
+			if(new BigDecimal(tbGoodsTransit.getStock()).compareTo(new BigDecimal(0.0)) == 0)
+				tbGoodsTransit.setSellOut(SellOut.SELL_OUT_ONE.getCode());
+			//保存结果
 			int updateById = tbGoodsTransitMapper.updateById(tbGoodsTransit);
-			//执行给商家发送信息
 			if(updateById == 1){
-				//获取商家信息
-				TbEnterprise tbEnterprise = tbEnterpriseMapper.selectById(tbGoodsTransit.getMerchantId());
-				if(tbEnterprise == null)throw new RuntimeException("商家不存在!");
-
-				//todo:给商家发一条接单消息
-				MessageDto dto = new MessageDto();
-				dto.setUrl("/pages/market/one/merchant/order/list");
-				dto.setUserId(tbEnterprise.getId());
-				dto.setContents("你的发布的《" + tbGoodsTransit.getGoodsName() + "》已有人接单,请及时确认。");
-				adminInterface.messageSave(dto);
-				// 给组长旗下的所有边民发送message
-				methodOrderService.sendGroupMessage(list.get(0).getGroupId(),list.get(0).getName(),true);
-				//todo:通知短信
-//				return smsRetryService.sendSmsMsg(tbEnterprise.getContact());
-				return true;
+				//生成小订单
+				tbGoodsTransit.setPrice(totalPrice);
+				TbOrder tbOrder = methodGoodsTransitService.setTbOrderProperties(tbGoodsTransit, appLoginInfo);
+				boolean save = tbOrderService.save(tbOrder);
+				if(save){
+					//todo: 将交易成功信息推送给航通
+					//发送message给商家和买家
+					MessageDto dto = new MessageDto();
+					dto.setUrl("/pages/market/one/merchant/order/list");
+					dto.setUserId(Long.valueOf(tbGoodsTransit.getCreateBy()));
+					dto.setContents("你的商品 <<" + tbGoodsTransit.getGoodsName() + ">> " +
+							"已出售"+ purchaseLevelOntGoodsTransitParam.getNumber() +
+							tbGoodsTransit.getGoodsUnits() + "还剩 "+ tbGoodsTransit.getStock() +
+							tbGoodsTransit.getGoodsUnits() +",请前往查看。");
+					//执行message发送
+					adminInterface.messageSave(dto);
+					//执行发送买家
+					dto.setUrl("/pages/market/one/merchant/order/list");
+					dto.setUserId(appLoginInfo.getLoginId());
+					dto.setContents("购买商品 <<" + tbGoodsTransit.getGoodsName() + ">>成功!");
+					adminInterface.messageSave(dto);
+				}
 			}
+		}catch (Exception e){
+			e.printStackTrace();
+		}finally {
+			//解锁
+			lock.unlock();
 		}
+
 		throw new RuntimeException("订单预创建异常!");
 	}
 

+ 7 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/param/PurchaseLevelOneGoodsTransitParam.java

@@ -5,6 +5,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 /**
  * @Author Mechrevo
@@ -22,6 +23,12 @@ public class PurchaseLevelOneGoodsTransitParam {
     /** 购物车ID */
     private Long goodsCartId;
 
+    /**
+     * 购买的商品的数量
+     */
+    @NotNull(message = "购买商品的数量")
+    private Double number;
+
 //    private String receiveName;
 //    private String receivePhone;
 //    private String receiveAddress;

+ 39 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_goods_units/TbGoodsUnitsAppController.java

@@ -0,0 +1,39 @@
+package com.pj.tb_goods_units;
+
+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.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+
+
+/**
+ * Controller: tb_goods_units -- 商品单位(app接口)
+ * @author lbl
+ */
+@RestController
+@RequestMapping("/app/TbGoodsUnits/")
+public class TbGoodsUnitsAppController {
+
+	/** 底层 Service 对象 */
+	@Autowired
+	TbGoodsUnitsService tbGoodsUnitsService;
+
+
+	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
+	@RequestMapping("getList")
+	public AjaxJson getList() {
+		List<TbGoodsUnits> list = tbGoodsUnitsService.getList(new SoMap());
+		return AjaxJson.getPageData(Long.valueOf(list.size()), list);
+	}
+
+
+}

+ 4 - 4
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrder.java

@@ -220,7 +220,7 @@ public class TbOrder extends Model<TbOrder> implements Serializable {
 	/**
 	 * 申报时间
 	 */
-	private String applyTime;
+	private Date applyTime;
 
 	/**
 	 * 申报结果
@@ -238,11 +238,11 @@ public class TbOrder extends Model<TbOrder> implements Serializable {
 	private String distribution;
 
 	/**
-	 * 一级市场边民确认(0=待确认,1=是,2=否)[j]
+	 * 一级市场边民确认(0=待确认,1=是)[j]
 	 */
 	private Integer peopleConfirm;
 	/**
-	 * 一级市场商户确认(0=待确认,1=是,2=否)[j]
+	 * 一级市场商户确认(0=待确认,1=是)[j]
 	 */
 	private Integer enterpriseConfirm;
 
@@ -279,7 +279,7 @@ public class TbOrder extends Model<TbOrder> implements Serializable {
 	/**
 	 * 对应二级市场中的收购单ID
 	 */
-	private Long levelTwoOrderId;
+	private Long collageOrdersId;
 
 	/**
 	 * 创建时间

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

@@ -36,13 +36,13 @@ public class TbPeopleAppController {
     }
 
 
-
-    /** 边民确认订单 */
-    @RequestMapping("confirmOrder")
-    public AjaxJson confirmOrder(@RequestParam("orderId")Long orderId){
-        tbPeopleService.confirmOrder(orderId);
-        return AjaxJson.getSuccess();
-    }
+//
+//    /** 边民确认订单 */
+//    @RequestMapping("confirmOrder")
+//    public AjaxJson confirmOrder(@RequestParam("orderId")Long orderId){
+//        tbPeopleService.confirmOrder(orderId);
+//        return AjaxJson.getSuccess();
+//    }
 
 
 

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

@@ -200,6 +200,17 @@ public class TbPeopleController {
         return AjaxJson.getSuccess("边民加入互助组成功");
     }
 
+    /**
+     * 边民扫脸确认进境申报
+     * @param orderID
+     * @return
+     */
+    @PostMapping("entryDeclaration")
+    public AjaxJson entryDeclaration(Long orderID){
+        boolean declaration = tbPeopleService.entryDeclaration(orderID);
+        if(declaration)return AjaxJson.getSuccess();
+        return AjaxJson.getError();
+    }
 
     /**
      * 数据导入接口

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

@@ -9,10 +9,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.pj.api.client.admin.AdminInterface;
 import com.pj.api.dto.PeopleDto;
+import com.pj.common.core.exception.ServiceException;
 import com.pj.current.dto.PCLoginUserInfo;
 import com.pj.current.satoken.StpUserUtil;
 import com.pj.enummj.*;
-import com.pj.tb_goods_transit.TbGoodsTransitMapper;
 import com.pj.tb_group.TbGroup;
 import com.pj.tb_group.TbGroupMapper;
 import com.pj.tb_order.TbOrder;
@@ -64,12 +64,10 @@ public class TbPeopleService extends ServiceImpl<TbPeopleMapper, TbPeople> imple
 	/** 订单对象 */
 	@Autowired
 	private TbOrderMapper tbOrderMapper;
-	@Autowired
-	private TbGoodsTransitMapper tbGoodsTransitMapper;
-
 
 	@Autowired
 	TbGroupMapper tbGroupMapper;
+
 	/** 增 */
 	void add(TbPeople t){
 		t.setCreateTime(new Date())
@@ -198,7 +196,6 @@ public class TbPeopleService extends ServiceImpl<TbPeopleMapper, TbPeople> imple
 
 	/**
 	*边民申请加入互助组
-	*
 	* @author loovi
 	* @date
 	*/
@@ -236,7 +233,6 @@ public class TbPeopleService extends ServiceImpl<TbPeopleMapper, TbPeople> imple
    }
    /**
    *组长获取待通过申请人列表
-   *
    * @author loovi
    * @date
    */
@@ -326,7 +322,27 @@ public class TbPeopleService extends ServiceImpl<TbPeopleMapper, TbPeople> imple
 		return false;
 	}
 
-
+	/**
+	 * 边民的进境申报,每个边民只负责自己的申报
+	 * @param orderId  订单表主键
+	 * @return
+	 */
+	public boolean entryDeclaration(Long orderId){
+		//todo:调用人脸识别,通过则执行下面方法,不通过直接返回false
+		//获取其对象并进行判断
+		TbOrder tbOrder = tbOrderMapper.selectById(orderId);
+		if(tbOrder == null)
+			throw new ServiceException("订单信息异常!");
+		//修改订单状态
+		tbOrder.setApplyTime(new Date()); // 申报时间
+		tbOrder.setPeopleConfirm(ConfirmStatus.CONFIRM_STATUS_ONE.getCode()); // 默认边民确认
+		tbOrder.setFinishStatus(OrderStatus.ORDER_STATUS_ONE.getCode()); // 订单状态已完成
+		int update = tbOrderMapper.updateById(tbOrder);
+		if(update == 1){
+			//todo: 调用航通接口,接收进境申报确认信息;并向海关进行进境申报
+		}
+		return update == 1;
+	}
 
 
 

+ 20 - 1
sp-service/level-two-server/src/main/java/com/pj/tb_purchaser/MethodPurchaserService.java

@@ -4,11 +4,13 @@ import com.pj.enummj.DeleteStatus;
 import com.pj.enummj.IsLock;
 import com.pj.enummj.JudgeStatus;
 import com.pj.tb_purchaser.param.PurchaserParam;
+import com.pj.tb_purchaser.vo.PurchaserParamVo;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.DateUtil;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -70,7 +72,7 @@ public class MethodPurchaserService {
         int age = currentYear - birthYear;
         tbPurchaser.setAge(age);
         //法人
-        tbPurchaser.setLegalPerson(purchaser.getDutyParagraph());
+        tbPurchaser.setLegalPerson(purchaser.getCorporateName());
         //身份证
         tbPurchaser.setIdCard(purchaser.getCorporateIdCard());
         //手机号
@@ -85,10 +87,27 @@ public class MethodPurchaserService {
         tbPurchaser.setBankName(purchaser.getBankName());
         //审核状态,默认待审核
         tbPurchaser.setJudgeStatus(JudgeStatus.JUDGE_STATUS_ZERO.getCode());
+        tbPurchaser.setDutyParagraph(purchaser.getDutyParagraph());
         return tbPurchaser;
     }
 
     /**
+     * 认证时封装收购商信息
+     * @param tbPurchaser
+     * @return
+     */
+    public PurchaserParamVo setPurchaserParamProperties(TbPurchaser tbPurchaser){
+        PurchaserParamVo purchaserParam = new PurchaserParamVo();
+        BeanUtils.copyProperties(tbPurchaser,purchaserParam);
+        purchaserParam.setLoginUserId(Long.valueOf(tbPurchaser.getCreateBy()));
+        purchaserParam.setDutyParagraph(tbPurchaser.getDutyParagraph());
+        purchaserParam.setCorporateName(tbPurchaser.getLegalPerson());
+        purchaserParam.setCorporateIdCard(tbPurchaser.getIdCard());
+        purchaserParam.setLinkPhone(tbPurchaser.getContact());
+        return purchaserParam;
+    }
+
+    /**
      * 方法抽取  导入
      * @param row
      * @param sheet

+ 9 - 3
sp-service/level-two-server/src/main/java/com/pj/tb_purchaser/TbPurchaserController.java

@@ -133,11 +133,17 @@ public class TbPurchaserController {
 	}
 
 
-	/** 收购商审核 */
+	/**
+	 *  收购商审核
+	 * @param id 商户ID
+	 * @param judgeStatus 审核状态(0=待审核,1=审核通过,2=审核驳回)
+	 * @param judgeContent 审核内容,不通过时的备注
+	 * @return
+	 */
 	@RequestMapping("audit")
 	@SaCheckPermission(TbPurchaser.PERMISSION_CODE_EDIT)
-	public AjaxJson audit(Long purchaserId,Boolean flag,String reason){
-		boolean line = tbPurchaserService.audit(purchaserId,flag,reason);
+	public AjaxJson audit(Long id,Integer judgeStatus,@RequestParam(value = "judgeContent",required = false) String judgeContent){
+		boolean line = tbPurchaserService.audit(id,judgeStatus,judgeContent);
 		if(line)return AjaxJson.getSuccess("认证完成!");
 		return AjaxJson.getError("认证失败!");
 	}

+ 13 - 10
sp-service/level-two-server/src/main/java/com/pj/tb_purchaser/TbPurchaserService.java

@@ -22,6 +22,7 @@ import com.pj.common.core.exception.ServiceException;
 import com.pj.current.satoken.StpUserUtil;
 import com.pj.enummj.*;
 import com.pj.tb_purchaser.param.PurchaserParam;
+import com.pj.tb_purchaser.vo.PurchaserParamVo;
 import com.pj.utils.sg.AjaxError;
 import com.pj.utils.so.SoMap;
 import org.apache.commons.lang3.StringUtils;
@@ -113,26 +114,28 @@ public class TbPurchaserService extends ServiceImpl<TbPurchaserMapper, TbPurchas
 	/**
 	 *  收购商审核
 	 * @param purchaserId 二级市场商户表主键
-	 * @param flag true=审核通过  false=审核失败
-	 * @param reason 审核备注
+	 * @param judgeStatus 审核状态(0=待审核,1=审核通过,2=审核驳回)
+	 * @param judgeContent 审核备注
 	 * @return
 	 */
-	public boolean audit(Long purchaserId,Boolean flag,String reason){
+	public boolean audit(Long purchaserId,Integer judgeStatus,String judgeContent){
 		//审核不通过
-		if(!flag){
+		if(judgeStatus.equals(JudgeStatus.JUDGE_STATUS_TWO.getCode())){
 			TbPurchaser selectById = tbPurchaserMapper.selectById(purchaserId);
 			if(selectById == null)throw new ServiceException("商户信息异常!");
-			selectById.setJudgeStatus(JudgeStatus.JUDGE_STATUS_THREE.getCode());
-			selectById.setJudgeContent(reason);
+			selectById.setJudgeStatus(JudgeStatus.JUDGE_STATUS_TWO.getCode());
+			selectById.setJudgeContent(judgeContent);
 			tbPurchaserMapper.updateById(selectById);
 			//发送通知给收购商
 			MessageDto dto = new MessageDto();
 			dto.setUrl("/pages/market/one/merchant/order/list");
 			dto.setUserId(purchaserId);
-			dto.setContents("您发起的收购商认证审核不通过,原因是: " + reason);
+			dto.setContents("您发起的收购商认证审核不通过,原因是: " + judgeContent);
 			adminInterface.messageSave(dto);
 			return true;
 		}
+		if(!judgeStatus.equals(1))
+			return false;
 		//审核通过
 		TbPurchaser tbPurchaser = tbPurchaserMapper.selectById(purchaserId);
 		if(tbPurchaser == null)throw new ServiceException("收购商信息异常。");
@@ -155,7 +158,6 @@ public class TbPurchaserService extends ServiceImpl<TbPurchaserMapper, TbPurchas
 		if(aBoolean){
 			//发送通知给收购商
 			MessageDto dto = new MessageDto();
-			dto.setUrl("/pages/market/one/merchant/order/list");
 			dto.setUserId(appUser.getId());
 			dto.setContents("恭喜商户信息认证成功!");
 			adminInterface.messageSave(dto);
@@ -164,10 +166,11 @@ public class TbPurchaserService extends ServiceImpl<TbPurchaserMapper, TbPurchas
 	}
 
 	/** 获取审核状态 */
-	public TbPurchaser auditStatus(Long appUserId){
+	public PurchaserParamVo auditStatus(Long appUserId){
 		List<TbPurchaser> purchaserList = tbPurchaserMapper.selectList(new LambdaQueryWrapper<TbPurchaser>().eq(TbPurchaser::getCreateBy, appUserId).orderByDesc(TbPurchaser::getCreateTime));
 		if(purchaserList.size() == 0)return null;
-		return purchaserList.get(0);
+		PurchaserParamVo purchaserParam = methodPurchaserService.setPurchaserParamProperties(purchaserList.get(0));
+		return purchaserParam;
 	}
 	/** 收购商批量审核 */
 	public void auditBatch(List<Long> ids, Integer judgeStatus, String judgeContent) {

+ 53 - 0
sp-service/level-two-server/src/main/java/com/pj/tb_purchaser/vo/PurchaserParamVo.java

@@ -0,0 +1,53 @@
+package com.pj.tb_purchaser.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+/**
+ * 收购商认证入参
+ * @Author Mechrevo
+ * @Date 2023 08 02 10 56
+ **/
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PurchaserParamVo {
+
+    /**
+     * 审核状态(0=未通过,1=已通过,2=不通过)
+     */
+    private Integer judgeStatus;
+
+    /**
+     * 审核意见
+     */
+    private String judgeContent;
+
+    private Long loginUserId;
+
+    private String name;
+
+    private String dutyParagraph;
+
+    private String corporateName;
+
+    private String corporateIdCard;
+
+    private String linkPhone;
+
+    private String bankNo;
+
+    private String bankName;
+
+    private String bankAccount;
+
+    private String businessLicense;
+
+    private String address;
+
+
+
+
+}

+ 7 - 0
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserApiController.java

@@ -42,6 +42,13 @@ public class AppUserApiController {
         return AjaxJson.getSuccessData(a);
     }
 
+    /** 获取审核状态 */
+    @RequestMapping("getAuth")
+    public AjaxJson getAuth(){
+        return AjaxJson.getSuccessData(appUserService.getById(StpAPPUserUtil.getAPPLoginInfo().getLoginId()).getAuth());
+    }
+
+
     /**
      * 用户注册
      */

+ 2 - 1
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserController.java

@@ -111,9 +111,10 @@ public class AppUserController {
 	}
 	/** 商户认证 */
 	@RequestMapping("rpc/audit")
-	public boolean audit(EnterpriseAuditDto dto){
+	public boolean audit(@RequestBody EnterpriseAuditDto dto){
 		AppUser user=new AppUser();
 		BeanUtils.copyProperties(dto, user);
+		System.out.println("EnterpriseAuditDto:"+dto.getFkId());
 		return appUserService.updateById(user);
 	}
 

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

@@ -69,10 +69,6 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
 	private LevelOneServerInterface levelOneServerInterface;
 	@Autowired
 	private TransportInterface transportInterface;
-	@Autowired
-	private LevelTwoServerInterface levelTwoServerInterface;
-	@Autowired
-	private AdminInterface adminInterface;
 
 	@Autowired
 	AppUserLoginLogService appUserLoginLogService;
@@ -237,7 +233,7 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
         }
         //判断是否停用
         if (appUser.getStatus().equals("0")){
-            loginLog.setStatus("2");
+            loginLog.setStatus(IsLock.IS_LOCK_OFF.getCode() + "");
             appUserLoginLogService.save(loginLog);
             return AjaxJson.getError("该账户 " + appUser.getPhone() + " 已停用!");
         }
@@ -270,22 +266,41 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
 		switch (appUser.getUserType()){
 			case 1:
 				PeopleDto rpcById = levelOneServerInterface.getRpcById(appUser.getFkId());
-				if(rpcById != null) info.setTradeAreaId(rpcById.getTradeAreaId());
+				if(rpcById != null) {
+					info.setTradeAreaId(rpcById.getTradeAreaId());
+					info.setTradeAreaName(rpcById.getTradeAreaName());
+				}
 				break;
 			case 2:
 				PeopleDto leader = levelOneServerInterface.getRpcById(appUser.getFkId());
-				if(leader != null) info.setTradeAreaId(leader.getTradeAreaId());
+				if(leader != null) {
+					info.setTradeAreaId(leader.getTradeAreaId());
+					info.setTradeAreaName(leader.getTradeAreaName());
+				}
 				break;
 			case 3:
 				System.out.println("收购商无互市区字段");
 				break;
 			case 4:
-				DriverDto byDriverId = transportInterface.getByDriverId(appUser.getFkId());
-				if(byDriverId != null) info.setTradeAreaId(byDriverId.getTradeAreaId());
+				DriverDto driver = transportInterface.getByDriverId(appUser.getFkId());
+				if(driver != null) {
+					info.setTradeAreaId(driver.getTradeAreaId());
+					info.setTradeAreaName(driver.getTradeAreaName());
+				}
 				break;
 			case 5:
 				EnterpriseDto enterprise = levelOneServerInterface.getEnterpriseById(appUser.getFkId());
-				if(enterprise != null) info.setTradeAreaId(enterprise.getTradeAreaId());
+				if(enterprise != null) {
+					info.setTradeAreaId(enterprise.getTradeAreaId());
+					info.setTradeAreaName(enterprise.getTradeAreaName());
+				}
+				break;
+			case 6:
+				CooperativeDto cooperative = levelOneServerInterface.getCooperativeById(appUser.getFkId());
+				if(cooperative != null) {
+					info.setTradeAreaId(cooperative.getTradeAreaId());
+					info.setTradeAreaName(cooperative.getTradeAreaName());
+				}
 				break;
 			default:
 				throw new SecurityException("身份信息有误");

+ 19 - 18
sp-service/sp-admin/src/main/java/com/pj/project/re_role_menu/PcRoleMenuController.java

@@ -1,6 +1,7 @@
 package com.pj.project.re_role_menu;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.pj.project.app_menu.AppMenu;
 import com.pj.project.re_role_menu.dto.AssignPermissionsDto;
 import com.pj.project4sp.SP;
 import com.pj.utils.sg.AjaxJson;
@@ -17,7 +18,7 @@ import java.util.List;
 
 /**
  * Controller: re_role_menu -- app用户菜单中间表
- * @author qzy 
+ * @author qzy
  */
 @RestController
 @RequestMapping("/ReRoleMenu/")
@@ -27,7 +28,7 @@ public class PcRoleMenuController {
 	@Autowired
 	ReRoleMenuService reRoleMenuService;
 
-	/** 增 */  
+	/** 增 */
 	@RequestMapping("add")
 	@SaCheckPermission(ReRoleMenu.PERMISSION_CODE_ADD)
 	public AjaxJson add(ReRoleMenu r){
@@ -36,24 +37,24 @@ public class PcRoleMenuController {
 		return AjaxJson.getSuccessData(r);
 	}
 
-	/** 删 */  
+	/** 删 */
 	@RequestMapping("delete")
 	@SaCheckPermission(ReRoleMenu.PERMISSION_CODE_DEL)
 	public AjaxJson delete(Long id){
 		 reRoleMenuService.delete(id);
 		return AjaxJson.getSuccess();
 	}
-	
-	/** 删 - 根据id列表 */  
+
+	/** 删 - 根据id列表 */
 	@RequestMapping("deleteByIds")
 	@SaCheckPermission(ReRoleMenu.PERMISSION_CODE_DEL)
 	public AjaxJson deleteByIds(){
-		List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class); 
+		List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class);
 		int line = SP.publicMapper.deleteByIds(ReRoleMenu.TABLE_NAME, ids);
 		return AjaxJson.getByLine(line);
 	}
-	
-	/** 改 */  
+
+	/** 改 */
 	@RequestMapping("update")
 	@SaCheckPermission(ReRoleMenu.PERMISSION_CODE_EDIT)
 	public AjaxJson update(ReRoleMenu r){
@@ -61,7 +62,7 @@ public class PcRoleMenuController {
 		return AjaxJson.getSuccess();
 	}
 
-	/** 查 - 根据id */  
+	/** 查 - 根据id */
 	@RequestMapping("getById")
 		@SaCheckPermission(ReRoleMenu.PERMISSION_CODE)
 	public AjaxJson getById(Long id){
@@ -75,32 +76,32 @@ public class PcRoleMenuController {
 	 * @return
 	 */
 	@RequestMapping("getList")
-		@SaCheckPermission(ReRoleMenu.PERMISSION_CODE)
+		@SaCheckPermission(AppMenu.PERMISSION_CODE)
 	public AjaxJson getList(@RequestParam(value = "appRoleId",required = false) Integer appRoleId) {
 		SoMap so = SoMap.getRequestSoMap();
 		List<ReRoleMenu> list = reRoleMenuService.getList(so.startPage(),appRoleId);
 		return AjaxJson.getPageData(so.getDataCount(), list);
 	}
-	
+
 	/**
 	 * pc端:可以根据不同app角色进行菜单权限分配
 	 * @param assignPermissionsDto 职务ID和该职务下属的权限的集合
 	 * @return
 	 */
 	@RequestMapping("assignPermissions")
-		@SaCheckPermission(ReRoleMenu.PERMISSION_CODE)
-	public AjaxJson assignPermissions(@Validated @RequestBody AssignPermissionsDto assignPermissionsDto) {
+		@SaCheckPermission(AppMenu.PERMISSION_CODE)
+	public AjaxJson assignPermissions(@Validated AssignPermissionsDto assignPermissionsDto) {
 		boolean permissions = reRoleMenuService.assignPermissions(assignPermissionsDto);
 		if(permissions)return AjaxJson.getSuccess("权限分配成功!");
 		return AjaxJson.getError("权限分配失败!");
 	}
 
 
-	
-	
 
-	
-	
-	
+
+
+
+
+
 
 }

+ 0 - 2
sp-service/sp-admin/src/main/java/com/pj/project/tb_message/TbMessageController.java

@@ -1,12 +1,10 @@
 package com.pj.project.tb_message;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.pj.api.dto.DistrictInfoDTO;
 import com.pj.api.dto.MessageDto;
 import com.pj.project4sp.SP;
 import com.pj.utils.sg.AjaxJson;
 import com.pj.utils.so.SoMap;
-import org.apache.xmlbeans.impl.xb.xsdschema.Public;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;