فهرست منبع

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

# Conflicts:
#	sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderController.java
#	sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java
qzy 10 ماه پیش
والد
کامیت
d76b8481a8
25فایلهای تغییر یافته به همراه1435 افزوده شده و 383 حذف شده
  1. 4 0
      sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterface.java
  2. 7 0
      sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterfaceFallback.java
  3. 5 0
      sp-core/sp-api/src/main/java/com/pj/api/client/payment_server/PaymentServerInterface.java
  4. 9 0
      sp-core/sp-api/src/main/java/com/pj/api/client/payment_server/PaymentServerInterfaceFallback.java
  5. 13 80
      sp-core/sp-api/src/main/java/com/pj/api/dto/BankInfoDto.java
  6. 4 104
      sp-core/sp-api/src/main/java/com/pj/api/dto/HtGroupDto.java
  7. 155 0
      sp-core/sp-api/src/main/java/com/pj/api/dto/PeopleTaxAccountDto.java
  8. 9 2
      sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlement.java
  9. 13 0
      sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlementController.java
  10. 16 0
      sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlementService.java
  11. 64 61
      sp-service/level-one-server/src/main/java/com/pj/tb_group/TbGroup.java
  12. 38 23
      sp-service/level-one-server/src/main/java/com/pj/tb_group/TbGroupService.java
  13. 1 1
      sp-service/level-one-server/src/main/java/com/pj/tb_import_order/TbImportOrderMapper.xml
  14. 1 0
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrder.java
  15. 82 56
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderController.java
  16. 130 12
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java
  17. 14 7
      sp-service/level-one-server/src/main/java/com/pj/tb_people_tax_account/TbPeopleTaxAccountController.java
  18. 1 1
      sp-service/level-one-server/src/main/java/com/pj/tb_people_tax_account/TbPeopleTaxAccountMapper.xml
  19. 22 0
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersController.java
  20. 71 0
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersService.java
  21. 443 0
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/vo/TbOrdersEmailVo.java
  22. 296 0
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/vo/TbOrdersPrintVo.java
  23. 15 21
      sp-service/payment-server/src/main/java/com/pj/bank_info/BankInfoController.java
  24. 15 15
      sp-service/payment-server/src/main/java/com/pj/bank_info/BankInfoMapper.xml
  25. 7 0
      sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserApiController.java

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

@@ -74,6 +74,10 @@ public interface LevelOneServerInterface {
     @RequestMapping("/TbPeople/rpc/getRpcById")
     public PeopleDto getRpcById(@RequestParam("id")Long peopleId);
 
+    /** 根据边民ID获取边民开户信息 */
+    @PostMapping("/TbPeopleTaxAccount/rpc/getTaxAccountByPeopleId")
+    public PeopleTaxAccountDto getTaxAccountByPeopleId(@RequestParam("peopleId") Long peopleId);
+
     /** 根据ID获取边民组信息 */
     @RequestMapping("/TbGroup/rpc/getRpcById")
     public GroupDto getRpcById(@RequestParam("id") String id);

+ 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
             }
 
             @Override
+            public PeopleTaxAccountDto getTaxAccountByPeopleId(Long peopleId) {
+                System.out.println(throwable.getMessage());
+                log.error("根据边民ID获取边民开户信息错误:{},错误信息是:{}",peopleId,throwable.getMessage());
+                return null;
+            }
+
+            @Override
             public GroupDto getRpcById(String id) {
                 System.out.println(throwable.getMessage());
                 log.error("互市区组长错误:{},错误信息是:{}",id,throwable.getMessage());

+ 5 - 0
sp-core/sp-api/src/main/java/com/pj/api/client/payment_server/PaymentServerInterface.java

@@ -6,6 +6,8 @@ import com.pj.api.dto.*;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 @FeignClient(
         name = FeignConsts.PAYMENT_SERVER,                // 服务名称
         configuration = FeignInterceptor.class,        // 请求拦截器
@@ -48,4 +50,7 @@ public interface PaymentServerInterface {
      */
     @PostMapping("/payment/rpc/sendMKT006")
     void sendMKT006(@RequestBody PaymentTwoDto paymentTwoDto);
+
+    @PostMapping("/BankInfo/rpc/getListBySource")
+    public List<BankInfoDto> getListBySource(@RequestParam("source") String source);
 }

+ 9 - 0
sp-core/sp-api/src/main/java/com/pj/api/client/payment_server/PaymentServerInterfaceFallback.java

@@ -7,6 +7,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 
 @Component
 public class PaymentServerInterfaceFallback implements FallbackFactory<PaymentServerInterface> {
@@ -51,6 +53,13 @@ public class PaymentServerInterfaceFallback implements FallbackFactory<PaymentSe
                 System.out.println(throwable.getMessage());
                 log.error("调用订单扣款(+手续费)接口【MKT006】错误,当前对象:{},错误信息是:{}",paymentTwoDto,throwable.getMessage());
             }
+
+            @Override
+            public List<BankInfoDto> getListBySource(String source) {
+                System.out.println(throwable.getMessage());
+                log.error("根据订单号查询银行回执信息错误:{},错误信息是:{}",source,throwable.getMessage());
+                return null;
+            }
         };
     }
 }

+ 13 - 80
sp-core/sp-api/src/main/java/com/pj/api/dto/BankInfoDto.java

@@ -1,13 +1,25 @@
 package com.pj.api.dto;
 
-import java.util.Date;
+import lombok.Data;
 
 /**
  * Model: bank_info -- 银行回执信息表
  * @author lbl
  */
+@Data
 public class BankInfoDto {
 
+	private String sn;
+	private String date;
+	private String organization;
+	private String bankCode;
+	private String operation;
+	private String code;
+	private String source;
+	private String result;
+	private String note;
+	private String type;
+
 	private String name;
 	private String papersType;
 	private String papersNo;
@@ -20,83 +32,4 @@ public class BankInfoDto {
 	private String swiftCode;
 	private String abroad;
 
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public String getPapersType() {
-		return papersType;
-	}
-
-	public void setPapersType(String papersType) {
-		this.papersType = papersType;
-	}
-
-	public String getPapersNo() {
-		return papersNo;
-	}
-
-	public void setPapersNo(String papersNo) {
-		this.papersNo = papersNo;
-	}
-
-	public String getNationality() {
-		return nationality;
-	}
-
-	public void setNationality(String nationality) {
-		this.nationality = nationality;
-	}
-
-	public String getAccount() {
-		return account;
-	}
-
-	public void setAccount(String account) {
-		this.account = account;
-	}
-
-	public String getPayBankCode() {
-		return payBankCode;
-	}
-
-	public void setPayBankCode(String payBankCode) {
-		this.payBankCode = payBankCode;
-	}
-
-	public String getTel() {
-		return tel;
-	}
-
-	public void setTel(String tel) {
-		this.tel = tel;
-	}
-
-	public String getTitle() {
-		return title;
-	}
-
-	public void setTitle(String title) {
-		this.title = title;
-	}
-
-	public String getSwiftCode() {
-		return swiftCode;
-	}
-
-	public void setSwiftCode(String swiftCode) {
-		this.swiftCode = swiftCode;
-	}
-
-	public String getAbroad() {
-		return abroad;
-	}
-
-	public void setAbroad(String abroad) {
-		this.abroad = abroad;
-	}
 }

+ 4 - 104
sp-core/sp-api/src/main/java/com/pj/api/dto/HtGroupDto.java

@@ -1,13 +1,15 @@
 package com.pj.api.dto;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
 
 import java.io.Serializable;
 
-
+@Data
 public class HtGroupDto implements Serializable {
 
-
+    @JsonProperty("opType")
+    private String opType;
     @JsonProperty("platSeqNo")
     private String platSeqNo;
     @JsonProperty("customsCode")
@@ -35,107 +37,5 @@ public class HtGroupDto implements Serializable {
     @JsonProperty("dclBorderList")
     private String dclBorderList;
 
-    public String getPlatSeqNo() {
-        return platSeqNo;
-    }
-
-    public void setPlatSeqNo(String platSeqNo) {
-        this.platSeqNo = platSeqNo;
-    }
-
-    public String getCustomsCode() {
-        return customsCode;
-    }
-
-    public void setCustomsCode(String customsCode) {
-        this.customsCode = customsCode;
-    }
-
-    public String getOrgName() {
-        return orgName;
-    }
-
-    public void setOrgName(String orgName) {
-        this.orgName = orgName;
-    }
-
-    public String getAddress() {
-        return address;
-    }
-
-    public void setAddress(String address) {
-        this.address = address;
-    }
-
-    public String getShopsSccd() {
-        return shopsSccd;
-    }
-
-    public void setShopsSccd(String shopsSccd) {
-        this.shopsSccd = shopsSccd;
-    }
-
-    public String geteDStatus() {
-        return eDStatus;
-    }
-
-    public void seteDStatus(String eDStatus) {
-        this.eDStatus = eDStatus;
-    }
-
-    public String getExpiry() {
-        return expiry;
-    }
-
-    public void setExpiry(String expiry) {
-        this.expiry = expiry;
-    }
-
-    public String getPutrecNo() {
-        return putrecNo;
-    }
-
-    public void setPutrecNo(String putrecNo) {
-        this.putrecNo = putrecNo;
-    }
-
-    public String getLocalGovernmentNo() {
-        return localGovernmentNo;
-    }
-
-    public void setLocalGovernmentNo(String localGovernmentNo) {
-        this.localGovernmentNo = localGovernmentNo;
-    }
-
-    public String getFilingStatus() {
-        return filingStatus;
-    }
-
-    public void setFilingStatus(String filingStatus) {
-        this.filingStatus = filingStatus;
-    }
-
-    public String getFieldCode() {
-        return fieldCode;
-    }
-
-    public void setFieldCode(String fieldCode) {
-        this.fieldCode = fieldCode;
-    }
-
-    public String getBorderList() {
-        return borderList;
-    }
-
-    public void setBorderList(String borderList) {
-        this.borderList = borderList;
-    }
-
-    public String getDclBorderList() {
-        return dclBorderList;
-    }
 
-    public void setDclBorderList(String dclBorderList) {
-        this.dclBorderList = dclBorderList;
-    }
 }

+ 155 - 0
sp-core/sp-api/src/main/java/com/pj/api/dto/PeopleTaxAccountDto.java

@@ -0,0 +1,155 @@
+package com.pj.api.dto;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Model: tb_people_tax_account -- 边民-税务开户信息
+ * @author lbl
+ */
+@Data
+@Accessors(chain = true)
+public class PeopleTaxAccountDto implements Serializable {
+
+
+	private String id;
+
+	/**
+	 * 边民表ID
+	 */
+	private Long peopleId;
+
+	/**
+	 * 个体户名称
+	 */
+	private String businessName;
+
+	/**
+	 * 社会统一信用代码
+	 */
+	private String dutyParagraph;
+
+	/**
+	 * 经营者(边民)
+	 */
+	private String name;
+
+	/**
+	 * 地址
+	 */
+	private String address;
+
+	/**
+	 * 组成形式
+	 */
+	private String form;
+
+	/**
+	 * 联系人
+	 */
+	private String contacts;
+
+	/**
+	 * 联系电话
+	 */
+	private String phone;
+
+	/**
+	 * 经营场所
+	 */
+	private String businessAddress;
+
+	/**
+	 * 经营范围
+	 */
+	private String businessScope;
+
+	/**
+	 * 经营状态
+	 */
+	private String businessStatus;
+
+	/**
+	 * 身份证
+	 */
+	private String idCard;
+
+	/**
+	 * 开户行
+	 */
+	private String bankName;
+
+	/**
+	 * 银行账号
+	 */
+	private String bankCode;
+
+	/**
+	 * 开票商
+	 */
+	private String invoiceBusiness;
+
+	/**
+	 * 开票人
+	 */
+	private String invoicePeople;
+
+	/**
+	 * 收款人
+	 */
+	private String payee;
+
+	/**
+	 * 复核人
+	 */
+	private String checker;
+
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+
+	/**
+	 * 创建人编号
+	 */
+	private String createBy;
+
+	/**
+	 * 创建人名称
+	 */
+	private String createName;
+
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+
+	/**
+	 * 更新人编号
+	 */
+	private String updateBy;
+
+	/**
+	 * 更新人名称
+	 */
+	private String updateName;
+
+	/**
+	 * 互市区id
+	 */
+	private Long tradeAreaId;
+
+	/**
+	 * 互市区名称
+	 */
+	private String tradeAreaName;
+
+
+
+
+
+
+}

+ 9 - 2
sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlement.java

@@ -43,7 +43,7 @@ public class HtTradeSettlement extends Model<HtTradeSettlement> implements Seria
 	public static final String PERMISSION_CODE_EDIT = "ht-trade-settlement-edit";
 	public static final String PERMISSION_CODE_DEL = "ht-trade-settlement-del";
 	public static final String PERMISSION_CODE_LISTING = "listing-management";
-
+	public static final String PERMISSION_CODE_HZSCONFIRM = "ht-trade-settlement-hzsconfirm";
 
 
 
@@ -270,7 +270,14 @@ public class HtTradeSettlement extends Model<HtTradeSettlement> implements Seria
 	 */
 	private Date chargebacksTime;
 
-
+	/**
+	 * 互助社确认状态[0=待确认,1=确认]
+	 */
+	private Integer hzsConfirmStatus;
+	/**
+	 * 互助社确认时间
+	 */
+	private Date hzsConfirmTime;
 
 
 	@TableField(exist = false)

+ 13 - 0
sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlementController.java

@@ -9,6 +9,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
 
 
@@ -82,6 +83,18 @@ public class HtTradeSettlementController {
 		return AjaxJson.getPageData(so.getDataCount(), list);
 	}
 
+	//互助社确认进境结算单
+	@RequestMapping("hzsConfirm")
+	@SaCheckPermission(HtTradeSettlement.PERMISSION_CODE_HZSCONFIRM)
+	public AjaxJson hzsConfirm(Long id){
+		HtTradeSettlement h = new HtTradeSettlement();
+		h.setId(id);
+		h.setHzsConfirmStatus(1);
+		h.setHzsConfirmTime(new Date());
+		htTradeSettlementService.updateById(h);
+		return AjaxJson.getSuccess();
+	}
+
 	/*-----           正常业务逻辑👆👆    rpc远程调用👇👇 -----*/
 
 	/** 远程调用: 添加大订单时同事生成小定单 */

+ 16 - 0
sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlementService.java

@@ -3,6 +3,7 @@ package com.pj.ht_trade_settlement;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.json.JSONUtil;
 import cn.hutool.log.StaticLog;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.pj.api.dto.*;
@@ -101,6 +102,21 @@ public class HtTradeSettlementService extends ServiceImpl<HtTradeSettlementMappe
      * 远程调用: 添加大订单时同时生成边民订单
      */
     public boolean tradeSettlementDto(TradeSettlementDto tradeSettlementDto) {
+        LambdaQueryWrapper<HtTradeSettlement>  wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(HtTradeSettlement::getPlatSeqNo, tradeSettlementDto.getPlatSeqNo());
+        wrapper.eq(HtTradeSettlement::getHzsConfirmStatus, 0);
+        List<HtTradeSettlement> htTradeSettlements = htTradeSettlementMapper.selectList(wrapper);
+        //删除已存在的大订单与小订单,保留航通送过来的最新记录
+        if(htTradeSettlements.size()>0) {
+            List<Long> idList = htTradeSettlements.stream().map(item -> item.getId()).collect(Collectors.toList());
+            LambdaQueryWrapper<TbOrder>  orderWrapper = new LambdaQueryWrapper<>();
+            orderWrapper.in(TbOrder::getSaleMainId, idList);
+            int orderDelete = tbOrderMapper.delete(orderWrapper);
+
+            int htTradeSettlementsDelete = htTradeSettlementMapper.delete(wrapper);
+            StaticLog.info("\n------删除航通旧进境结算单:platSeqNo={}", tradeSettlementDto.getPlatSeqNo());
+        }
+
         StaticLog.info("接收到航通结算订单:{}", JSONUtil.toJsonStr(tradeSettlementDto));
         HtTradeSettlement htTradeSettlement = new HtTradeSettlement();
         BeanUtils.copyProperties(tradeSettlementDto, htTradeSettlement);

+ 64 - 61
sp-service/level-one-server/src/main/java/com/pj/tb_group/TbGroup.java

@@ -14,7 +14,7 @@ import java.util.Date;
 
 /**
  * Model: tb_group -- 互助组
- * @author yzs 
+ * @author yzs
  */
 @Data
 @Accessors(chain = true)
@@ -24,15 +24,15 @@ public class TbGroup extends Model<TbGroup> implements Serializable {
 
 	// ---------- 模块常量 ----------
 	/**
-	 * 序列化版本id 
+	 * 序列化版本id
 	 */
-	private static final long serialVersionUID = 1L;	
+	private static final long serialVersionUID = 1L;
 	/**
-	 * 此模块对应的表名 
+	 * 此模块对应的表名
 	 */
-	public static final String TABLE_NAME = "tb_group";	
+	public static final String TABLE_NAME = "tb_group";
 	/**
-	 * 此模块对应的权限码 
+	 * 此模块对应的权限码
 	 */
 	public static final String PERMISSION_CODE = "tb-group";
 	public static final String PERMISSION_CODE_ADD = "tb-group-add";
@@ -44,168 +44,171 @@ public class TbGroup extends Model<TbGroup> implements Serializable {
 
 	// ---------- 表中字段 ----------
 	/**
-	 *  
+	 *
 	 */
 	@TableId(type = IdType.AUTO)
 	private Long id;
 
 	/**
-	 *  
+	 *
 	 */
-	private String addressIds;	
+	private String addressIds;
 
 	/**
-	 * 所属边境市(县、区)乡镇村屯 
+	 * 所属边境市(县、区)乡镇村屯
 	 */
-	private String address;	
+	private String address;
 
 	/**
-	 *  
+	 *
 	 */
-	private String detailAddress;	
+	private String detailAddress;
 
 	/**
-	 * 互助组名称 
+	 * 互助组名称
 	 */
-	private String orgName;	
+	private String orgName;
 
 	/**
-	 * 组长ID 
+	 * 组长ID
 	 */
-	private Long leaderId;	
+	private Long leaderId;
 
 	/**
-	 * 组长名 
+	 * 组长名
 	 */
-	private String leaderName;	
+	private String leaderName;
 
 	/**
-	 * 组长电话 
+	 * 组长电话
 	 */
-	private String leaderPhone;	
+	private String leaderPhone;
 
 	/**
-	 *  
+	 *
 	 */
-	private String code;	
+	private String code;
 
 	/**
-	 * 当天该组剩余额度 
+	 * 当天该组剩余额度
 	 */
-	private Double leftPrice;	
+	private Double leftPrice;
 
 	/**
-	 * 创建时间 
+	 * 创建时间
 	 */
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
 	/**
-	 * 创建人编号 
+	 * 创建人编号
 	 */
 	private Long createBy;
 
 	/**
-	 * 创建人名称 
+	 * 创建人名称
 	 */
-	private String createName;	
+	private String createName;
 
 	/**
-	 * 更新时间 
+	 * 更新时间
 	 */
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
 	/**
-	 * 更新人编号 
+	 * 更新人编号
 	 */
 	private Long updateBy;
 
 	/**
-	 * 更新人名称 
+	 * 更新人名称
 	 */
-	private String updateName;	
+	private String updateName;
 
 	/**
-	 * 删除状态(0=禁用,1=启用) 
+	 * 删除状态(0=禁用,1=启用)
 	 */
-	private Integer deleteStatus;	
+	private Integer deleteStatus;
 
 	/**
-	 * 是否锁住 
+	 * 是否锁住
 	 */
 	private Integer isLock;
 
 	/**
-	 * 互市区id 
+	 * 互市区id
 	 */
-	private Long tradeAreaId;	
+	private Long tradeAreaId;
 
 	/**
-	 * 互市区名称 
+	 * 互市区名称
 	 */
-	private String tradeAreaName;	
+	private String tradeAreaName;
 
 	/**
-	 * 地方平台的内部业务编号,每次申请都是新编号 
+	 * 地方平台的内部业务编号,每次申请都是新编号
 	 */
-	private String platSeqNo;	
+	private String platSeqNo;
 
 	/**
-	 * 关区代码 
+	 * 关区代码
 	 */
-	private String customsCode;	
+	private String customsCode;
 
 	/**
-	 * 登记号 
+	 * 登记号
 	 */
-	private String shopsSccd;	
+	private String shopsSccd;
 
 	/**
-	 * 启停用状态:1-启用、2-停用、3-注销 
+	 * 启停用状态:1-启用、2-停用、3-注销
 	 */
-	private String eDStatus;	
+	private String eDStatus;
 
 	/**
-	 * 有效效截止时间 yyyy-MM-dd 
+	 * 有效效截止时间 yyyy-MM-dd
 	 */
-	private String expiry;	
+	private String expiry;
 
 	/**
-	 * 备案编号,如果为新增备案,传空值;如果为变更备案,必须传值; 
+	 * 备案编号,如果为新增备案,传空值;如果为变更备案,必须传值;
 	 */
-	private String putrecNo;	
+	private String putrecNo;
 
 	/**
-	 *  地方政府编号 
+	 *  地方政府编号
 	 */
-	private String localGovernmentNo;	
+	private String localGovernmentNo;
 
 	/**
-	 * 备案状态:默认 0、待申报,1、已申报,2、备案通过,3、备案失败 
+	 * 备案状态:默认 0、待申报,1、已申报,2、备案通过,3、备案失败
 	 */
-	private String filingStatus;	
+	private String filingStatus;
 
 	/**
-	 * 场站编码 
+	 * 场站编码
 	 */
-	private String fieldCode;	
+	private String fieldCode;
 
 	/**
-	 * 边民信息表体信息,json 数组List, 
+	 * 边民信息表体信息,json 数组List,
 	 */
 	private String borderList;
 
 	/**
-	 * 互助组申报边民代表表体信息,json 数组 List 
+	 * 互助组申报边民代表表体信息,json 数组 List
 	 */
 	private String dclBorderList;
 
+	/**
+	 * 操作类型(01:新增;02:修改;03:删除)
+	 */
+	private String opType;
 
 
 
 
-	
 
 
 }

+ 38 - 23
sp-service/level-one-server/src/main/java/com/pj/tb_group/TbGroupService.java

@@ -379,19 +379,32 @@ public class TbGroupService extends ServiceImpl<TbGroupMapper, TbGroup> implemen
         List<DclBorderList> dclBorderList = JSONUtil.toList(groupDto.getDclBorderList(), DclBorderList.class);
 
         TbTradeArea tbTradeArea = tbTradeAreaService.updateHandler(groupDto.getFieldCode(), "", "");
-        //根据编号进行事务处理
-        TbGroup tbGroup = this.findByAreaCodeAndSeqCode(tbTradeArea.getId(), groupDto.getPlatSeqNo());
-        if (tbGroup == null) {
-            tbGroup = new TbGroup();
-            BeanUtils.copyProperties(groupDto, tbGroup);
-            //新增
-            tbGroup.setDeleteStatus(DeleteStatus.DELETE_STATUS_ON.getCode());
-            tbGroup.setCreateTime(new Date())
-                    .setTradeAreaId(tbTradeArea.getId())
-                    .setTradeAreaName(tbTradeArea.getName());
-            this.save(tbGroup);
+        //根据登记号进行事务处理
+        TbGroup tbGroup = this.findByAreaCodeAndSeqCode(tbTradeArea.getId(), groupDto.getShopsSccd());
+        if(tbGroup != null) {
+            //清空原互助组边民的组信息
+            LambdaQueryWrapper<TbPeople> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(TbPeople::getGroupId, tbGroup.getId());
+            List<TbPeople> peopleList = tbPeopleMapper.selectList(wrapper);
+
+            for (TbPeople people:peopleList) {
+                people.setGroupName(null).setGroupId(null).setUpdateTime(new Date());
+            }
+            tbPeopleService.updateBatchById(peopleList);
+            //删除原互助组
+            removeById(tbGroup.getId());
         }
 
+        //新增
+        tbGroup = new TbGroup();
+        BeanUtils.copyProperties(groupDto, tbGroup);
+        tbGroup.setDeleteStatus(DeleteStatus.DELETE_STATUS_ON.getCode());
+        tbGroup.setCreateTime(new Date())
+                .setTradeAreaId(tbTradeArea.getId())
+                .setTradeAreaName(tbTradeArea.getName());
+        this.save(tbGroup);
+
+
         for (BorderDTO borderDTO : borderDTOList) {
             TbPeople tbPeople = tbPeopleService.findByIdCarNo(borderDTO.getIdCardNo());
             if (tbPeople == null) {
@@ -404,15 +417,11 @@ public class TbGroupService extends ServiceImpl<TbGroupMapper, TbGroup> implemen
             } else {
                 tbPeople.setRole(1);//普通边民
             }
-
-            tbPeople.setGroupName(tbGroup.getOrgName()).setGroupId(tbGroup.getId()).setTradeAreaId(tbTradeArea.getId())
-                    .setTradeAreaName(tbTradeArea.getName()).setUpdateTime(new Date());
+            tbPeople.setGroupName(tbGroup.getOrgName()).setGroupId(tbGroup.getId())
+                    .setTradeAreaId(tbTradeArea.getId()).setTradeAreaName(tbTradeArea.getName()).setUpdateTime(new Date());
             tbPeopleService.saveOrUpdate(tbPeople);
-            if (dclBorderList1.size() > 0) {
-                tbGroup.setLeaderId(tbPeople.getId())
-                        .setLeaderName(tbPeople.getName())
-                        .setLeaderPhone(tbPeople.getPhone());
 
+            if (dclBorderList1.size() > 0) {
                 AppUserDto appUser = adminInterface.getByFkId(tbPeople.getId());
                 if (appUser != null) {
                     appUser.setUserType(2);
@@ -420,16 +429,22 @@ public class TbGroupService extends ServiceImpl<TbGroupMapper, TbGroup> implemen
                 }
             }
         }
-        //修改
-        BeanUtils.copyProperties(groupDto, tbGroup);
-        tbGroup.setUpdateTime(new Date());
+
+        for (DclBorderList dclBorder : dclBorderList) {
+            TbPeople p = tbPeopleService.findByIdCarNo(dclBorder.getIdCardNo());
+            if(p != null) {
+                tbGroup.setLeaderId(p.getId()).setLeaderName(p.getName()).setLeaderPhone(p.getPhone());
+                break;
+            }
+        }
         super.saveOrUpdate(tbGroup);
+
         return true;
     }
 
-    public TbGroup findByAreaCodeAndSeqCode(Long tradeId, String platSeqNo) {
+    public TbGroup findByAreaCodeAndSeqCode(Long tradeId, String shopsSccd) {
         QueryWrapper<TbGroup> ew = new QueryWrapper<>();
-        ew.lambda().eq(TbGroup::getPlatSeqNo, platSeqNo).eq(TbGroup::getTradeAreaId, tradeId);
+        ew.lambda().eq(TbGroup::getShopsSccd, shopsSccd).eq(TbGroup::getTradeAreaId, tradeId).orderByDesc(TbGroup::getCreateTime);
         List<TbGroup> list = list(ew);
         return list.isEmpty() ? null : list.get(0);
     }

+ 1 - 1
sp-service/level-one-server/src/main/java/com/pj/tb_import_order/TbImportOrderMapper.xml

@@ -41,7 +41,7 @@
 			<if test=' this.has("updateName") '> and update_name = #{updateName} </if>
 			<if test=' this.has("deleteStatus") '> and delete_status = #{deleteStatus} </if>
 		</where>
-		order by create_time desc
+		order by create_time desc,id desc
 	</select>
 
 </mapper>

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

@@ -43,6 +43,7 @@ public class TbOrder extends Model<TbOrder> implements Serializable {
     public static final String PERMISSION_CODE_EDIT_PRICE = "tb-order-edit-price";
 	public static final String PERMISSION_CODE_DEDUCTION = "tb-order-deduction";
 	public static final String PERMISSION_CODE_SEND009 = "tb-order-send009";
+	public static final String PERMISSION_CODE_SENDCXB001 = "tb-order-sendCXB001";
 
     // ---------- 表中字段 ----------
     /**

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

@@ -128,61 +128,87 @@ public class TbOrderController {
         return AjaxJson.toAjax(batch);
     }
 
-    /**
-     * 订单补扣款
-     */
-    @RequestMapping("deduction")
-    @SaCheckPermission(TbOrder.PERMISSION_CODE_DEDUCTION)
-    public AjaxJson deduction(Long id) {
-        tbOrderService.deduction(id);
-        return AjaxJson.getSuccess();
-    }
-
-    /**
-     * 订单补扣款
-     */
-    @RequestMapping("staticsStatus")
-    public AjaxJson staticsStatus(Long saleMainId) {
-        Map<String, Object> result = tbOrderService.staticsStatus(saleMainId);
-        return AjaxJson.getSuccessData(result);
-    }
-
-    /**
-     * 订单补发送009信息到航通
-     */
-    @RequestMapping("send009ToHt")
-    @SaCheckPermission(TbOrder.PERMISSION_CODE_SEND009)
-    public AjaxJson send009ToHt(Long id) {
-        TbOrder order = tbOrderService.getById(id);
-        if (order == null) {
-            throw new AjaxError("订单不存在");
-        }
-        tbOrderService.sendConfirmMsgToHt(order);
-        return AjaxJson.getSuccess();
-    }
-
-    /*-----           正常业务逻辑👆👆    rpc远程调用👇👇 -----*/
-
-
-    /**
-     * 系统接收到航通接口信息:进出口申报单退单
-     **/
-    @RequestMapping("rpc/chargeback")
-    public boolean chargeback(@RequestBody HtDeclareChargebackDto htDeclareChargebackDto) {
-        return tbOrderService.chargeback(htDeclareChargebackDto);
-    }
-
-    @RequestMapping("rpc/getOrderListByMainIds")
-    public List<OrderDto> getOrderListByMainIds(String mainIds) {
-        return tbOrderService.getOrderListByMainIds(mainIds);
-    }
-
-    /**
-     * 系统接收到航通接口信息:车辆已出一级市场 ,相对应的一级市场订单状态修改
-     **/
-    @RequestMapping("rpc/orderFinish")
-    public boolean orderFinish(@RequestBody HtPassCardDTO htPassCardDTO) {
-        return tbOrderService.orderFinish(htPassCardDTO);
-    }
+	/** 订单补扣款 */
+	@RequestMapping("deduction")
+	@SaCheckPermission(TbOrder.PERMISSION_CODE_DEDUCTION)
+	public AjaxJson deduction(Long id){
+		tbOrderService.deduction(id);
+		return AjaxJson.getSuccess();
+	}
+	/** 订单补扣款——按车,并且未扣款 */
+	@RequestMapping("deductionByVeNo")
+	@SaCheckPermission(TbOrder.PERMISSION_CODE_DEDUCTION)
+	public AjaxJson deductionByVeNo(String veNo){
+		tbOrderService.deductionByVeNo(veNo);
+		return AjaxJson.getSuccess();
+	}
+	@RequestMapping("getDeductionByVeNoList")
+	@SaCheckPermission(TbOrder.PERMISSION_CODE)
+	public AjaxJson getDeductionByVeNoList() {
+		SoMap so = SoMap.getRequestSoMap();
+		List<TbOrder> list = tbOrderService.getDeductionByVeNoList(so.startPage());
+		return AjaxJson.getPageData(so.getDataCount(), list);
+	}
+
+	/**
+	 * 订单补扣款
+	 */
+	@RequestMapping("staticsStatus")
+	public AjaxJson staticsStatus(Long saleMainId) {
+		Map<String, Object> result = tbOrderService.staticsStatus(saleMainId);
+		return AjaxJson.getSuccessData(result);
+	}
+	/** 订单补发送009信息到航通 */
+	@RequestMapping("send009ToHt")
+	@SaCheckPermission(TbOrder.PERMISSION_CODE_SEND009)
+	public AjaxJson send009ToHt(Long id){
+		TbOrder order = tbOrderService.getById(id);
+		if (order == null) {
+			throw new AjaxError("订单不存在");
+		}
+		tbOrderService.sendConfirmMsgToHt(order);
+		return AjaxJson.getSuccess();
+	}
+
+	/** 订单补推结关信息给银行 */
+	@RequestMapping("sendCXB001")
+	@SaCheckPermission(TbOrder.PERMISSION_CODE_SENDCXB001)
+	public AjaxJson sendCXB001(Long id){
+		tbOrderService.sendCXB001(id);
+		return AjaxJson.getSuccess();
+	}
+	/** 订单补推结关信息给银行——按车,并且未完成 */
+	@RequestMapping("sendCXB001ByVeNo")
+	@SaCheckPermission(TbOrder.PERMISSION_CODE_SENDCXB001)
+	public AjaxJson sendCXB001ByVeNo(String veNo){
+		tbOrderService.sendCXB001ByVeNo(veNo);
+		return AjaxJson.getSuccess();
+	}
+	@RequestMapping("getSendCXB001ByVeNoList")
+	@SaCheckPermission(TbOrder.PERMISSION_CODE)
+	public AjaxJson getSendCXB001ByVeNoList() {
+		SoMap so = SoMap.getRequestSoMap();
+		List<TbOrder> list = tbOrderService.getSendCXB001ByVeNoList(so.startPage());
+		return AjaxJson.getPageData(so.getDataCount(), list);
+	}
+
+	/*-----           正常业务逻辑👆👆    rpc远程调用👇👇 -----*/
+
+
+	/** 系统接收到航通接口信息:进出口申报单退单 **/
+	@RequestMapping("rpc/chargeback")
+	public boolean chargeback(@RequestBody HtDeclareChargebackDto htDeclareChargebackDto) {
+		return tbOrderService.chargeback(htDeclareChargebackDto);
+	}
+	@RequestMapping("rpc/getOrderListByMainIds")
+	public List<OrderDto> getOrderListByMainIds(String mainIds) {
+		return tbOrderService.getOrderListByMainIds(mainIds);
+	}
+
+	/** 系统接收到航通接口信息:车辆已出一级市场 ,相对应的一级市场订单状态修改 **/
+	@RequestMapping("rpc/orderFinish")
+	public boolean orderFinish(@RequestBody HtPassCardDTO htPassCardDTO) {
+		return tbOrderService.orderFinish(htPassCardDTO);
+	}
 
 }

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

@@ -638,7 +638,20 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
         TbPeople tbPeople = tbPeopleMapper.selectById(appLoginInfo.getFk());
         if (tbPeople == null) throw new ServiceException("当前用户不存在,请联系管理员!");
-        List<TbOrder> orderList = findByBuyUserId(appLoginInfo.getFk());
+        List<TbOrder> list = findByBuyUserId(appLoginInfo.getFk());
+
+        //互助社未确认关联的大订单时边民不能做订单确认
+        List<TbOrder> orderList = new ArrayList<>();
+        for (TbOrder order : list) {
+            QueryWrapper<HtTradeSettlement> htWrapper = new QueryWrapper<>();
+            htWrapper.lambda().eq(HtTradeSettlement::getId, order.getSaleMainId())
+                    .eq(HtTradeSettlement::getHzsConfirmStatus, 1);
+            List<HtTradeSettlement> tradeSettlementList = htTradeSettlementService.list(htWrapper);
+            if(tradeSettlementList.size() > 0) {
+                orderList.add(order);
+            }
+        }
+
         OrderVo orderVo = new OrderVo();
         //被委托订单,并且三个状态中有一个未确认
         List<TbOrder> declareList2 = orderList.stream().filter(item -> item.getApplyConfirmStatus() == 0).collect(Collectors.toList());
@@ -704,12 +717,12 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
     }
 
     /**
-     * 订单补扣款
+     * 订单补扣款——单个订单
      */
     public boolean deduction(Long id) {
         TbOrder tbOrder = getById(id);
         if (tbOrder == null) {
-            log.error("补扣款失败:{}不存在", id);
+            StaticLog.error("\n---------补扣款失败:{}不存在", id);
             return false;
         }
 
@@ -722,6 +735,34 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
         return super.updateById(tbOrder);
     }
+    /**
+     * 订单补扣款——按车,并且未扣款
+     */
+    public boolean deductionByVeNo(String veNo) {
+        LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(TbOrder::getVeNo, veNo);
+        wrapper.ne(TbOrder::getSxb010Status, 1);
+        List<TbOrder> tbOrders = tbOrderMapper.selectList(wrapper);
+        if (!tbOrders.isEmpty()) {
+            for (TbOrder tbOrder : tbOrders) {
+                PaymentDto paymentDto = this.getPaymentData(tbOrder);
+                StaticLog.info("\n---订单补扣款——按车---sendSXB010——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
+                paymentServerInterface.sendSXB010(paymentDto);
+
+                tbOrder.setDeductionCount(tbOrder.getDeductionCount() + 1);
+                tbOrder.setDeductionTime(new Date());
+            }
+        }
+
+        return super.updateBatchById(tbOrders);
+    }
+    List<TbOrder> getDeductionByVeNoList(SoMap so) {
+        LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(TbOrder::getVeNo, so.getString("veNo"));
+        wrapper.ne(TbOrder::getSxb010Status, 1);
+        List<TbOrder> tbOrders = tbOrderMapper.selectList(wrapper);
+        return tbOrders;
+    }
 
     /*-----           正常业务逻辑👆👆    rpc远程调用👇👇 -----*/
 
@@ -795,6 +836,85 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         return updateById(tbOrder);
     }
 
+    /**
+     * 订单补推结关信息给银行
+     */
+    public boolean sendCXB001(Long id) {
+        TbOrder tbOrder = getById(id);
+        if (tbOrder == null) {
+            StaticLog.error("\n----------订单补推结关信息失败:{}不存在", id);
+            return false;
+        }
+
+        HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(tbOrder.getSaleMainId());
+
+        //todo: 收到航通007报文即收到海关结关信息,转发结关信息给到银行
+        PaymentDto paymentDto = new PaymentDto();
+        paymentDto.setTradeNo(tbOrder.getTradeNo());
+        paymentDto.setDeclTime(htTradeSettlement.getDeclTime());
+        StaticLog.info("\nsendCXB001——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
+        paymentServerInterface.sendCXB001(paymentDto);
+
+        //todo: 收到航通007报文即收到海关结关信息,转发通车批信息给到银行
+        PaymentDto paymentDto2 = new PaymentDto();
+        paymentDto2.setTradeNos(tbOrder.getTradeNo());
+        paymentDto2.setVoyageNo(htTradeSettlement.getVoyageNo());
+        paymentDto2.setVeNo(tbOrder.getVeNo());
+        StaticLog.info("\nsendSXB023——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto2));
+        paymentServerInterface.sendSXB023(paymentDto2);
+
+
+        tbOrder.setFinishTime(new Date());
+        tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
+
+        return updateById(tbOrder);
+    }
+    /**
+     * 订单补推结关信息给银行——按车,并且未完成
+     */
+    public boolean sendCXB001ByVeNo(String veNo) {
+        LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(TbOrder::getVeNo, veNo);
+        wrapper.ne(TbOrder::getFinishStatus, 1).orderByDesc(TbOrder::getCreateTime);
+        List<TbOrder> tbOrders = tbOrderMapper.selectList(wrapper);
+
+        if (!tbOrders.isEmpty()) {
+            HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(tbOrders.get(0).getSaleMainId());
+            String tradeNos = "";
+            PaymentDto paymentDto = new PaymentDto();
+            for (TbOrder tbOrder : tbOrders) {
+                tradeNos += tbOrder.getTradeNo() + ",";
+                //收到007结关信息后边民即可上架订单,不需等收到打款给外籍商户的成功回执SXB017才能完成订单
+                tbOrder.setFinishTime(new Date());
+                tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
+
+                //todo: 收到航通007报文即收到海关结关信息,转发结关信息给到银行
+                paymentDto.setTradeNo(tbOrder.getTradeNo());
+                paymentDto.setDeclTime(htTradeSettlement.getDeclTime());
+                StaticLog.info("\nsendCXB001——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
+                paymentServerInterface.sendCXB001(paymentDto);
+            }
+            this.updateBatchById(tbOrders);
+
+            tradeNos = StringUtils.removeEnd(tradeNos, ",");
+            //todo: 收到航通007报文即收到海关结关信息,转发通车批信息给到银行
+            PaymentDto paymentDto2 = new PaymentDto();
+            paymentDto2.setTradeNos(tradeNos);
+            paymentDto2.setVoyageNo(htTradeSettlement.getVoyageNo());
+            paymentDto2.setVeNo(veNo);
+            StaticLog.info("\nsendSXB023——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto2));
+            paymentServerInterface.sendSXB023(paymentDto2);
+        }
+        return true;
+    }
+    List<TbOrder> getSendCXB001ByVeNoList(SoMap so) {
+        LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(TbOrder::getVeNo, so.getString("veNo"));
+        wrapper.ne(TbOrder::getFinishStatus, 1).orderByDesc(TbOrder::getCreateTime);
+        List<TbOrder> tbOrders = tbOrderMapper.selectList(wrapper);
+        return tbOrders;
+    }
+
     // TODO: 2023/8/28 系统接收到航通007接口信息:车辆已出一级市场(系统接收到这个信息时,证明已经查验通过,不会有进出口申报单退单)
     public boolean orderFinish(HtPassCardDTO htPassCardDTO) {
         String billCodeStr = htPassCardDTO.getBillCode();
@@ -806,33 +926,31 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         //获取出了一级市场的所有边民订单
         LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
         wrapper.in(TbOrder::getPreIeportNo, billCodeList);
-        wrapper.ne(TbOrder::getFinishStatus, 1);
+        wrapper.ne(TbOrder::getFinishStatus, 1).orderByDesc(TbOrder::getCreateTime);
         List<TbOrder> tbOrders = tbOrderMapper.selectList(wrapper);
         if (!tbOrders.isEmpty()) {
-            TbTradeArea area = tbTradeAreaService.getById(tbOrders.get(0).getTradeAreaId());
-            StringBuilder tradeNos = new StringBuilder();
+            String tradeNos = "";
             PaymentDto paymentDto = new PaymentDto();
             for (TbOrder tbOrder : tbOrders) {
-                tradeNos.append(tbOrder.getTradeNo()).append(",");
+                tradeNos += tbOrder.getTradeNo() + ",";
                 //收到007结关信息后边民即可上架订单,不需等收到打款给外籍商户的成功回执SXB017才能完成订单
                 tbOrder.setFinishTime(new Date());
                 tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
+
                 //todo: 收到航通007报文即收到海关结关信息,转发结关信息给到银行
                 paymentDto.setTradeNo(tbOrder.getTradeNo());
                 paymentDto.setDeclTime(htPassCardDTO.getCheckTime());
-                paymentDto.setFieldCode(area.getCode());
                 StaticLog.info("\nsendCXB001——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
                 paymentServerInterface.sendCXB001(paymentDto);
             }
             this.updateBatchById(tbOrders);
 
-            tradeNos = new StringBuilder(StringUtils.removeEnd(tradeNos.toString(), ","));
-            //todo: 调用银行接口发起划扣:将边民划扣至银行第三方账户的货款,支付至外籍商户的账户
+            tradeNos = StringUtils.removeEnd(tradeNos, ",");
+            //todo: 收到航通007报文即收到海关结关信息,转发通车批信息给到银行
             PaymentDto paymentDto2 = new PaymentDto();
-            paymentDto2.setTradeNos(tradeNos.toString());
+            paymentDto2.setTradeNos(tradeNos);
             paymentDto2.setVoyageNo(htPassCardDTO.getManifestId());
             paymentDto2.setVeNo(tbOrders.get(0).getVeNo());
-            paymentDto2.setFieldCode(area.getCode());
             StaticLog.info("\nsendSXB023——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto2));
             paymentServerInterface.sendSXB023(paymentDto2);
         }

+ 14 - 7
sp-service/level-one-server/src/main/java/com/pj/tb_people_tax_account/TbPeopleTaxAccountController.java

@@ -1,9 +1,10 @@
 package com.pj.tb_people_tax_account;
 
 import java.util.List;
+import com.pj.api.dto.PeopleTaxAccountDto;
 import com.pj.utils.so.SoMap;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import com.pj.utils.sg.*;
@@ -78,11 +79,17 @@ public class TbPeopleTaxAccountController {
 	}
 
 
-
-
-
-
-
-
+	/**
+	 * 根据ID获取边民信息
+	 */
+	@PostMapping("rpc/getTaxAccountByPeopleId")
+	public PeopleTaxAccountDto getTaxAccountByPeopleId(@RequestParam("peopleId") Long peopleId) {
+		PeopleTaxAccountDto dto = new PeopleTaxAccountDto();
+		SoMap so = new SoMap();
+		so.put("peopleId",peopleId);
+		List<TbPeopleTaxAccount> list = tbPeopleTaxAccountService.getList(so);
+		if(list.size()>0) BeanUtils.copyProperties(list.get(0), dto);
+		return dto;
+	}
 
 }

+ 1 - 1
sp-service/level-one-server/src/main/java/com/pj/tb_people_tax_account/TbPeopleTaxAccountMapper.xml

@@ -77,7 +77,7 @@
 			<when test='sortType == 23'> update_time desc </when>
 			<when test='sortType == 24'> update_by desc </when>
 			<when test='sortType == 25'> update_name desc </when>
-			<otherwise> id desc </otherwise>
+			<otherwise> create_time desc </otherwise>
 		</choose>
 	</select>
 

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

@@ -13,6 +13,8 @@ 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.tb_orders.vo.TbOrdersEmailVo;
+import com.pj.tb_orders.vo.TbOrdersPrintVo;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -191,4 +193,24 @@ public class TbOrdersController {
         tbOrdersService.deduction(id);
         return AjaxJson.getSuccess();
     }
+
+    /**
+     * 查 - 交易凭证
+     */
+    @RequestMapping("getSubPrint")
+    @SaCheckPermission(TbOrders.PERMISSION_CODE)
+    public AjaxJson getSubPrint(Long id) {
+        TbOrdersPrintVo t = tbOrdersService.getSubPrint(id);
+        return AjaxJson.getSuccessData(t);
+    }
+
+    /**
+     * 查 - 电子协议
+     */
+    @RequestMapping("getSubEmail")
+    @SaCheckPermission(TbOrders.PERMISSION_CODE)
+    public AjaxJson getSubEmail(Long id) {
+        TbOrdersEmailVo t = tbOrdersService.getSubEmail(id);
+        return AjaxJson.getSuccessData(t);
+    }
 }

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

@@ -37,6 +37,8 @@ import com.pj.tb_item_rules.TbItemRulesService;
 import com.pj.tb_orders.vo.OrderFeeItemVO;
 import com.pj.tb_item_rules.TbItemRulesVo;
 import com.pj.tb_orders.vo.OrderStaticsDTO;
+import com.pj.tb_orders.vo.TbOrdersEmailVo;
+import com.pj.tb_orders.vo.TbOrdersPrintVo;
 import com.pj.tb_orders_cart.TbOrdersCart;
 import com.pj.tb_orders_cart.TbOrdersCartMapper;
 import com.pj.tb_purchaser.TbPurchaser;
@@ -685,4 +687,73 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
 
         return super.updateById(tbOrders);
     }
+
+    /**
+     * 查 - 交易凭证
+     */
+    public TbOrdersPrintVo getSubPrint(Long id) {
+        TbOrdersPrintVo vo = new TbOrdersPrintVo();
+
+        TbOrders tbOrders = super.getById(id);
+        BeanUtils.copyProperties(tbOrders, vo);
+
+        List<BankInfoDto> bankInfoList = paymentServerInterface.getListBySource(tbOrders.getOrderNo());
+        if(bankInfoList.size()>0) vo.setResult(bankInfoList.get(0).getResult());
+
+        PeopleDto people = levelOneServerInterface.getRpcById(tbOrders.getLeaderId());
+        if(people != null) {
+            vo.setIdCard(people.getIdCard());
+            vo.setGroupName(people.getGroupName());
+        }
+
+        return vo;
+    }
+
+    /**
+     * 查 - 电子协议
+     */
+    public TbOrdersEmailVo getSubEmail(Long id) {
+        TbOrdersEmailVo vo = new TbOrdersEmailVo();
+
+        TbOrders tbOrders = super.getById(id);
+        BeanUtils.copyProperties(tbOrders, vo);
+
+        OrderDto orderOne = levelOneServerInterface.getOrderDtoById(tbOrders.getLevelOneOrderId());
+        if(orderOne != null) {
+            vo.setSettleBillNo(orderOne.getSettleBillNo());
+        }
+
+        List<BankInfoDto> bankInfoList = paymentServerInterface.getListBySource(tbOrders.getOrderNo());
+        if(bankInfoList.size()>0) {
+            vo.setResult(bankInfoList.get(0).getResult());
+        }
+
+        PeopleDto people = levelOneServerInterface.getRpcById(tbOrders.getLeaderId());
+        if(people != null) {
+            vo.setIdCard(people.getIdCard());
+            vo.setGroupName(people.getGroupName());
+        }
+
+        PeopleTaxAccountDto peopleTaxAccount = levelOneServerInterface.getTaxAccountByPeopleId(tbOrders.getLeaderId());
+        if(peopleTaxAccount != null) {
+            vo.setBusinessName(peopleTaxAccount.getBusinessName());
+            vo.setContacts(peopleTaxAccount.getContacts());
+            vo.setPhone(peopleTaxAccount.getPhone());
+            vo.setPeopleBankName(peopleTaxAccount.getBankName());
+            vo.setPeopleBankCode(peopleTaxAccount.getBankCode());
+            vo.setPeopleDutyParagraph(peopleTaxAccount.getDutyParagraph());
+        }
+
+        TbPurchaser purchaser = tbPurchaserMapper.selectById(tbOrders.getPurchaserId());
+        if(purchaser != null) {
+            vo.setPurchaserBusinessName(purchaser.getBusinessName());
+            vo.setLegalPerson(purchaser.getLegalPerson());
+            vo.setPurchaserContact(purchaser.getContact());
+            vo.setPurchaserBankName(purchaser.getBankName());
+            vo.setPurchaserBankAccount(purchaser.getBankAccount());
+            vo.setPurchaserDutyParagraph(purchaser.getDutyParagraph());
+        }
+
+        return vo;
+    }
 }

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

@@ -0,0 +1,443 @@
+package com.pj.tb_orders.vo;
+
+import com.pj.common.core.annotation.Excel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+@Data
+@Accessors(chain = true)
+public class TbOrdersEmailVo implements Serializable {
+
+	private Long id;
+
+	/**
+	 * 一级市场订单ID
+	 */
+	private Long levelOneOrderId;
+
+	/**
+	 * 订单编号
+	 */
+	private String orderNo;
+
+	/**
+	 * 商品id
+	 */
+	private Long goodsId;
+
+	/**
+	 * 商品名称
+	 */
+	private String goodsName;
+
+	/**
+	 * 商品来源(国家)
+	 */
+	private String goodsFrom;
+
+	/**
+	 * 发货商电话
+	 */
+	private String shipperPhone;
+
+	/**
+	 * 发货商名称
+	 */
+	private String shipperName;
+
+	/**
+	 * 司机ID
+	 */
+	private Long driverId;
+
+	/**
+	 * 司机名称
+	 */
+	private String driverName;
+
+	/**
+	 * 司机电话
+	 */
+	private String driverPhone;
+
+	/**
+	 * 车型ID
+	 */
+	private Long carId;
+
+	/**
+	 * 车牌号
+	 */
+	private String veNo;
+
+	/**
+	 * 收货人名称
+	 */
+	private String consigneeName;
+
+	/**
+	 * 收货人电话号码
+	 */
+	private String consigneePhone;
+
+	/**
+	 * (预留字段) 申报订单号
+	 */
+	private String declarationNumber;
+
+	/**
+	 * 订单完成状态 (0=未完成,1=已完成)
+	 */
+	private Integer orderFinish;
+
+	/**
+	 * 装货地址
+	 */
+	private String loadingAddress;
+
+	/**
+	 * 卸货地址
+	 */
+	private String unloadingAddress;
+
+	/**
+	 * 备注
+	 */
+	private String comment;
+
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+
+
+	/**
+	 * 更新人编号
+	 */
+	private Long updateBy;
+	/**
+	 * 更新人名称
+	 */
+	private String updateName;
+
+	/**
+	 * 删除状态(0=禁用,1=启用)
+	 */
+	private Integer deleteStatus;
+
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+
+	/**
+	 * 创建人编号
+	 */
+	private Long createBy;
+
+	/**
+	 * 创建人名称
+	 */
+	private String createName;
+
+	/**
+	 * 贸易区域id
+	 */
+	private Long tradeAreaId;
+
+	/**
+	 * 贸易区域名称
+	 */
+	private String tradeAreaName;
+
+	/**
+	 * 买家ID
+	 */
+	private Long purchaserId;
+
+	/**
+	 * 买家名称
+	 */
+	private String purchaserName;
+
+	/**
+	 * 边民Id
+	 */
+	private Long leaderId;
+	/**
+	 * 边民姓名
+	 */
+	private String leaderName;
+	/**
+	 * 边民手机号
+	 */
+	private String leaderPhone;
+
+	/**
+	 * 二级收购商需求发布表的主键id
+	 */
+	private Long fkGoodsDemandId;
+
+	/**
+	 * 是否收货[0=未收货,1=已收货]
+	 */
+	private Integer isDelivery;
+
+	/**
+	 * 转售金额
+	 */
+	private Double resalePrice;
+
+	/**
+	 * 是否支付(0=未支付,1=支付成功,2=支付失败,3=支付中)
+	 */
+	private Integer isPay;
+
+	/**
+	 * 支付/回执时间
+	 */
+	private Date payTime;
+
+	/**
+	 * 是否缴税缴费(0=未缴费,1=缴费成功,2=缴费失败,3=缴费中)
+	 */
+	private Integer payTax;
+
+	/**
+	 * 缴税缴费/回执时间
+	 */
+	private Date payTaxTime;
+
+	private String bankName;
+	private String bankAccount;
+	private String goodsUnit;
+	private String netWet;
+	private String totalWeight;
+	private String singlePrice;
+
+	/**
+	 * (二级市场)采购商补扣款次数
+	 */
+	private Integer deductionCount;
+	/**
+	 * (二级市场)采购商最近一次补扣款时间
+	 */
+	private Date deductionTime;
+
+	/**
+	 * 申报数量
+	 */
+	private Double buyQty;
+
+	/**
+	 * 第一数量
+	 */
+	private Double buyQty1;
+
+	/**
+	 * 第二数量
+	 */
+	private Double buyQty2;
+
+
+	/**----------- 银行回执字段 begin----------**/
+	/**
+	 * 报文编号
+	 */
+	private String sn;
+	/**
+	 * 报文发送时间
+	 */
+	private String date;
+	/**
+	 * 互市点机构代码
+	 */
+	private String organization;
+	/**
+	 * 银行标识
+	 */
+	private String bankCode;
+	/**
+	 * 报文业务类型
+	 */
+	private String operation;
+	/**
+	 * 消息回执代码:200/202/401/402/403/404/405
+	 */
+	private String code;
+	/**
+	 * 订单号
+	 */
+	private String source;
+	/**
+	 * 扣款成功的流水单号
+	 */
+	private String result;
+	/**
+	 * 回执内容
+	 */
+	private String note;
+	/**
+	 * 订单回执类型	001:扣款订单    002:退款订单    003:打款订单(根据字典表ORDER_TYPE)
+	 */
+	private String type;
+	/**----------- 银行回执字段 end----------**/
+
+
+
+
+	/**----------- 边民表字段 begin----------**/
+	private String idCard;
+	private String groupName;
+	/**----------- 边民表字段 end----------**/
+
+
+
+
+	/**----------- 一级市场订单表字段 begin----------**/
+	/**
+	 * 结算单号
+	 */
+	private String settleBillNo;
+	/**----------- 一级市场订单表字段 end----------**/
+
+
+
+
+	/**----------- 边民-税务开户信息字段 begin----------**/
+	/**
+	 * 个体户名称
+	 */
+	private String businessName;
+
+	/**
+	 * 社会统一信用代码
+	 */
+	private String peopleDutyParagraph;
+
+	/**
+	 * 经营者(边民)
+	 */
+	private String name;
+
+	/**
+	 * 地址
+	 */
+	private String address;
+
+	/**
+	 * 组成形式
+	 */
+	private String form;
+
+	/**
+	 * 联系人
+	 */
+	private String contacts;
+
+	/**
+	 * 联系电话
+	 */
+	private String phone;
+
+	/**
+	 * 经营场所
+	 */
+	private String businessAddress;
+
+	/**
+	 * 经营范围
+	 */
+	private String businessScope;
+
+	/**
+	 * 经营状态
+	 */
+	private String businessStatus;
+
+	/**
+	 * 开户行
+	 */
+	private String peopleBankName;
+
+	/**
+	 * 银行账号
+	 */
+	private String peopleBankCode;
+
+	/**
+	 * 开票商
+	 */
+	private String invoiceBusiness;
+
+	/**
+	 * 开票人
+	 */
+	private String invoicePeople;
+
+	/**
+	 * 收款人
+	 */
+	private String payee;
+
+	/**
+	 * 复核人
+	 */
+	private String checker;
+	/**----------- 边民-税务开户信息字段 begin----------**/
+
+
+
+	/**----------- 收购商-税务开户信息字段 begin----------**/
+	/**
+	 * 姓名
+	 */
+	//private String name;
+
+	/**
+	 * 法人
+	 */
+	private String legalPerson;
+	/**
+	 * 身份证号
+	 */
+	private String purchaserIdCard;
+	/**
+	 * 手机号码
+	 */
+	private String purchaserContact;
+	/**
+	 * 营业执照
+	 */
+	private String businessLicense;
+	/**
+	 * 银行编号
+	 */
+	private String purchaserBankNo;
+	/**
+	 * 银行名称
+	 */
+	private String purchaserBankName;
+	/**
+	 * 银行账号
+	 */
+	private String purchaserBankAccount;
+	/**
+	 * 统一社会信用代码
+	 */
+	private String purchaserDutyParagraph;
+	/**
+	 * 企业名称
+	 */
+	private String purchaserBusinessName;
+	/**
+	 * 邮箱
+	 */
+	private String email;
+	/**----------- 收购商-税务开户信息字段 begin----------**/
+
+}

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

@@ -0,0 +1,296 @@
+package com.pj.tb_orders.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+@Data
+@Accessors(chain = true)
+public class TbOrdersPrintVo implements Serializable {
+
+	private Long id;
+
+	/**
+	 * 一级市场订单ID
+	 */
+	private Long levelOneOrderId;
+
+	/**
+	 * 订单编号
+	 */
+	private String orderNo;
+
+	/**
+	 * 商品id
+	 */
+	private Long goodsId;
+
+	/**
+	 * 商品名称
+	 */
+	private String goodsName;
+
+	/**
+	 * 商品来源(国家)
+	 */
+	private String goodsFrom;
+
+	/**
+	 * 发货商电话
+	 */
+	private String shipperPhone;
+
+	/**
+	 * 发货商名称
+	 */
+	private String shipperName;
+
+	/**
+	 * 司机ID
+	 */
+	private Long driverId;
+
+	/**
+	 * 司机名称
+	 */
+	private String driverName;
+
+	/**
+	 * 司机电话
+	 */
+	private String driverPhone;
+
+	/**
+	 * 车型ID
+	 */
+	private Long carId;
+
+	/**
+	 * 车牌号
+	 */
+	private String veNo;
+
+	/**
+	 * 收货人名称
+	 */
+	private String consigneeName;
+
+	/**
+	 * 收货人电话号码
+	 */
+	private String consigneePhone;
+
+	/**
+	 * (预留字段) 申报订单号
+	 */
+	private String declarationNumber;
+
+	/**
+	 * 订单完成状态 (0=未完成,1=已完成)
+	 */
+	private Integer orderFinish;
+
+	/**
+	 * 装货地址
+	 */
+	private String loadingAddress;
+
+	/**
+	 * 卸货地址
+	 */
+	private String unloadingAddress;
+
+	/**
+	 * 备注
+	 */
+	private String comment;
+
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+
+
+	/**
+	 * 更新人编号
+	 */
+	private Long updateBy;
+	/**
+	 * 更新人名称
+	 */
+	private String updateName;
+
+	/**
+	 * 删除状态(0=禁用,1=启用)
+	 */
+	private Integer deleteStatus;
+
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+
+	/**
+	 * 创建人编号
+	 */
+	private Long createBy;
+
+	/**
+	 * 创建人名称
+	 */
+	private String createName;
+
+	/**
+	 * 贸易区域id
+	 */
+	private Long tradeAreaId;
+
+	/**
+	 * 贸易区域名称
+	 */
+	private String tradeAreaName;
+
+	/**
+	 * 买家ID
+	 */
+	private Long purchaserId;
+
+	/**
+	 * 买家名称
+	 */
+	private String purchaserName;
+
+	/**
+	 * 边民Id
+	 */
+	private Long leaderId;
+	/**
+	 * 边民姓名
+	 */
+	private String leaderName;
+	/**
+	 * 边民手机号
+	 */
+	private String leaderPhone;
+
+	/**
+	 * 二级收购商需求发布表的主键id
+	 */
+	private Long fkGoodsDemandId;
+
+	/**
+	 * 是否收货[0=未收货,1=已收货]
+	 */
+	private Integer isDelivery;
+
+	/**
+	 * 转售金额
+	 */
+	private Double resalePrice;
+
+	/**
+	 * 是否支付(0=未支付,1=支付成功,2=支付失败,3=支付中)
+	 */
+	private Integer isPay;
+
+	/**
+	 * 支付/回执时间
+	 */
+	private Date payTime;
+
+	/**
+	 * 是否缴税缴费(0=未缴费,1=缴费成功,2=缴费失败,3=缴费中)
+	 */
+	private Integer payTax;
+
+	/**
+	 * 缴税缴费/回执时间
+	 */
+	private Date payTaxTime;
+
+	private String bankName;
+	private String bankAccount;
+	private String goodsUnit;
+	private String netWet;
+	private String totalWeight;
+	private String singlePrice;
+
+	/**
+	 * (二级市场)采购商补扣款次数
+	 */
+	private Integer deductionCount;
+	/**
+	 * (二级市场)采购商最近一次补扣款时间
+	 */
+	private Date deductionTime;
+
+	/**
+	 * 申报数量
+	 */
+	private Double buyQty;
+
+	/**
+	 * 第一数量
+	 */
+	private Double buyQty1;
+
+	/**
+	 * 第二数量
+	 */
+	private Double buyQty2;
+
+
+	/**----------- 银行回执字段 ----------**/
+	/**
+	 * 报文编号
+	 */
+	private String sn;
+	/**
+	 * 报文发送时间
+	 */
+	private String date;
+	/**
+	 * 互市点机构代码
+	 */
+	private String organization;
+	/**
+	 * 银行标识
+	 */
+	private String bankCode;
+	/**
+	 * 报文业务类型
+	 */
+	private String operation;
+	/**
+	 * 消息回执代码:200/202/401/402/403/404/405
+	 */
+	private String code;
+	/**
+	 * 订单号
+	 */
+	private String source;
+	/**
+	 * 扣款成功的流水单号
+	 */
+	private String result;
+	/**
+	 * 回执内容
+	 */
+	private String note;
+	/**
+	 * 订单回执类型	001:扣款订单    002:退款订单    003:打款订单(根据字典表ORDER_TYPE)
+	 */
+	private String type;
+
+
+	private String idCard;
+	private String groupName;
+}

+ 15 - 21
sp-service/payment-server/src/main/java/com/pj/bank_info/BankInfoController.java

@@ -1,23 +1,19 @@
 package com.pj.bank_info;
 
+import java.util.ArrayList;
 import java.util.List;
 
-import cn.hutool.crypto.digest.HMac;
-import cn.hutool.crypto.digest.HmacAlgorithm;
-import cn.hutool.log.StaticLog;
-import com.pj.rabbitmq.MessageSender;
+import com.pj.api.dto.BankInfoDto;
 import com.pj.utils.so.SoMap;
+import org.springframework.beans.BeanUtils;
 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;
 
-import javax.annotation.Resource;
 
 
 /**
@@ -83,20 +79,18 @@ public class BankInfoController {
 		return AjaxJson.getPageData(so.getDataCount(), list);
 	}
 
-
-	@Resource
-	private MessageSender messageSender;
-	@PostMapping("test")
-	public String test(@RequestBody String str){
-		StaticLog.info("info:{}",str);
-		messageSender.sendToLevelOneMQ(str);
-		byte[] key = "90003".getBytes();
-		HMac mac = new HMac(HmacAlgorithm.HmacSHA256, key);
-		System.out.println(mac.digestBase64("sw10002",false));
-		return "hello";
+	@PostMapping("rpc/getListBySource")
+	public List<BankInfoDto> getListBySource(@RequestParam("source") String source) {
+		SoMap so = new SoMap();
+		so.put("source", source);
+		List<BankInfo> list = bankInfoService.getList(so);
+		List<BankInfoDto> dtoList = new ArrayList<>();
+		list.forEach(item -> {
+			BankInfoDto dto = new BankInfoDto();
+			BeanUtils.copyProperties(item, dto);
+			dtoList.add(dto);
+		});
+		return dtoList;
 	}
 
-
-
-
 }

+ 15 - 15
sp-service/payment-server/src/main/java/com/pj/bank_info/BankInfoMapper.xml

@@ -7,17 +7,17 @@
 
 	<!-- ================================== 查询相关 ================================== -->
 	<!-- select id, sn, date, organization, bankCode, operation, code, source, result, note, create_time from bank_info  -->
-	
+
 	<!-- 通用映射:自动模式 -->
 	<resultMap id="model" autoMapping="true" type="com.pj.bank_info.BankInfo"></resultMap>
-	
+
 	<!-- 公共查询sql片段 -->
 	<sql id="select_sql">
-		select * 
-		from bank_info 
+		select *
+		from bank_info
 	</sql>
 
-	
+
 	<!-- 查集合 - 根据条件(参数为空时代表忽略指定条件) [G] -->
 	<select id="getList" resultMap="model">
 		<include refid="select_sql"></include>
@@ -47,17 +47,17 @@
 			<when test='sortType == 9'> result desc </when>
 			<when test='sortType == 10'> note desc </when>
 			<when test='sortType == 11'> create_time desc </when>
-			<otherwise> id desc </otherwise>
+			<otherwise> create_time desc </otherwise>
 		</choose>
 	</select>
-	
-	
-	
-	
-	
-	
-	
-	
-	
+
+
+
+
+
+
+
+
+
 
 </mapper>

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

@@ -210,6 +210,13 @@ public class AppUserApiController {
         return appUserService.getByPhoneAndUserType(phone, userType);
     }
 
+    /** 注销账户 */
+    @RequestMapping("delete")
+    public AjaxJson delete(Long id){
+        appUserService.delete(id);
+        return AjaxJson.getSuccess();
+    }
+
 
 
 }