Procházet zdrojové kódy

边民绑定商铺,上架流程

qzy před 1 rokem
rodič
revize
a2fa890eda
27 změnil soubory, kde provedl 1001 přidání a 671 odebrání
  1. 3 0
      sp-core/sp-api/src/main/java/com/pj/api/client/admin/AdminInterface.java
  2. 5 0
      sp-core/sp-api/src/main/java/com/pj/api/client/admin/AdminInterfaceFallback.java
  3. 32 0
      sp-core/sp-api/src/main/java/com/pj/api/dto/BindShopDTO.java
  4. 1 1
      sp-core/sp-base/src/main/java/com/pj/current/satoken/SaTokenConfigure.java
  5. 3 0
      sp-core/sp-base/src/main/java/com/pj/utils/ht/AESUtil.java
  6. 1 1
      sp-core/sp-nacos/src/main/resources/bootstrap.properties
  7. 506 498
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrder.java
  8. 19 0
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderAppController.java
  9. 9 0
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderController.java
  10. 1 0
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderMapper.xml
  11. 40 16
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java
  12. 6 0
      sp-service/level-one-server/src/main/java/com/pj/tb_order/vo/OrderVo.java
  13. 6 1
      sp-service/level-one-server/src/main/java/com/pj/tb_people/TbPeople.java
  14. 14 0
      sp-service/level-one-server/src/main/java/com/pj/tb_people/TbPeopleController.java
  15. 2 1
      sp-service/level-one-server/src/main/java/com/pj/tb_people/TbPeopleMapper.xml
  16. 43 7
      sp-service/level-one-server/src/main/java/com/pj/tb_people/TbPeopleService.java
  17. 9 0
      sp-service/level-one-server/src/main/java/com/pj/tb_people/vo/BindShopVO.java
  18. 6 2
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersApiController.java
  19. 170 97
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersController.java
  20. 70 39
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersService.java
  21. 25 0
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/vo/OrderFeeItemVO.java
  22. 4 0
      sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUser.java
  23. 5 0
      sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserController.java
  24. 3 0
      sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserMapper.java
  25. 5 2
      sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserMapper.xml
  26. 9 6
      sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserService.java
  27. 4 0
      sp-service/sp-admin/src/main/java/com/pj/project4sp/spcfg/SpCfgController.java

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

@@ -90,4 +90,7 @@ public interface AdminInterface {
     @PostMapping("admin/rpc/createAdmin")
     public void createAdmin(@RequestBody AdminCreateDto dto);
 
+
+    @PostMapping("AppUser/rpc/changeBindShopStatus")
+    public void changeBindShopStatus(@RequestBody BindShopDTO bindShopDTO);
 }

+ 5 - 0
sp-core/sp-api/src/main/java/com/pj/api/client/admin/AdminInterfaceFallback.java

@@ -85,6 +85,11 @@ public class AdminInterfaceFallback implements FallbackFactory<AdminInterface> {
 
             }
 
+            @Override
+            public void changeBindShopStatus(BindShopDTO bindShopDTO) {
+
+            }
+
         };
     }
 

+ 32 - 0
sp-core/sp-api/src/main/java/com/pj/api/dto/BindShopDTO.java

@@ -0,0 +1,32 @@
+package com.pj.api.dto;
+
+
+public class BindShopDTO {
+    private String ids;
+    private String shopId;
+    private Integer bindShop;
+
+    public String getIds() {
+        return ids;
+    }
+
+    public void setIds(String ids) {
+        this.ids = ids;
+    }
+
+    public String getShopId() {
+        return shopId;
+    }
+
+    public void setShopId(String shopId) {
+        this.shopId = shopId;
+    }
+
+    public Integer getBindShop() {
+        return bindShop;
+    }
+
+    public void setBindShop(Integer bindShop) {
+        this.bindShop = bindShop;
+    }
+}

+ 1 - 1
sp-core/sp-base/src/main/java/com/pj/current/satoken/SaTokenConfigure.java

@@ -41,7 +41,7 @@ public class SaTokenConfigure implements WebMvcConfigurer {
         		.setAuth(obj -> {
         			// 校验 Id-Token 身份凭证     —— 以下两句代码可简化为:SaIdUtil.checkCurrentRequestToken(); 
                     String token = SaHolder.getRequest().getHeader(SaIdUtil.ID_TOKEN);
-					StaticLog.info("=======filter===token=======:{}",token);
+//					StaticLog.info("=======filter===token=======:{}",token);
 					//todo 暂时关闭token校验
 
                     SaIdUtil.checkToken(token);

+ 3 - 0
sp-core/sp-base/src/main/java/com/pj/utils/ht/AESUtil.java

@@ -260,6 +260,9 @@ CkB9nBTgtwQYyW+/luLX0P7AN7AG9vhXlSNzkpfp33/HoZX6MjrrBrQnRJkKy1nOeahRTV90bkIZYymu
         String cbcDecrypt = decryptCBC(cbcResult, "klfksd78974s1d4f");// RabbitmQ.ACC_KEY
         System.out.println("aes解密结果:" + cbcDecrypt);
         System.out.println();
+
+        String str="zo5yvhKGlGI4DFIbdwOa2eDjupWkiKvfWDGdNIbpX3WbDq4LsUhnTYh6aLPdj+w4l6OmVzLEjgh2/FC8MVmkYqCT6MZ401A8I8h7JYNXr+FtTdTjiqhCviSZrmmrqEAv2EyBJh6QrgRj6f3K9/jUm69JB8+UIoXajsr53AGjOWUb5hYDyc3wPYO4ImNbRAozqTs1cxAxmwHqtntUoHtaWB5ohECC/philz6JUs06hnf8CfJ3fAIecpOAvBrlStY0tpBYHy1cJaLQrIi0HIQ0o2uDY1/GHe0ooqVKVYAlkUa80VVWUuWAeXb52IXJwPjqNoRTO942nK5ZPwj72YdpuMtx/f7ggrCWQkA9Fjnl8Uu5KX4DGY/P+YWzz4P5jrTpnT0V6km2pAfyT8FFw5tlmd4PM8uyKozVBg+62941F+U=";
+        System.out.println(decryptCBC(str,"klfksd78974s1d4f"));
     }
 
 

+ 1 - 1
sp-core/sp-nacos/src/main/resources/bootstrap.properties

@@ -1,6 +1,6 @@
 # --------------------- nacos注册中心 --------------------- 
 ### nacos注册中心 - 地址
-spring.cloud.nacos.discovery.server-addr=127.0.0.1:8001
+spring.cloud.nacos.discovery.server-addr=106.15.1.216:4048
 ### nacos注册中心 - 用户
 spring.cloud.nacos.discovery.username=nacos
 ### nacos注册中心 - 密码

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

@@ -1,6 +1,7 @@
 package com.pj.tb_order;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.*;
@@ -14,6 +15,7 @@ import lombok.experimental.Accessors;
 
 /**
  * Model: tb_order -- 订单表
+ *
  * @author lbl
  */
 @Data
@@ -22,503 +24,509 @@ import lombok.experimental.Accessors;
 @EqualsAndHashCode(callSuper = false)
 public class TbOrder extends Model<TbOrder> implements Serializable {
 
-	// ---------- 模块常量 ----------
-	/**
-	 * 序列化版本id
-	 */
-	private static final long serialVersionUID = 1L;
-	/**
-	 * 此模块对应的表名
-	 */
-	public static final String TABLE_NAME = "tb_order";
-	/**
-	 * 此模块对应的权限码
-	 */
-	public static final String PERMISSION_CODE = "tb-order";
-	public static final String PERMISSION_CODE_ADD = "tb-order-add";
-	public static final String PERMISSION_CODE_EDIT = "tb-order-edit";
-	public static final String PERMISSION_CODE_DEL = "tb-order-del";
-
-
-
-
-	// ---------- 表中字段 ----------
-	/**
-	 * 主键
-	 */
-	@TableId(type = IdType.AUTO)
-	@JsonSerialize(using = ToStringSerializer.class)
-	private Long id;
-
-	/**
-	 * 订单号
-	 */
-	private String tradeNo;
-
-	/**
-	 * 交易地区ID
-	 */
-	@JsonSerialize(using = ToStringSerializer.class)
-	private Long tradeAreaId;
-
-	/**
-	 * 交易地区名称
-	 */
-	private String tradeAreaName;
-
-	/**
-	 * 地区ID集合
-	 */
-	private String addressIds;
-
-	/**
-	 * 过审商品id
-	 */
-	private Long goodsId;
-
-	/**
-	 * 商品名称字符串
-	 */
-	private String goodsNames;
-
-	/**
-	 * 商品单位
-	 */
-	private String goodsUnit;
-
-	/**
-	 * 商品图片
-	 */
-	private String goodsImg;
-
-	/**
-	 * 总重量
-	 */
-	private Double totalWeight;
-
-	/**
-	 * 总金额
-	 */
-	private Double totalPrice;
-
-	/**
-	 * 买家ID
-	 */
-	private Long buyUserId;
-
-	/**
-	 * 买家名称
-	 */
-	private String buyUserName;
-
-	/**
-	 * 买家类型(1=边民,2=组长)
-	 */
-	private String buyUserType;
-
-	/**
-	 * 交易状态(0=未支付,1=已支付)
-	 */
-	private Integer tradeStatus;
-
-	/**
-	 * 交易时间
-	 */
-	private Date tradeTime;
-
-	/**
-	 * 支付方式(0=金融互助,1=现金刷卡)
-	 */
-	private Integer payType;
-
-	/**
-	 * 商铺ID
-	 */
-	private Long shopId;
-
-	/**
-	 * 商铺名称
-	 */
-	private String shopName;
-
-	/**
-	 * 商户ID
-	 */
-	private Long enterpriseId;
-
-	/**
-	 * 商户名称
-	 */
-	private String enterpriseName;
-
-	/**
-	 * 商户确认(0=待确认,1=是,2=否)
-	 */
-	private Integer enterpriseConfirm;
-
-	/**
-	 * 购买的互市组ID
-	 */
-	private Long groupId;
-
-	/**
-	 * 结算时间
-	 */
-	private Date settleTime;
-
-	/**
-	 * 当前结算金额
-	 */
-	private Double realPrice;
-
-	/**
-	 * 应结金额
-	 */
-	private Double shouldPrice;
-
-	/**
-	 * 是否对账(0=否,)
-	 */
-	private String record;
-
-	/**
-	 * 对账人
-	 */
-	private Long settleUserId;
-
-	/**
-	 * 对账人员
-	 */
-	private Long recordUserId;
-
-	/**
-	 * 对账时间
-	 */
-	private Date recordTime;
-
-	/**
-	 * 退款状态[1=退款成功 2=退款失败]
-	 */
-	private Integer refundStatus;
-
-	/**
-	 * 退款原因
-	 */
-	private String refundReason;
-
-	/**
-	 * 退款时间
-	 */
-	private Date refundTime;
-
-	/**
-	 * 收货人名称
-	 */
-	private String receiveName;
-
-	/**
-	 * 收货人电话
-	 */
-	private String receivePhone;
-
-	/**
-	 * 收货地址
-	 */
-	private String receiveAddress;
-
-	/**
-	 * 出互市区时间
-	 */
-	private Date outTime;
-
-	/**
-	 * 分配方式(0=均分,1=自选数量)
-	 */
-	private String distribution;
-
-	/**
-	 * 是否接单
-	 */
-	private String pick;
-
-	/**
-	 * 接单时间
-	 */
-	private Date pickTime;
-
-	/**
-	 * 是否发货
-	 */
-	private Integer send;
-
-	/**
-	 * 发货时间
-	 */
-	private Date sendTime;
-
-	/**
-	 * 叫车状态
-	 */
-	private Integer callCarStatus;
-
-	/**
-	 * 创建人编号
-	 */
-	private Long createBy;
-
-	/**
-	 * 创建人名称
-	 */
-	private String createName;
-
-	/**
-	 * 创建时间
-	 */
-	private Date createTime;
-
-	/**
-	 * 更新人编号
-	 */
-	private Long updateBy;
-
-	/**
-	 * 更新人名称
-	 */
-	private String updateName;
-
-	/**
-	 * 更新时间
-	 */
-	private Date updateTime;
-
-	/**
-	 * 删除状态(0=禁用,1=启用)
-	 */
-	private Integer deleteStatus;
-
-	/**
-	 * 对应合作社的拼单订单ID
-	 */
-	private Long collageOrdersId;
-
-	/**
-	 * 申报单编号
-	 */
-	private Long applyNo;
-
-	/**
-	 * 申报
-	 */
-	private Integer apply;
-
-	/**
-	 * 申报时间
-	 */
-	private Date applyTime;
-
-	/**
-	 * 申报结果
-	 */
-	private String applyResult;
-
-	/**
-	 * 申报失败理由
-	 */
-	private String applyFailReason;
-
-	/**
-	 * 查验结果[1=查验通过 2=查验不通过]
-	 */
-	private Integer checkPassStatus=1;
-
-	/**
-	 * 查验时间(不通过)
-	 */
-	private Date checkPassTime;
-
-	/**
-	 * 边民确认
-	 */
-	private Integer peopleConfirmStatus=0;
-
-	/**
-	 * 边民确认类型
-	 */
-	private String peopleConfirmType;
-
-	/**
-	 * 边民确认时间
-	 */
-	private Date peopleConfirmTime;
-
-	/**
-	 * 互助委托申报确认状态
-	 */
-	private Integer cooperEntrustStatus=0;
-
-	/**
-	 * 互助委托申报确认时间
-	 */
-	private Date cooperEntrustTime;
-
-	/**
-	 * 边民进口申报确认状态
-	 */
-	private Integer applyConfirmStatus=0;
-
-	/**
-	 * 边民进口申报确认时间
-	 */
-	private Date applyConfirmTime;
-
-	/**
-	 * 订单完成状态(0=未完成,1=已完成)->车出一级市场才完成,完成后可以进行转售
-	 */
-	private Integer finishStatus;
-	/**
-	 * 完成时间
-	 */
-	private Date finishTime;
-
-	/**
-	 * 是否转售(0=未转售,1=已转售,2=转售中)
-	 */
-	private Integer resaleStatus;
-
-	/**
-	 * 订单转售后是否在二级市场被下单
-	 */
-	private Integer beingOrder;
-
-	/**
-	 * 预申报编号
-	 */
-	private String platSeqNo;
-
-	/**
-	 * 结算单号
-	 */
-	private String settleBillNo;
-
-	/**
-	 * 进出口预申报单号
-	 */
-	private String preIeportNo;
-
-	/**
-	 * 单证代码
-	 */
-	private String preNo;
-
-	/**
-	 * 车牌号
-	 */
-	private String veNo;
-
-	/**
-	 * 车航次(班)号
-	 */
-	private String voyageNo;
-
-	/**
-	 * 边民姓名
-	 */
-	private String borderName;
-
-	/**
-	 * 身份证号
-	 */
-	private String idno;
-
-	/**
-	 * 边民备案编号
-	 */
-	private String borderPutrecNo;
-
-	/**
-	 * 申报金额
-	 */
-	private Double buyAmount;
-
-	/**
-	 * 净重
-	 */
-	private Double netWt;
-
-	/**
-	 * 毛重
-	 */
-	private Double grossWt;
-
-	/**
-	 * 申报数量
-	 */
-	private Double buyQty;
-
-	/**
-	 * 第一数量
-	 */
-	private Double buyQty1;
-
-	/**
-	 * 第二数量
-	 */
-	private Double buyQty2;
-
-	/**
-	 * 不知道
-	 */
-	private Long saleMainId;
-
-	/**
-	 *
-	 */
-	private Integer cancelPeople;
-
-	/**
-	 * 边民额度序号
-	 */
-	private String limitNo;
-
-	/**
-	 * 商品额度
-	 */
-	private Double gLimit;
-
-	/**
-	 * 商品序号
-	 */
-	private String gNo;
-
-	/**
-	 * 进口申报单Id
-	 */
-	private Long importOrderId;
-
-	/**
-	 *  1-边民,2-商铺业主或其代理人,3-合作社代表,4-互助组代表
-	 */
-	private String declareType;
-
-
-	/**
-	 * 商品单价
-	 */
-	private Double declPrice;
-	/**
-	 * 商品编码
-	 */
-	private String codeTs;
-
-
-	/**
-	 * (一级市场)订单扣款回执状态[0=初始值 1=扣款成功 2=扣款失败]
-	 */
-	private Integer Sxb010Status=0;
-	/**
-	 * (一级市场)订单扣款回执时间
-	 */
-	private Date Sxb010StatusTime;
-
+    // ---------- 模块常量 ----------
+    /**
+     * 序列化版本id
+     */
+    private static final long serialVersionUID = 1L;
+    /**
+     * 此模块对应的表名
+     */
+    public static final String TABLE_NAME = "tb_order";
+    /**
+     * 此模块对应的权限码
+     */
+    public static final String PERMISSION_CODE = "tb-order";
+    public static final String PERMISSION_CODE_ADD = "tb-order-add";
+    public static final String PERMISSION_CODE_EDIT = "tb-order-edit";
+    public static final String PERMISSION_CODE_DEL = "tb-order-del";
+    public static final String PERMISSION_CODE_EDIT_PRICE = "tb-order-edit-price";
+
+
+    // ---------- 表中字段 ----------
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.AUTO)
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    /**
+     * 订单号
+     */
+    private String tradeNo;
+
+    /**
+     * 交易地区ID
+     */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long tradeAreaId;
+
+    /**
+     * 交易地区名称
+     */
+    private String tradeAreaName;
+
+    /**
+     * 地区ID集合
+     */
+    private String addressIds;
+
+    /**
+     * 过审商品id
+     */
+    private Long goodsId;
+
+    /**
+     * 商品名称字符串
+     */
+    private String goodsNames;
+
+    /**
+     * 商品单位
+     */
+    private String goodsUnit;
+
+    /**
+     * 商品图片
+     */
+    private String goodsImg;
+
+    /**
+     * 总重量
+     */
+    private Double totalWeight;
+
+    /**
+     * 总金额
+     */
+    private Double totalPrice;
+
+    /**
+     * 买家ID
+     */
+    private Long buyUserId;
+
+    /**
+     * 买家名称
+     */
+    private String buyUserName;
+
+    /**
+     * 买家类型(1=边民,2=组长)
+     */
+    private String buyUserType;
+
+    /**
+     * 交易状态(0=未支付,1=已支付)
+     */
+    private Integer tradeStatus;
+
+    /**
+     * 交易时间
+     */
+    private Date tradeTime;
+
+    /**
+     * 支付方式(0=金融互助,1=现金刷卡)
+     */
+    private Integer payType;
+
+    /**
+     * 商铺ID
+     */
+    private Long shopId;
+
+    /**
+     * 商铺名称
+     */
+    private String shopName;
+
+    /**
+     * 商户ID
+     */
+    private Long enterpriseId;
+
+    /**
+     * 商户名称
+     */
+    private String enterpriseName;
+
+    /**
+     * 商户确认(0=待确认,1=是,2=否)
+     */
+    private Integer enterpriseConfirm;
+
+    /**
+     * 购买的互市组ID
+     */
+    private Long groupId;
+
+    /**
+     * 结算时间
+     */
+    private Date settleTime;
+
+    /**
+     * 当前结算金额
+     */
+    private Double realPrice;
+
+    /**
+     * 应结金额
+     */
+    private Double shouldPrice;
+
+    /**
+     * 是否对账(0=否,)
+     */
+    private String record;
+
+    /**
+     * 对账人
+     */
+    private Long settleUserId;
+
+    /**
+     * 对账人员
+     */
+    private Long recordUserId;
+
+    /**
+     * 对账时间
+     */
+    private Date recordTime;
+
+    /**
+     * 退款状态[1=退款成功 2=退款失败]
+     */
+    private Integer refundStatus;
+
+    /**
+     * 退款原因
+     */
+    private String refundReason;
+
+    /**
+     * 退款时间
+     */
+    private Date refundTime;
+
+    /**
+     * 收货人名称
+     */
+    private String receiveName;
+
+    /**
+     * 收货人电话
+     */
+    private String receivePhone;
+
+    /**
+     * 收货地址
+     */
+    private String receiveAddress;
+
+    /**
+     * 出互市区时间
+     */
+    private Date outTime;
+
+    /**
+     * 分配方式(0=均分,1=自选数量)
+     */
+    private String distribution;
+
+    /**
+     * 是否接单
+     */
+    private String pick;
+
+    /**
+     * 接单时间
+     */
+    private Date pickTime;
+
+    /**
+     * 是否发货
+     */
+    private Integer send;
+
+    /**
+     * 发货时间
+     */
+    private Date sendTime;
+
+    /**
+     * 叫车状态
+     */
+    private Integer callCarStatus;
+
+    /**
+     * 创建人编号
+     */
+    private Long createBy;
+
+    /**
+     * 创建人名称
+     */
+    private String createName;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新人编号
+     */
+    private Long updateBy;
+
+    /**
+     * 更新人名称
+     */
+    private String updateName;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 删除状态(0=禁用,1=启用)
+     */
+    private Integer deleteStatus;
+
+    /**
+     * 对应合作社的拼单订单ID
+     */
+    private Long collageOrdersId;
+
+    /**
+     * 申报单编号
+     */
+    private Long applyNo;
+
+    /**
+     * 申报
+     */
+    private Integer apply;
+
+    /**
+     * 申报时间
+     */
+    private Date applyTime;
+
+    /**
+     * 申报结果
+     */
+    private String applyResult;
+
+    /**
+     * 申报失败理由
+     */
+    private String applyFailReason;
+
+    /**
+     * 查验结果[1=查验通过 2=查验不通过]
+     */
+    private Integer checkPassStatus = 1;
+
+    /**
+     * 查验时间(不通过)
+     */
+    private Date checkPassTime;
+
+    /**
+     * 边民确认
+     */
+    private Integer peopleConfirmStatus = 0;
+
+    /**
+     * 边民确认类型
+     */
+    private String peopleConfirmType;
+
+    /**
+     * 边民确认时间
+     */
+    private Date peopleConfirmTime;
+
+    /**
+     * 互助委托申报确认状态
+     */
+    private Integer cooperEntrustStatus = 0;
+
+    /**
+     * 互助委托申报确认时间
+     */
+    private Date cooperEntrustTime;
+
+    /**
+     * 边民进口申报确认状态
+     */
+    private Integer applyConfirmStatus = 0;
+
+    /**
+     * 边民进口申报确认时间
+     */
+    private Date applyConfirmTime;
+
+    /**
+     * 订单完成状态(0=未完成,1=已完成)->车出一级市场才完成,完成后可以进行转售
+     */
+    private Integer finishStatus;
+    /**
+     * 完成时间
+     */
+    private Date finishTime;
+
+    /**
+     * 是否转售(0=未转售,1=已转售,2=转售中)
+     */
+    private Integer resaleStatus;
+
+    /**
+     * 订单转售后是否在二级市场被下单
+     */
+    private Integer beingOrder;
+
+    /**
+     * 预申报编号
+     */
+    private String platSeqNo;
+
+    /**
+     * 结算单号
+     */
+    private String settleBillNo;
+
+    /**
+     * 进出口预申报单号
+     */
+    private String preIeportNo;
+
+    /**
+     * 单证代码
+     */
+    private String preNo;
+
+    /**
+     * 车牌号
+     */
+    private String veNo;
+
+    /**
+     * 车航次(班)号
+     */
+    private String voyageNo;
+
+    /**
+     * 边民姓名
+     */
+    private String borderName;
+
+    /**
+     * 身份证号
+     */
+    private String idno;
+
+    /**
+     * 边民备案编号
+     */
+    private String borderPutrecNo;
+
+    /**
+     * 申报金额
+     */
+    private Double buyAmount;
+
+    /**
+     * 净重
+     */
+    private Double netWt;
+
+    /**
+     * 毛重
+     */
+    private Double grossWt;
+
+    /**
+     * 申报数量
+     */
+    private Double buyQty;
+
+    /**
+     * 第一数量
+     */
+    private Double buyQty1;
+
+    /**
+     * 第二数量
+     */
+    private Double buyQty2;
+
+    /**
+     * 不知道
+     */
+    private Long saleMainId;
+
+    /**
+     *
+     */
+    private Integer cancelPeople;
+
+    /**
+     * 边民额度序号
+     */
+    private String limitNo;
+
+    /**
+     * 商品额度
+     */
+    private Double gLimit;
+
+    /**
+     * 商品序号
+     */
+    private String gNo;
+
+    /**
+     * 进口申报单Id
+     */
+    private Long importOrderId;
+
+    /**
+     * 1-边民,2-商铺业主或其代理人,3-合作社代表,4-互助组代表
+     */
+    private String declareType;
+
+
+    /**
+     * 商品单价
+     */
+    private Double declPrice;
+    /**
+     * 商品编码
+     */
+    private String codeTs;
+
+
+    /**
+     * (一级市场)订单扣款回执状态[0=初始值 1=扣款成功 2=扣款失败]
+     */
+    private Integer Sxb010Status = 0;
+    /**
+     * (一级市场)订单扣款回执时间
+     */
+    private Date Sxb010StatusTime;
+
+    /**
+     * 上架状态(1=未上架,2=上架,3=已下架)
+     */
+    private Integer upStatus = 1;
+    private Date upTime;
+
+    private BigDecimal upPrice;
 
 }

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

@@ -131,6 +131,25 @@ public class TbOrderAppController {
 		return AjaxJson.toAjax(tbOrderService.cooperOrder(orderId));
 	}
 
+	@RequestMapping("up")
+	public AjaxJson up(@RequestParam("id")Long id,@RequestParam("upPrice")String upPrice) {
+		tbOrderService.up(id,upPrice);
+		return AjaxJson.getSuccess();
+	}
+
+	@RequestMapping("down")
+	public AjaxJson down(@RequestParam("id")Long id) {
+		tbOrderService.down(id);
+		return AjaxJson.getSuccess();
+	}
+
+
+
+
+
+
+
+
 
 	/*-----           正常业务逻辑👆👆    rpc远程调用👇👇 -----*/
 

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

@@ -81,6 +81,15 @@ public class TbOrderController {
 	}
 
 
+	/** 改 - 删除状态(0=禁用,1=启用) */
+	@RequestMapping("editUpPrice")
+	@SaCheckPermission(TbOrder.PERMISSION_CODE_EDIT_PRICE)
+	public AjaxJson editUpPrice(Long id, double price){
+		int line = SP.publicMapper.updateColumnById(TbOrder.TABLE_NAME, "up_price", price, id);
+		return AjaxJson.getByLine(line);
+	}
+
+
 
 	/*-----           正常业务逻辑👆👆    rpc远程调用👇👇 -----*/
 

+ 1 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderMapper.xml

@@ -114,6 +114,7 @@
 			<if test=' this.has("gNo") '> and g_no = #{gNo} </if>
 			<if test=' this.has("importOrderId") '> and import_order_id = #{importOrderId} </if>
 			<if test=' this.has("declareType") '> and declare_type = #{declareType} </if>
+			<if test=' this.has("upStatus") '> and up_status = #{upStatus} </if>
 		</where>
 		order by
 		<choose>

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

@@ -421,19 +421,19 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         paymentDto.setOwnerTel(tbShop.getOwnerTel());
 
 
-
         return paymentDto;
     }
 
     /**
      * 边民订单确认
+     *
      * @param orderId 一级市场订单表ID
      */
     public boolean confirmOrder(Long orderId) {
         TbOrder tbOrder = this.getById(orderId);
         if (tbOrder == null) {
             throw new AjaxError("订单不存在");
-        } else if(2 == tbOrder.getCheckPassStatus()) {
+        } else if (2 == tbOrder.getCheckPassStatus()) {
             throw new AjaxError("当前订单查验不通过!边民不能进行交易确认。");
         }
         tbOrder.setPeopleConfirmTime(new Date())
@@ -444,11 +444,13 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         PaymentDto paymentDto = this.getPaymentData(tbOrder);
         paymentServerInterface.sendSXB010(paymentDto);
 
-       return update;
+        return update;
     }
+
     /**
      * 边民订单确认-收到银行扣款回执
-     * @param tradeNo 一级市场边民订单-订单编号
+     *
+     * @param tradeNo      一级市场边民订单-订单编号
      * @param SXB010Status 回执状态-1=扣款成功 2=扣款失败
      */
     public boolean confirmOrderFromBank(String tradeNo, Integer SXB010Status) {
@@ -461,11 +463,10 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         TbOrder tbOrder = tbOrderList.get(0);
 
         // TODO: 2023/8/29 更新状态保存交易记录
-        if(2==SXB010Status) {//扣款失败
+        if (2 == SXB010Status) {//扣款失败
             tbOrder.setSxb010Status(2)
                     .setSxb010StatusTime(new Date());
-        }
-        else if(1==SXB010Status) {//扣款成功
+        } else if (1 == SXB010Status) {//扣款成功
             tbOrder.setSxb010Status(1)
                     .setSxb010StatusTime(new Date());
 
@@ -541,7 +542,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
     /**
      * 发送009信息到航通
      */
-    private void sendConfirmMsgToHt(TbOrder tbOrder)  {
+    private void sendConfirmMsgToHt(TbOrder tbOrder) {
         TbPeople tbPeople = tbPeopleService.getById(tbOrder.getBuyUserId());
         PeopleConfirmDTO peopleConfirmDTO = new PeopleConfirmDTO();
         peopleConfirmDTO.setBorderName(tbOrder.getBuyUserName());
@@ -580,13 +581,14 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
     /**
      * 根据购买者ID查询
+     *
      * @param buyUserId
      * @return
      */
     private List<TbOrder> findByBuyUserId(Long buyUserId) {
-        QueryWrapper<TbOrder>ew=new QueryWrapper<>();
-        ew.lambda().eq(TbOrder::getBuyUserId,buyUserId)
-                .eq(TbOrder::getDeleteStatus,DeleteStatus.DELETE_STATUS_ON.getCode());
+        QueryWrapper<TbOrder> ew = new QueryWrapper<>();
+        ew.lambda().eq(TbOrder::getBuyUserId, buyUserId)
+                .eq(TbOrder::getDeleteStatus, DeleteStatus.DELETE_STATUS_ON.getCode());
         return list(ew);
     }
 
@@ -629,6 +631,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
         return update && update1;
     }
+
     //收到银行退款回执
     public boolean chargebackFromBank(String tradeNo, Integer SXB013Status, String note) {
         LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
@@ -639,10 +642,9 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         }
         TbOrder tbOrder = tbOrderList.get(0);
 
-        if(2==SXB013Status) {//退款失败
+        if (2 == SXB013Status) {//退款失败
             tbOrder.setRefundStatus(2).setRefundReason(note).setRefundTime(new Date());
-        }
-        else if(1==SXB013Status) {//退款成功
+        } else if (1 == SXB013Status) {//退款成功
             tbOrder.setRefundStatus(1).setRefundReason(note).setRefundTime(new Date());
         }
         return updateById(tbOrder);
@@ -669,6 +671,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
         return true;
     }
+
     // TODO: 收到(一级市场-通车批信息)订单打款回执, tradeNos:订单号 n个
     public boolean orderFinishFromBank(String tradeNos, Integer SXB023Status) {
         String[] tradeNoArr = tradeNos.split(",");
@@ -682,7 +685,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         }
 
         // 更新状态保存交易记录
-        if(2==SXB023Status) {
+        if (2 == SXB023Status) {
             tbOrderList.forEach(order -> {
                 order.setTradeStatus(TradeStatus.TRADE_STATUS_Two.getCode()); //支付失败
                 order.setTradeTime(new Date()); //支付回执时间
@@ -690,7 +693,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
                 boolean result = updateById(order);
             });
-        } else if(1==SXB023Status) {
+        } else if (1 == SXB023Status) {
             //更新结算单状态
             Long settleId = tbOrderList.get(0).getSaleMainId();
             HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(settleId);
@@ -787,4 +790,25 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         return true;
     }
 
+    public void up(Long id, String upPrice) {
+        TbOrder tbOrder = new TbOrder();
+        tbOrder.setId(id);
+        tbOrder.setUpPrice(new BigDecimal(upPrice)).setUpTime(new Date()).setUpStatus(2);
+        int i = tbOrderMapper.updateById(tbOrder);
+        if (i != 1) {
+            throw new AjaxError("上架失败");
+        }
+    }
+
+    public void down(Long id) {
+        TbOrder db=getById(id);
+        if (db==null){
+            throw new AjaxError("该订单不存在");
+        }
+        if (db.getBeingOrder()==1) {
+            throw new AjaxError("该订单在二级市场被下单,无法下架");
+        }
+        db.setUpStatus(1);
+        this.updateById(db);
+    }
 }

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

@@ -2,6 +2,7 @@ package com.pj.tb_order.vo;
 
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -237,4 +238,9 @@ public class OrderVo {
      * 申报时间
      */
     private Date applyTime;
+
+    private Integer upStatus = 1;
+    private Date upTime;
+
+    private BigDecimal upPrice;
 }

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

@@ -38,6 +38,7 @@ public class TbPeople extends Model<TbPeople> implements Serializable {
 	public static final String PERMISSION_CODE_ADD = "tb-people-add";
 	public static final String PERMISSION_CODE_EDIT = "tb-people-edit";
 	public static final String PERMISSION_CODE_DEL = "tb-people-del";
+	public static final String PERMISSION_CODE_BIND_SHOP = "tb-people-bind-shop";
 
 
 
@@ -289,7 +290,11 @@ public class TbPeople extends Model<TbPeople> implements Serializable {
 	/**
 	 *  场所编码 
 	 */
-	private String fieldCode;	
+	private String fieldCode;
+
+	private String shopName;
+
+	private Long shopId;
 
 
 

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

@@ -11,6 +11,7 @@ import com.pj.api.dto.HtPeopleDto;
 import com.pj.api.dto.PeopleDto;
 import com.pj.tb_people.dto.LeaveGroupDto;
 import com.pj.tb_people.dto.StartStopDto;
+import com.pj.tb_people.vo.BindShopVO;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
@@ -80,6 +81,19 @@ public class TbPeopleController {
         return AjaxJson.getSuccess();
     }
 
+    @RequestMapping("bindShop")
+    @SaCheckPermission(TbPeople.PERMISSION_CODE_BIND_SHOP)
+    public AjaxJson bindShop(BindShopVO shopVO) {
+        tbPeopleService.bindShop(shopVO);
+        return AjaxJson.getSuccess();
+    }
+    @RequestMapping("removeBind")
+    @SaCheckPermission(TbPeople.PERMISSION_CODE_BIND_SHOP)
+    public AjaxJson removeBind(String id) {
+        tbPeopleService.removeBind(id);
+        return AjaxJson.getSuccess();
+    }
+
     /** 移除组内边民 */
     @RequestMapping("leaveGroup")
     @SaCheckPermission(TbPeople.PERMISSION_CODE_EDIT)

+ 2 - 1
sp-service/level-one-server/src/main/java/com/pj/tb_people/TbPeopleMapper.xml

@@ -24,7 +24,7 @@
 
 	<!-- 公共查询sql片段 -->
 	<sql id="select_sql">
-		select * from tb_people
+		select *from tb_people
 	</sql>
 	<insert id="addApply">
 		insert into tb_people_apply
@@ -121,6 +121,7 @@
 			<if test=' this.has("deleteStatus") '> and delete_status = #{deleteStatus} </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("shopId") '> and shop_id = #{shopId} </if>
 		</where>
 		order by
 		<choose>

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

@@ -9,10 +9,7 @@ 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.consts.FeignFactory;
-import com.pj.api.dto.AppUserCreateDTO;
-import com.pj.api.dto.AppUserDto;
-import com.pj.api.dto.HtPeopleDto;
-import com.pj.api.dto.PeopleDto;
+import com.pj.api.dto.*;
 import com.pj.common.core.exception.ServiceException;
 import com.pj.current.dto.PCLoginUserInfo;
 import com.pj.current.satoken.StpUserUtil;
@@ -26,10 +23,16 @@ 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.tb_people.vo.BindShopVO;
+import com.pj.tb_shop.TbShop;
+import com.pj.tb_shop.TbShopMapper;
+import com.pj.tb_shop.TbShopService;
 import com.pj.tb_trade_area.TbTradeArea;
 import com.pj.tb_trade_area.TbTradeAreaService;
+import com.pj.utils.sg.AjaxError;
 import com.pj.utils.sg.AjaxJson;
 import com.pj.utils.so.SoMap;
+import com.tencentcloudapi.live.v20180801.models.PublishTime;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
@@ -62,6 +65,8 @@ public class TbPeopleService extends ServiceImpl<TbPeopleMapper, TbPeople> imple
      */
     @Autowired
     TbPeopleMapper tbPeopleMapper;
+    @Resource
+    private TbShopService tbShopService;
 
     @Autowired
     private MethodPeopleService methodPeopleService;
@@ -571,10 +576,10 @@ public class TbPeopleService extends ServiceImpl<TbPeopleMapper, TbPeople> imple
          新增备案,传空值;
          如果为变更备案,
          必须传值;*/
-      //  this.saveOrUpdate(tbPeople);
-        if (isNew){
+        //  this.saveOrUpdate(tbPeople);
+        if (isNew) {
             this.save(tbPeople);
-        }else {
+        } else {
             this.updateById(tbPeople);
         }
         //新增
@@ -680,4 +685,35 @@ public class TbPeopleService extends ServiceImpl<TbPeopleMapper, TbPeople> imple
 
         return update(wrapper);
     }
+
+    public void bindShop(BindShopVO t) {
+        List<TbPeople> list = new ArrayList<>();
+        StrUtil.split(t.getIds(), ",")
+                .forEach(id -> {
+                    TbPeople db = this.getById(id);
+                    if (db != null) {
+                        TbShop tbShop = tbShopService.getById(t.getShopId());
+                        db.setShopId(t.getShopId()).setShopName(tbShop.getShopName());
+                        list.add(db);
+
+                    }
+                });
+        this.updateBatchById(list);
+        BindShopDTO bindShopDTO=new BindShopDTO();
+        bindShopDTO.setBindShop(2);
+        bindShopDTO.setIds(t.getIds());
+        FeignFactory.adminInterface.changeBindShopStatus(bindShopDTO);
+    }
+
+    public void removeBind(String id) {
+        LambdaUpdateWrapper<TbPeople> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.set(TbPeople::getShopId, null);
+        wrapper.set(TbPeople::getShopName, null);
+        wrapper.eq(TbPeople::getId, id);
+        this.update(wrapper);
+        BindShopDTO bindShopDTO=new BindShopDTO();
+        bindShopDTO.setBindShop(1);
+        bindShopDTO.setIds(id);
+        FeignFactory.adminInterface.changeBindShopStatus(bindShopDTO);
+    }
 }

+ 9 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_people/vo/BindShopVO.java

@@ -0,0 +1,9 @@
+package com.pj.tb_people.vo;
+
+import lombok.Data;
+
+@Data
+public class BindShopVO {
+    private String ids;
+    private Long shopId;
+}

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

@@ -116,8 +116,7 @@ public class TbOrdersApiController {
 	@RequestMapping("countPrice")
 	public AjaxJson countPrice() {
 		SoMap so = SoMap.getRequestSoMap();
-		Double sumPrice = tbOrdersService.countPrice(so);
-		return AjaxJson.getSuccessData(sumPrice);
+		return AjaxJson.getSuccessData(tbOrdersService.countPrice(so));
 	}
 
 	/** 查 根据订单Id查订单详情 */
@@ -144,6 +143,11 @@ public class TbOrdersApiController {
 	}
 
 
+
+
+
+
+
 	/** 查 - 根据一级市场订单id查二级市场的转售金额 */
 	@RequestMapping("rpc/getResalePriceByLevelOneOrderId")
 	public Double getResalePriceByLevelOneOrderId(@RequestParam("orderId") Long orderId){

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

@@ -1,8 +1,18 @@
 package com.pj.tb_orders;
 
+import java.util.Date;
 import java.util.List;
 
+import com.pj.api.consts.FeignFactory;
+import com.pj.api.dto.OrderDto;
+import com.pj.api.dto.PeopleDto;
+import com.pj.current.config.SystemObject;
+import com.pj.current.dto.APPLoginUserInfo;
+import com.pj.current.dto.PCLoginUserInfo;
+import com.pj.current.satoken.StpAPPUserUtil;
 import com.pj.current.satoken.StpUserUtil;
+import com.pj.enummj.DeleteStatus;
+import com.pj.enummj.OrderStatus;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -15,108 +25,171 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
 
 /**
  * Controller: tb_orders -- 订单表
+ *
  * @author qzy
  */
 @RestController
 @RequestMapping("/TbOrders/")
 public class TbOrdersController {
 
-	/** 底层 Service 对象 */
-	@Autowired
-	TbOrdersService tbOrdersService;
-
-	/** 增 */
-	@RequestMapping("add")
-		@SaCheckPermission(TbOrders.PERMISSION_CODE_ADD)
-	public AjaxJson add(TbOrders t){
-		tbOrdersService.add(t);
-		t = tbOrdersService.getById(SP.publicMapper.getPrimarykey());
-		return AjaxJson.getSuccessData(t);
-	}
-
-	/** 删 */
-	@RequestMapping("delete")
-		@SaCheckPermission(TbOrders.PERMISSION_CODE_DEL)
-	public AjaxJson delete(Long id){
-		 tbOrdersService.delete(id);
-		return AjaxJson.getSuccess();
-	}
-
-	/** 删 - 根据id列表 */
-	@RequestMapping("deleteByIds")
-		@SaCheckPermission(TbOrders.PERMISSION_CODE_DEL)
-	public AjaxJson deleteByIds(){
-		List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class);
-		int line = SP.publicMapper.deleteByIds(TbOrders.TABLE_NAME, ids);
-		return AjaxJson.getByLine(line);
-	}
-
-	/** 改 */
-	@RequestMapping("update")
-		@SaCheckPermission(TbOrders.PERMISSION_CODE_EDIT)
-	public AjaxJson update(TbOrders t){
-		tbOrdersService.update(t);
-		return AjaxJson.getSuccess();
-	}
-
-	/** 查 - 根据id */
-	@RequestMapping("getById")
-		@SaCheckPermission(TbOrders.PERMISSION_CODE)
-	public AjaxJson getById(Long id){
-		TbOrders t = tbOrdersService.getById(id);
-		return AjaxJson.getSuccessData(t);
-	}
-
-	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
-	@RequestMapping("getList")
-		@SaCheckPermission(TbOrders.PERMISSION_CODE)
-	public AjaxJson getList(@RequestParam(value = "ordersStatus",required = false)Integer ordersStatus) {
-		SoMap so = SoMap.getRequestSoMap();
-		List<TbOrders> list = tbOrdersService.getPCList(so.startPage(),ordersStatus);
-		return AjaxJson.getPageData(so.getDataCount(), list);
-	}
-
-
-
-	/** 改 - 订单完成状态 (0=未完成,1=已完成) */
-	@RequestMapping("updateOrderFinish")
-		@SaCheckPermission(TbOrders.PERMISSION_CODE_EDIT)
-	public AjaxJson updateOrderFinish(Long id, Integer value){
-		int line = SP.publicMapper.updateColumnById(TbOrders.TABLE_NAME, "order_finish", value, id);
-		return AjaxJson.getByLine(line);
-	}
-
-	/** 查询所有统计年份 **/
-	@RequestMapping("selectYear")
-	public AjaxJson selectYear() {
-		SoMap so=new SoMap();
-		so.put("year",tbOrdersService.selectYear());
-		//运营管理者统计全部
-		if(StpUserUtil.getPCLoginInfo().getType()==null||StpUserUtil.getPCLoginInfo().getType().equals("00")){
-			so.put("count",tbOrdersService.totalMoney(null));
-		}
-		//合作社只统计对应的互市id
-		if(StpUserUtil.getPCLoginInfo().getType()!=null&&StpUserUtil.getPCLoginInfo().getType().equals("01")){
-			so.put("count",tbOrdersService.totalMoney(StpUserUtil.getPCLoginInfo().getTradeAreaId()));
-		}
-		return AjaxJson.getSuccessData(so);
-	}
-
-	/** 根据年份查询每月订单交易额统计 **/
-	@RequestMapping("orderStatistics")
-	public AjaxJson orderStatistics(String year) {
-		SoMap so=new SoMap();
-		//运营管理者统计全部
-		if(StpUserUtil.getPCLoginInfo().getType()==null||StpUserUtil.getPCLoginInfo().getType().equals("00")){
-			so.put("money",tbOrdersService.orderStatistics("交易额",year,  null));
-			so.put("count",tbOrdersService.orderStatistics("交易量",year,null));
-		}
-		//合作社只统计对应的互市id
-		if(StpUserUtil.getPCLoginInfo().getType()!=null&&StpUserUtil.getPCLoginInfo().getType().equals("01")){
-			so.put("money",tbOrdersService.orderStatistics("交易额",year,  StpUserUtil.getPCLoginInfo().getTradeAreaId()));
-			so.put("count",tbOrdersService.orderStatistics("交易量",year,StpUserUtil.getPCLoginInfo().getTradeAreaId()));
-		}
-		return AjaxJson.getSuccessData(so);
-	}
+    /**
+     * 底层 Service 对象
+     */
+    @Autowired
+    TbOrdersService tbOrdersService;
+
+    /**
+     * 增
+     */
+    @RequestMapping("add")
+    @SaCheckPermission(TbOrders.PERMISSION_CODE_ADD)
+    public AjaxJson add(TbOrders t) {
+        tbOrdersService.add(t);
+        t = tbOrdersService.getById(SP.publicMapper.getPrimarykey());
+        return AjaxJson.getSuccessData(t);
+    }
+
+    /**
+     * 删
+     */
+    @RequestMapping("delete")
+    @SaCheckPermission(TbOrders.PERMISSION_CODE_DEL)
+    public AjaxJson delete(Long id) {
+        tbOrdersService.delete(id);
+        return AjaxJson.getSuccess();
+    }
+
+    /**
+     * 删 - 根据id列表
+     */
+    @RequestMapping("deleteByIds")
+    @SaCheckPermission(TbOrders.PERMISSION_CODE_DEL)
+    public AjaxJson deleteByIds() {
+        List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class);
+        int line = SP.publicMapper.deleteByIds(TbOrders.TABLE_NAME, ids);
+        return AjaxJson.getByLine(line);
+    }
+
+    @RequestMapping("addOrderByResale")
+    public AjaxJson addOrderByResale() {
+        SoMap so = SoMap.getRequestSoMap();
+        OrderDto orderDto =  FeignFactory.levelOneServerInterface.getOrderDtoById(so.getLong("id"));
+        if (null == orderDto) throw new RuntimeException("当前一级市场订单为空,请联系管理员!");
+
+        //获取app登录用户
+
+        TbOrders orders = new TbOrders();
+        orders.setResalePrice(so.getDouble("resalePrice"));
+        orders.setLevelOneOrderId(so.getLong("id"));
+        orders.setGoodsId(orderDto.getGoodsId());
+        orders.setGoodsName(orderDto.getGoodsNames());
+        orders.setTradeAreaName(orderDto.getTradeAreaName());
+        orders.setTradeAreaId(orderDto.getTradeAreaId());
+        orders.setVeNo(orderDto.getVeNo());
+        //订单编号:EJSCDD=二级市场订单
+        orders.setOrderNo(SystemObject.getREFcode("EJSCDD", new Date()));
+        //订单完成状态 (0=未完成,1=已完成)
+        orders.setOrderFinish(OrderStatus.ORDER_STATUS_ZERO.getCode());
+        //删除状态(0=禁用,1=启用)
+        orders.setDeleteStatus(DeleteStatus.DELETE_STATUS_ON.getCode());
+
+        PeopleDto people = FeignFactory.levelOneServerInterface.getRpcById(orderDto.getBuyUserId());
+        //转售订单的边民
+        orders.setLeaderId(people.getId());
+        orders.setLeaderName(people.getName());
+        orders.setLeaderPhone(people.getPhone());
+        //创建人
+        PCLoginUserInfo pcLoginUserInfo=StpUserUtil.getPCLoginInfo();
+        orders.setCreateBy(Long.parseLong(pcLoginUserInfo.getLoginId()));
+        orders.setCreateName(pcLoginUserInfo.getLoginName());
+        orders.setCreateTime(new Date());
+
+        this.add(orders);
+
+        //修改一级市场边民订单转售状态为已转售
+        boolean b =  FeignFactory.levelOneServerInterface.updateResaleStatus(so.getLong("id"));
+        if (!b) throw new RuntimeException("修改一级市场边民订单转售状态为已转售失败!");
+
+        return AjaxJson.toAjax(tbOrdersService.addOrderByResale(so));
+    }
+
+    /**
+     * 改
+     */
+    @RequestMapping("update")
+    @SaCheckPermission(TbOrders.PERMISSION_CODE_EDIT)
+    public AjaxJson update(TbOrders t) {
+        tbOrdersService.update(t);
+        return AjaxJson.getSuccess();
+    }
+
+    /**
+     * 查 - 根据id
+     */
+    @RequestMapping("getById")
+    @SaCheckPermission(TbOrders.PERMISSION_CODE)
+    public AjaxJson getById(Long id) {
+        TbOrders t = tbOrdersService.getById(id);
+        return AjaxJson.getSuccessData(t);
+    }
+
+    /**
+     * 查集合 - 根据条件(参数为空时代表忽略指定条件)
+     */
+    @RequestMapping("getList")
+    @SaCheckPermission(TbOrders.PERMISSION_CODE)
+    public AjaxJson getList(@RequestParam(value = "ordersStatus", required = false) Integer ordersStatus) {
+        SoMap so = SoMap.getRequestSoMap();
+        List<TbOrders> list = tbOrdersService.getPCList(so.startPage(), ordersStatus);
+        return AjaxJson.getPageData(so.getDataCount(), list);
+    }
+
+
+    /**
+     * 改 - 订单完成状态 (0=未完成,1=已完成)
+     */
+    @RequestMapping("updateOrderFinish")
+    @SaCheckPermission(TbOrders.PERMISSION_CODE_EDIT)
+    public AjaxJson updateOrderFinish(Long id, Integer value) {
+        int line = SP.publicMapper.updateColumnById(TbOrders.TABLE_NAME, "order_finish", value, id);
+        return AjaxJson.getByLine(line);
+    }
+
+    /**
+     * 查询所有统计年份
+     **/
+    @RequestMapping("selectYear")
+    public AjaxJson selectYear() {
+        SoMap so = new SoMap();
+        so.put("year", tbOrdersService.selectYear());
+        //运营管理者统计全部
+        if (StpUserUtil.getPCLoginInfo().getType() == null || StpUserUtil.getPCLoginInfo().getType().equals("00")) {
+            so.put("count", tbOrdersService.totalMoney(null));
+        }
+        //合作社只统计对应的互市id
+        if (StpUserUtil.getPCLoginInfo().getType() != null && StpUserUtil.getPCLoginInfo().getType().equals("01")) {
+            so.put("count", tbOrdersService.totalMoney(StpUserUtil.getPCLoginInfo().getTradeAreaId()));
+        }
+        return AjaxJson.getSuccessData(so);
+    }
+
+    /**
+     * 根据年份查询每月订单交易额统计
+     **/
+    @RequestMapping("orderStatistics")
+    public AjaxJson orderStatistics(String year) {
+        SoMap so = new SoMap();
+        //运营管理者统计全部
+        if (StpUserUtil.getPCLoginInfo().getType() == null || StpUserUtil.getPCLoginInfo().getType().equals("00")) {
+            so.put("money", tbOrdersService.orderStatistics("交易额", year, null));
+            so.put("count", tbOrdersService.orderStatistics("交易量", year, null));
+        }
+        //合作社只统计对应的互市id
+        if (StpUserUtil.getPCLoginInfo().getType() != null && StpUserUtil.getPCLoginInfo().getType().equals("01")) {
+            so.put("money", tbOrdersService.orderStatistics("交易额", year, StpUserUtil.getPCLoginInfo().getTradeAreaId()));
+            so.put("count", tbOrdersService.orderStatistics("交易量", year, StpUserUtil.getPCLoginInfo().getTradeAreaId()));
+        }
+        return AjaxJson.getSuccessData(so);
+    }
 
 }

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

@@ -1,6 +1,7 @@
 package com.pj.tb_orders;
 
 import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -31,11 +32,13 @@ import com.pj.tb_goods_demand.TbGoodsDemandService;
 import com.pj.tb_goods_demand.vo.GoodsDemandVo;
 import com.pj.tb_item_rules.TbItemRules;
 import com.pj.tb_item_rules.TbItemRulesService;
+import com.pj.tb_orders.vo.OrderFeeItemVO;
 import com.pj.tb_orders_cart.TbOrdersCart;
 import com.pj.tb_orders_cart.TbOrdersCartMapper;
 import com.pj.tb_purchaser.TbPurchaser;
 import com.pj.tb_purchaser.TbPurchaserMapper;
 import com.pj.utils.so.SoMap;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -54,6 +57,7 @@ import java.util.stream.Collectors;
  */
 @Service
 @Transactional(rollbackFor = Exception.class)
+@Slf4j
 public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> implements IService<TbOrders> {
 
     /**
@@ -114,7 +118,7 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
 
     }
 
-    private PaymentTwoDto getPaymentData(TbOrders t,OrderDto orderOne) {
+    private PaymentTwoDto getPaymentData(TbOrders t, OrderDto orderOne) {
         TradeSettlementDto htTradeSettlement = levelOneServerInterface.getHtTradeSettlementById(orderOne.getSaleMainId());
         PaymentTwoDto paymentTwoDto = new PaymentTwoDto();
         BeanUtils.copyProperties(htTradeSettlement, paymentTwoDto);
@@ -176,7 +180,7 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
             OrderDto orderOne = levelOneServerInterface.getOrderDtoById(orderTwo.getLevelOneOrderId());
 
             //todo 接收国内采购商的货款支付申请,划扣至边民账户并给出回执 并且同步至航通
-            PaymentTwoDto paymentTwoDto = this.getPaymentData(orderTwo,orderOne);
+            PaymentTwoDto paymentTwoDto = this.getPaymentData(orderTwo, orderOne);
             paymentServerInterface.sendMKT006_NoCommission(paymentTwoDto);
 
             //给每个购买他商品的边民发一条支付成功消息,通知边民发起缴税申请以及缴费申请
@@ -195,6 +199,7 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
 
     /**
      * 收到采购商支付扣款回执:成功——> 边民缴税以及各服务费
+     *
      * @param orderNo 二级市场边民订单-订单编号
      */
     boolean payTax(String orderNo, Integer MKT008Status) {
@@ -207,19 +212,18 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
         OrderDto orderOne = levelOneServerInterface.getOrderDtoById(orderTwo.getLevelOneOrderId());
         if (null == orderOne) new RuntimeException("收到采购商支付扣款回执:一级市场订单不存在");
 
-        if(2==MKT008Status) {//扣款失败
+        if (2 == MKT008Status) {//扣款失败
             //todo 订单状态更新
             orderTwo.setIsPay(2);//支付失败
             orderTwo.setPayTime(new Date());
-        }
-        else if(1==MKT008Status) {//扣款成功
+        } else if (1 == MKT008Status) {//扣款成功
             //todo 1、订单状态更新
             orderTwo.setIsPay(1);//支付成功
             orderTwo.setPayTime(new Date());
 
             //todo 2、同步订单信息,发送航通
             OrdersDto ordersDto = new OrdersDto();
-            BeanUtils.copyProperties(orderTwo,ordersDto);
+            BeanUtils.copyProperties(orderTwo, ordersDto);
             asyncServerInterface.sendLevelTwoOrdersDto(ordersDto, DataType.DATA_TYPE_FOUR.getCode());
 
             //todo 3、系统将服务费自动分账,将分账信息自动发送至银行进行划扣
@@ -249,21 +253,23 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
                 List<TbFeeItem> feeItems = feeItemList.stream().filter(feeItem -> feeItem.getId().equals(ruleItem.getItemId())).collect(Collectors.toList());
                 if (feeItems.size() > 0) {
                     TbCompany company = companyService.getById(feeItems.get(0).getCompanyId());
-                    BeanUtils.copyProperties(company,companyDto);
+                    BeanUtils.copyProperties(company, companyDto);
                     companyDto.setChargesPrice(chargesPrice);
                 }
                 companyDtoList.add(companyDto);
             }
 
-            PaymentTwoDto paymentTwoDto = this.getPaymentData(orderTwo,orderOne);
+            PaymentTwoDto paymentTwoDto = this.getPaymentData(orderTwo, orderOne);
             paymentTwoDto.setCompanyDtoList(companyDtoList);
             paymentServerInterface.sendMKT006(paymentTwoDto);
         }
 
         return updateById(orderTwo);
     }
+
     /**
      * 收到边民缴税以及各服务费回执
+     *
      * @param orderNo 二级市场边民订单-订单编号
      */
     boolean payTaxFromBank(String orderNo, Integer MKT008Status) {
@@ -273,12 +279,11 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
         if (list.size() <= 0) new RuntimeException("收到边民缴税以及各服务费回执:二级市场订单不存在");
         TbOrders orderTwo = list.get(0);
 
-        if(2==MKT008Status) {//缴费失败
+        if (2 == MKT008Status) {//缴费失败
             //todo 订单状态更新
             orderTwo.setPayTax(2);
             orderTwo.setPayTaxTime(new Date());
-        }
-        else if(1==MKT008Status) {//缴费成功
+        } else if (1 == MKT008Status) {//缴费成功
             //todo 订单状态更新
             orderTwo.setPayTax(1);
             orderTwo.setPayTaxTime(new Date());
@@ -357,7 +362,7 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
         List<TbOrders> levelTwoList = tbOrdersMapper.getLevelTwoList(so);
 
         String typeCode = so.getString("typeCode");
-        if(StringUtils.isNotEmpty(typeCode)) {
+        if (StringUtils.isNotEmpty(typeCode)) {
             List<TbOrders> collect = new ArrayList<>();
             List<Long> goodsIds = levelOneServerInterface.getGoodsIds(typeCode);
             goodsIds.forEach(goodsId -> {
@@ -450,34 +455,56 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
         return true;
     }
 
-    public Double countPrice(SoMap so) {
+    public OrderFeeItemVO countPrice(SoMap so) {
         OrderDto orderDto = levelOneServerInterface.getOrderDtoById(so.getLong("id"));
-        if (null == orderDto) throw new RuntimeException("当前一级市场订单为空,请联系管理员!");
-
-        List<TbItemRules> ruleList = new ArrayList<>();
-        List<TbFeeItem> feeItemList = tbFeeItemService.getFeeItems();
-        feeItemList.forEach(feeItem -> {
-            ruleList.addAll(tbItemRulesService.getList(new SoMap().set("itemId", feeItem.getId())));
-        });
+        if (null == orderDto){
+            log.error("当前一级市场订单为空,请联系管理员:{}",so.getLong("id"));
+            throw new RuntimeException("当前一级市场订单为空,请联系管理员!");
+        }
         //目前逻辑为一个边民订单只有一个商品
         GoodsDto goods = levelOneServerInterface.getByGoodsId(orderDto.getGoodsId());
-        List<TbItemRules> newRuleList = ruleList.stream().filter(rule -> rule.getGoodsCodes().contains(goods.getCode())).collect(Collectors.toList());
-        BigDecimal chargesPrice = BigDecimal.ZERO;
+        List<TbFeeItem> feeItemList = tbFeeItemService.getFeeItems();
+
         BigDecimal TotalPrice = new BigDecimal(orderDto.getTotalPrice());
-        BigDecimal GrossWt = new BigDecimal(orderDto.getGrossWt());
-        for (TbItemRules ruleItem : newRuleList) {
-            BigDecimal Percent = new BigDecimal(ruleItem.getPercent());
-            //类型(1=按交易额收取,2=按次收取,3=按吨)
-            if ("1".equals(ruleItem.getFeeType())) {
-                chargesPrice = chargesPrice.add(TotalPrice.multiply(Percent).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP));//保留两位小数,四舍五入
-            } else if ("2".equals(ruleItem.getFeeType())) {
-                chargesPrice = chargesPrice.add(ruleItem.getFeeMoney());
-            } else if ("3".equals(ruleItem.getFeeType())) {
-                chargesPrice = chargesPrice.add(GrossWt.multiply(Percent).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP));//保留两位小数,四舍五入
+        BigDecimal GrossWt = new BigDecimal(orderDto.getNetWt()+"");
+        if (orderDto.getGoodsUnit().contains("千克") || orderDto.getGoodsUnit().contains("kg")) {
+            GrossWt = GrossWt.divide(new BigDecimal(1000), 2, RoundingMode.HALF_UP);
+        }
+        //需要交的费用
+        BigDecimal chargesPrice = BigDecimal.ZERO;
+        OrderFeeItemVO vo = new OrderFeeItemVO();
+        List<OrderFeeItemVO.FeeDTO> feeDTOList = new ArrayList<>();
+        for (TbFeeItem feeItem : feeItemList) {
+            List<TbItemRules> ruleList = tbItemRulesService.getList(new SoMap().set("itemId", feeItem.getId()));
+            List<TbItemRules> newRuleList = ruleList.stream()
+                    .filter(rule -> rule.getGoodsCodes().contains(goods.getCode()))
+                    .collect(Collectors.toList());
+            if (newRuleList.isEmpty()) {
+                continue;
+            }
+            for (TbItemRules ruleItem : newRuleList) {
+                OrderFeeItemVO.FeeDTO feeDTO = new OrderFeeItemVO.FeeDTO();
+                BigDecimal Percent = new BigDecimal(ruleItem.getPercent());
+                BigDecimal timesPrice = BigDecimal.ZERO;
+                //类型(1=按交易额收取,2=按次收取,3=按吨)
+                if ("1".equals(ruleItem.getFeeType())) {
+                    feeDTO.setPercent(Percent);
+                    timesPrice = TotalPrice.multiply(Percent).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
+                } else if ("2".equals(ruleItem.getFeeType())) {
+                    timesPrice = ruleItem.getFeeMoney();
+                } else if ("3".equals(ruleItem.getFeeType())) {
+                    feeDTO.setPercent(Percent);
+                    timesPrice = GrossWt.multiply(Percent).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
+                }
+                chargesPrice = chargesPrice.add(timesPrice);
+                feeDTO.setName(feeItem.getName()).setFeeType(ruleItem.getFeeType())
+                        .setFeeMoney(timesPrice.doubleValue() + "");
+                vo.setCompanyName(feeItem.getCompanyName());
+                feeDTOList.add(feeDTO);
             }
         }
-        Double sumPrice = chargesPrice.add(TotalPrice).doubleValue();
-        return sumPrice;
+        vo.setTotalFee(chargesPrice).setFeeList(feeDTOList);
+        return vo;
     }
 
     /**
@@ -489,7 +516,7 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
         wrapper.eq(TbOrders::getLevelOneOrderId, levelOneOrderId);
         List<TbOrders> tbOrders = tbOrdersMapper.selectList(wrapper);
 
-        if(tbOrders.size()>0) return tbOrders.get(0);
+        if (tbOrders.size() > 0) return tbOrders.get(0);
         return null;
     }
 
@@ -499,6 +526,7 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
     public boolean updateResalePrice(TbOrders tbOrders) {
         return updateById(tbOrders);
     }
+
     /**
      * 增  二级市场订单
      */
@@ -563,27 +591,30 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
 
     /**
      * 根据年份查询每月订单交易额和交易量统计
+     *
      * @param type
      * @param year
      * @return
      */
-    public List<Map<String, Object>> orderStatistics(String type,String year,Long tradeAreaId){
-        return tbOrdersMapper.orderStatistics(type,year,tradeAreaId);
+    public List<Map<String, Object>> orderStatistics(String type, String year, Long tradeAreaId) {
+        return tbOrdersMapper.orderStatistics(type, year, tradeAreaId);
     }
 
     /**
      * 查询所有统计年份
+     *
      * @return
      */
-    public List<Map<String, Object>> selectYear(){
+    public List<Map<String, Object>> selectYear() {
         return tbOrdersMapper.selectYear();
     }
 
     /**
      * 累计交易额
+     *
      * @return
      */
-    public Map<String, Object> totalMoney(Long tradeAreaId){
+    public Map<String, Object> totalMoney(Long tradeAreaId) {
         return tbOrdersMapper.totalMoney(tradeAreaId);
     }
 }

+ 25 - 0
sp-service/level-two-server/src/main/java/com/pj/tb_orders/vo/OrderFeeItemVO.java

@@ -0,0 +1,25 @@
+package com.pj.tb_orders.vo;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+public class OrderFeeItemVO {
+
+    private BigDecimal totalFee;
+    private String companyName;
+    private List<FeeDTO>feeList;
+
+    @Data
+   public static class FeeDTO{
+        private String name;
+        private String feeMoney;
+        private String feeType;
+        private BigDecimal percent;
+
+    }
+}

+ 4 - 0
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUser.java

@@ -141,4 +141,8 @@ public class AppUser extends Model<AppUser> implements Serializable {
 	 * 创建单位
 	 */
 	private String createUnit;
+	/**
+	 * 是否绑定店铺(1=否,2=是)
+	 */
+	private Integer bindShop=1;
 }

+ 5 - 0
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserController.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.pj.api.dto.*;
 
+import com.pj.api.dto.BindShopDTO;
 import com.pj.project.app_user.dto.PassDto;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.BeanUtils;
@@ -156,5 +157,9 @@ public class AppUserController {
 	public void createAccount(@RequestBody AppUserCreateDTO createDTO){
 		appUserService.createUser(createDTO);
 	}
+	@PostMapping("rpc/changeBindShopStatus")
+	public void changeBindShopStatus(@RequestBody BindShopDTO bindShopDTO){
+		appUserService.changeBindShopStatus(bindShopDTO);
+	}
 
 }

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

@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Mapper;
 
 import com.pj.utils.so.*;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -28,4 +29,6 @@ public interface AppUserMapper extends BaseMapper <AppUser> {
 	List<AppUser> getList(SoMap so);
 
 	Map<String, Object> selectUsers();
+
+    void changeBindShopStatus(@Param("fkId") String fkId, @Param("bindShop")Integer bindShop);
 }

+ 5 - 2
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserMapper.xml

@@ -16,9 +16,12 @@
 		select * 
 		from app_user 
 	</sql>
+    <update id="changeBindShopStatus">
+		update app_user set bind_shop=#{bindShop} where fk_id=#{fkId}
+	</update>
 
-	
-	<!-- 查集合 - 根据条件(参数为空时代表忽略指定条件) [G] -->
+
+    <!-- 查集合 - 根据条件(参数为空时代表忽略指定条件) [G] -->
 	<select id="getList" resultMap="model">
 		<include refid="select_sql"></include>
 		<where>

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

@@ -21,16 +21,12 @@ import com.pj.current.satoken.StpUserUtil;
 import com.pj.enummj.DeleteStatus;
 import com.pj.enummj.IsLock;
 import com.pj.face.factory.FaceFactory;
-import com.pj.project.app_user.dto.ForgetPasswordDto;
-import com.pj.project.app_user.dto.LoginDto;
-import com.pj.project.app_user.dto.PassDto;
-import com.pj.project.app_user.dto.RegisterDto;
+import com.pj.project.app_user.dto.*;
 import com.pj.project.app_user.vo.AppUserVo;
 import com.pj.project.app_user_login_log.AppUserLoginLog;
 import com.pj.project.app_user_login_log.AppUserLoginLogService;
 import com.pj.project.re_role_menu.ReRoleMenu;
 import com.pj.project.re_role_menu.ReRoleMenuMapper;
-import com.pj.retry.SmsRetryService;
 import com.pj.utils.Aes;
 import com.pj.utils.cache.RedisUtil;
 import com.pj.utils.sg.AjaxError;
@@ -622,7 +618,7 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
         this.save(appUser);
         String content = "您好,您的app账号已生成。账号:" + phone + ", 初始密码:" + phone + "。可前往app进行修改";
         // todo 发送短信
-        //SystemObject.smsFactory.handler().sendSMS(phone, content);
+        SystemObject.smsFactory.handler().sendSMS(phone, content);
     }
 
 
@@ -721,4 +717,11 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
         List<AppUser> list = list(ew);
         return list.isEmpty() ? null : list.get(0);
     }
+
+    public void changeBindShopStatus(BindShopDTO bindShopDTO) {
+        log.info("修改绑定状态:{}", JSONUtil.toJsonStr(bindShopDTO));
+        StrUtil.split(bindShopDTO.getIds(),",").forEach(id->{
+            appUserMapper.changeBindShopStatus(id,bindShopDTO.getBindShop());
+        });
+    }
 }

+ 4 - 0
sp-service/sp-admin/src/main/java/com/pj/project4sp/spcfg/SpCfgController.java

@@ -27,6 +27,10 @@ public class SpCfgController {
 		StpUtil.checkPermission(AuthConst.SP_CFG);
 		return AjaxJson.getSuccessData(sysCfgService.getCfgValue(cfgName));
 	}
+	@RequestMapping("cooper")
+	public AjaxJson getcooper(String cfgName){
+		return AjaxJson.getSuccessData(sysCfgService.getCfgValue(cfgName));
+	}
 	
 	/** 修改指定【cfgName】配置信息  */
 	@RequestMapping("updateCfg")