聚合支付項目-14

1.7 工程測試 通過一個案例”根據Id查詢商戶“的開發去熟悉項目架構的基本開發方法。 1.7.1生成代碼 使用mp的自動生成工程生成entity、mapper等文件。 1)修改生成類中的數據庫鏈接,連接

1.7 工程測試

通過一個案例”根據Id查詢商戶“的開發去熟悉項目架構的基本開發方法。

1.7.1生成代碼

使用mp的自動生成工程生成entity、mapper等文件。

1)修改生成類中的數據庫鏈接,連接huiminpay_merchant_service數據庫

2)設置包路徑

PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.huiminpay");

3)運行生成類,輸入模塊名:merchant

生成成功:

將生成的entity、mapper拷貝到huiminpay-merchant-service工程

1.7.2Mybatis-Plus配置

1.7.2.1配置連接池Druid

  1. 在nacos中新建連接池Druid配置:spring-boot-starter-druid.yaml,Group為:COMMON_GROUP
    內容如下:
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/oauth?useUnicode=true
    username: root
    password: yourpassword
    druid:
      initial-size: 5
      min-idle: 5
      max-active: 20
      max-wait: 60000
      time-between-eviction-runs-millis: 60000
      min-evictable-idle-time-millis: 300000
      validation-query: SELECT 1 FROM DUAL
      test-while-idle: true
      test-on-borrow: true
      test-on-return: false
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      filter:
        stat:
          slow-sql-millis: 1
          log-slow-sql: true
      filters: config,stat,wall,log4j2
      web-stat-filter:
        enabled: true
        url-pattern: /*
        exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
        session-stat-enable: false
        session-stat-max-count: 1000
        principal-cookie-name: admin
        principal-session-name: admin
        profile-enable: true
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        allow: 127.0.0.1
        deny: 127.0.0.1
        reset-enable: false
        login-password: admin
        login-username: admin
      aop-patterns: com.huiminpay.*.service.*
  1. 商戶服務覆蓋部分配置(數據庫名和用戶名密碼):merchant-service.yaml
# 覆蓋spring‐boot‐starter‐druid.yaml的項目
spring:
  datasource:
    druid:
      url: jdbc:mysql://127.0.0.1:3306/huiminpay_merchant_service?useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai&useSSL=false
      username: root
      password: yourpassword
  1. 應用配置到項目中:bootstrap.yml
- refresh: true
  data-id: spring-boot-starter-druid.yaml # spring boot starter druid配置
  group: COMMON_GROUP # 通用配置組

1.7.2.2配置Mybatis-Plus

  1. 在nacos中添加配置:spring-boot-mybatis-plus.yaml,Group為:COMMON_GROUP
mybatis-plus:
  configuration:
    cache-enabled: false
    map-underscore-to-camel-case: true
  global-config:
    id-type: 0
    field-strategy: 0
    db-column-underline: true
    refresh-mapper: true
  typeAliasesPackage: com.huiminpay.user.entity
  mapper-locations: classpath:com/huimin/*/mapper/*.xml
  1. 商戶服務覆蓋部分Mybatis-Plus配置:merchant-service.yaml
mybatis-plus:
  typeAliasesPackage: com.huiminpay.merchant.entity
  mapper-locations: classpath:com/huiminpay/*/mapper/*.xml
  1. 應用配置到項目中:bootstrap.yml
- refresh: true
  data-id: spring-boot-mybatis-plus.yaml # spring boot mybatisplus配置
  group: COMMON_GROUP # 通用配置組
  1. 添加分頁和性能分析插件:MybatisPlusCon?g
package com.huiminpay.merchant.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author Administrator
 * @version 1.0
 **/
@Configuration
@MapperScan("com.huiminpay.**.mapper")
public class MybatisPlusConfig {

    /**
     * 分頁插件,自動識別數據庫類型
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }

    /**
     * 啟用性能分析插件
     */
    @Bean
    public PerformanceInterceptor performanceInterceptor(){
        return new PerformanceInterceptor();
    }
}

1.7.3創建接口

在huiminpay-merchant-api下新建商戶接口:MerchantService

package com.huiminpay.merchant.api;

import com.huiminpay.merchant.api.dto.MerchantDTO;

public interface IMerchantService{
    /**
     * 根據ID查詢商戶信息
     * @param merchantId
     * @return
     */
    MerchantDTO queryMerchantById(Long merchantId);
}

注意:DTO類型的對象作為service層傳輸的對象。

dto:表示的是 vo和entity的一個中間轉換對象,是vo或entity對象中屬性的一個子對象。當前端傳來vo數據,我們提取vo中的數據到dto中,再將dto的數據處理后全部移動到entity中進行數據的保存。反之亦然

在huiminpay-merchant-api工程 定義MerchantDTO

package com.huiminpay.merchant.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
@ApiModel("商戶基本信息")
@Data
public class MerchantDTO implements Serializable {
    /**
     * 主鍵
     */
//    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 商戶名稱
     */
    @ApiModelProperty(name = "merchantName",value = "商戶名稱",example = "黃燜雞")
    private String merchantName;

    /**
     * 企業編號
     */
    @ApiModelProperty(name = "merchantNo",value = "企業編號",example = "10000")
    private String merchantNo;

    /**
     * 企業地址
     */
    private String merchantAddress;

    /**
     * 商戶類型
     */
    private String merchantType;

    /**
     * 營業執照(企業證明)
     */
    private String businessLicensesImg;

    /**
     * 法人身份證正面照片
     */
    private String idCardFrontImg;

    /**
     * 法人身份證反面照片
     */
    private String idCardAfterImg;

    /**
     * 聯系人姓名
     */
    private String username;

    /**
     * 聯系人手機號(關聯統一賬號)
     */
    private String mobile;

    /**
     * 聯系人地址
     */
    private String contactsAddress;

    /**
     * 審核狀態 0-未申請,1-已申請待審核,2-審核通過,3-審核拒絕
     */
    private String auditStatus;

    /**
     * 租戶ID,關聯統一用戶
     */
    private Long tenantId;

    private String password;
}

@ApiModel和 @ApiModelProperty是Swagger注解后邊會學習。

實現類:

package com.huiminpay.merchant.service;

import com.huiminpay.merchant.entity.Merchant;
import com.huiminpay.merchant.mapper.MerchantMapper;
import com.yh.merchant.api.IMerchantService;
import com.yh.merchant.api.dto.MerchantDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * <p>
 *  服務實現類
 * </p>
 *
 * @author suozhenhua
 * @since 2021-03-15
 */
@Slf4j
@org.apache.dubbo.config.annotation.Service
public class MerchantServiceImpl implements IMerchantService {
    @Autowired
    MerchantMapper merchantMapper;
    @Override
    public MerchantDTO queryMerchantById(Long merchantId) {
        Merchant merchant = merchantMapper.selectById(merchantId);
        MerchantDTO merchantDTO = new MerchantDTO();
        BeanUtils.copyProperties(merchant,merchantDTO);
        return merchantDTO;
    }
}

1.7.4創建接口實現

在huiminpay-merchant-service下新建商戶接口實現類:MerchantServiceImpl,并添加新建商戶測試方法 本方法從huiminpay_merchant_service數據庫的merchant表查詢數據。

public MerchantDTO queryMerchantById(Long merchantId) {
    Merchant merchant = merchantMapper.selectById(merchantId);
    MerchantDTO merchantDTO = new MerchantDTO();
    BeanUtils.copyProperties(merchant,merchantDTO);
    return merchantDTO;
}

1.7.5應用層

在huiminpay-merchant-application下添加如下pom依賴:

<dependency>
    <groupId>com.huiminpay</groupId>
    <artifactId>huiminpay-merchant-api</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

在huiminpay-merchant-application下新建商戶Controller:MerchantController,并調用商戶中心服務提供的新 建商戶接口

package com.huiminpay.merchant.controller;

import com.yh.merchant.api.IMerchantService;
import com.yh.merchant.api.dto.MerchantDTO;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MerchantController {
    @Reference
    IMerchantService merchantService;

    @GetMapping("/merchants/{id}")
    public MerchantDTO queryMerchantById(@PathVariable("id") Long id) {
        MerchantDTO merchantDTO = merchantService.queryMerchantById(id);
        return merchantDTO;
    }
}
  1. 啟動商戶平臺應用和商戶服務
  2. 訪問 http://localhost:57010/merchant/merchants/具體的id值 測試查詢商戶

如果merchant表沒有數據可手動添加后再行測試。

【本文由:香港云服務器 http://www.558idc.com/ne.html 復制請保留原URL】
聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 波多野结衣电影区一区二区三区| 日韩欧美无线在码| 亚洲欧美一区二区三区| 特级aaaaaaaaa毛片免费视频| 免费国产真实迷j在线观看| 美女浴室被爆羞羞漫画| 四虎成人精品在永久免费| 色吊丝永久在线观看最新| 国产v精品欧美精品v日韩| 色噜噜亚洲男人的天堂| 四虎永久网址在线观看| 美美女高清毛片视频免费观看 | 亚洲人成77777在线观看网| 欧美性受xxxx狂喷水| 亚洲国产成人精品青青草原| 欧美变态口味重另类在线视频| 亚洲国产成a人v在线观看| 欧美三级视频在线播放| 亚洲av无码一区二区二三区| 旧里番洗濯屋1一2集无删减| 久久狠狠色噜噜狠狠狠狠97| 日本香蕉一区二区三区| 亚洲美女综合网| 波多野结衣在线中文| 亚洲欧美在线观看首页| 欧美在线视频一区| 亚洲一区二区三区四区视频| 日韩视频在线观看| 久久伊人精品一区二区三区| 无码吃奶揉捏奶头高潮视频| 中文天堂网在线最新版| 嫩草成人永久免费观看| av色综合网站| 国产老买老妇bbb| 巨胸狂喷奶水视频www网站免费| 国产熟女乱子视频正在播放| 黄色毛片视频免费| 国产亚洲欧美一区二区| 美女大量吞精在线观看456| 免费精品99久久国产综合精品 | 成人午夜性a级毛片免费|