Browse Source

1.添加根据手机号查询用户信息接口

2.添加查询当前租户下商户名称列表接口
3.新增对象转换工具
release_toaliyun_real
hanxueda 7 years ago
parent
commit
102d71aee8
8 changed files with 220 additions and 0 deletions
  1. +15
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java
  2. +10
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantController.java
  3. +5
    -0
      mallinkService/pom.xml
  4. +16
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantSimpleVo.java
  5. +17
    -0
      mallinkService/src/main/java/com/iformall/exception/BeanMappingException.java
  6. +8
    -0
      mallinkService/src/main/java/com/iformall/service/WxMerchantService.java
  7. +10
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  8. +139
    -0
      mallinkService/src/main/java/com/iformall/utils/BeanMapping.java

+ 15
- 0
mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java View File

@@ -38,6 +38,7 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;

import static com.iformall.domain.po.WxCouponOrder.Field.CreateDate_DESC;
import static com.iformall.ueditor.define.AppInfo.info;

@RestController
@RequestMapping("wxCUserBasicInfo")
@@ -452,4 +453,18 @@ public class WxCUserBasicInfoController extends BaseController {
wxCUserBasicInfoService.exportCarPayData(record, request, response);

}

@ApiOperation("根据手机号查询接口")
@GetMapping("/findByPhone")
@ApiImplicitParam(name = "phone", value = "phone", dataType = "String", paramType = "query", required = true)
@SystemControllerLog(description = "根据手机号查询接口")
public ResultData findByPhone(String phone) {
logger.debug("[" + getIpAddr() + "] WxCUserBasicInfoController::findByPhone");
List<WxCUserBasicInfo> wxCUserBasicInfoList = wxCUserBasicInfoService.findByPhone(getTenantId(),phone);
WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo();
if (wxCUserBasicInfoList != null && wxCUserBasicInfoList.size() > 0) {
wxCUserBasicInfo = wxCUserBasicInfoList.get(0);
}
return new ResultData(wxCUserBasicInfo);
}
}

+ 10
- 0
mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantController.java View File

@@ -7,11 +7,13 @@ import com.iformall.common.ResultData;
import com.iformall.domain.po.WxLevelConfig;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxProfitSharingReceiver;
import com.iformall.domain.vo.WxMerchantSimpleVo;
import com.iformall.service.WxMerchantService;
import com.iformall.service.WxProfitSharingReceiverService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.beanutils.BeanUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -154,4 +156,12 @@ public class WxMerchantController extends BaseController {
return wxMerchantService.updateMerchantLevel(wxMerchant);
}

@ApiOperation("查询当前租户下商户名称列表")
@GetMapping("/name_list")
@SystemControllerLog(description = "查询当前租户下商户名称列表")
public ResultData nameList() {
logger.debug("[" + getIpAddr() + "] WxMerchantController::name_list");
return new ResultData(wxMerchantService.findList(getTenantId()));
}

}

+ 5
- 0
mallinkService/pom.xml View File

@@ -20,6 +20,11 @@
<scope>compile</scope>
</dependency>
-->
<dependency>
<groupId>net.sf.dozer</groupId>
<artifactId>dozer</artifactId>
<version>5.5.1</version>
</dependency>
</dependencies>

</project>

+ 16
- 0
mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantSimpleVo.java View File

@@ -0,0 +1,16 @@
package com.iformall.domain.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class WxMerchantSimpleVo {

/**id**/
@ApiModelProperty(value="id",name="id")
private Long id;

/**商户名**/
@ApiModelProperty(value="商户名",name="name")
private String merchantName;
}

+ 17
- 0
mallinkService/src/main/java/com/iformall/exception/BeanMappingException.java View File

@@ -0,0 +1,17 @@
package com.iformall.exception;

public class BeanMappingException extends RuntimeException {
private static final long serialVersionUID = -3616240376550557648L;

public BeanMappingException() {
this("Bean对象映射异常");
}

public BeanMappingException(String message) {
super(message);
}

public BeanMappingException(Throwable cause) {
super(cause);
}
}

+ 8
- 0
mallinkService/src/main/java/com/iformall/service/WxMerchantService.java View File

@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxLevelConfig;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.vo.WxMerchantSimpleVo;
import com.iformall.domain.vo.WxMerchantVo;

import java.util.HashMap;
@@ -39,6 +40,13 @@ public interface WxMerchantService {
* @return
*/
List<WxMerchant> etcpList(WxMerchant record);

/**
* 查询商户列表
* @param tenantId
* @return
*/
List<WxMerchantSimpleVo> findList(String tenantId);
/**
* 根据Id获得实体


+ 10
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java View File

@@ -7,11 +7,13 @@ import com.iformall.common.IdWorker;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxMerchantSimpleVo;
import com.iformall.domain.vo.WxMerchantVo;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
import com.iformall.service.*;
import com.iformall.utils.BeanMapping;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -133,6 +135,14 @@ public class WxMerchantServiceImpl implements WxMerchantService {
return wxMerchantMapper.findList(record);
}

@Override
public List<WxMerchantSimpleVo> findList(String tenantId) {
WxMerchant wxMerchant = new WxMerchant();
wxMerchant.setTenantId(tenantId);
List<WxMerchant> wxMerchantList = wxMerchantMapper.findList(wxMerchant);
return BeanMapping.mapList(wxMerchantList,WxMerchantSimpleVo.class,(s, t)->t.setMerchantName(s.getName()));
}

@Override
public WxMerchant getById(Long id) {
WxMerchant wxMerchant = wxMerchantMapper.selectByPrimaryKey(id);


+ 139
- 0
mallinkService/src/main/java/com/iformall/utils/BeanMapping.java View File

@@ -0,0 +1,139 @@
package com.iformall.utils;

import com.iformall.exception.BeanMappingException;
import lombok.extern.slf4j.Slf4j;
import org.dozer.DozerBeanMapper;
import org.dozer.Mapper;
import org.dozer.MappingException;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.function.BiConsumer;

/**
* 不同类型的bean对象属性映射转化
* 基于Dozer封装, 对使用者透明
*/
@Slf4j
public class BeanMapping {

private static Mapper __instance__;

private static Lock lock = new ReentrantLock();

private BeanMapping() {

}

private static Mapper getInstance() {
// TODO 支持XML配置或者传入映射关系

if (__instance__ == null) {
lock.lock();
if (__instance__ == null) {
__instance__ = new DozerBeanMapper();
}
lock.unlock();
}
return __instance__;
}

/**
* 源对象 {@code source} 转换成目标bean对象 {@code D}; 将名称一致的属性进行转换
* @param source 源Bean
* @param dstClass 目标Bean的class
* @param <S> 原Bean的泛型定义
* @param <D> 目标Bean的泛型定义
* @return 目标Bean对象
*/
public static <S, D> D map(S source, Class<D> dstClass) throws BeanMappingException {
return map(source, dstClass, null);
}

/**
* 源对象 {@code source} 转换成目标bean对象 {@code D}; 将名称一致的属性进行转换; 转换完成后进行回调后续处理
* @param source 源Bean
* @param dstClass 目标Bean的class
* @param biConsumer 目标Bean转换完成后的回调操作
* @param <S> 原Bean的泛型定义
* @param <D> 目标Bean的泛型定义
* @return 目标Bean对象
* @throws BeanMappingException
*/
public static <S, D> D map(S source, Class<D> dstClass, BiConsumer<S, D> biConsumer) throws BeanMappingException {
if (source == null) {
return null;
}
try {
D dstObject = getInstance().map(source, dstClass);
if (dstObject != null && biConsumer != null) {
biConsumer.accept(source, dstObject);
}
return dstObject;
} catch (MappingException e) {
log.error("对象映射出错, 原对象类型: {}, 目标对象类型: {}", source.getClass(), dstClass);
throw new BeanMappingException(e);
}
}

/**
* 源对象集合 {@code source} 转换成目标bean对象后添加到传入的集合中 {@code D}; 将名称一致的属性进行转换
* @param source 源对象集合
* @param destination 目标对象集合
* @param dstClass 目标Bean的class
* @param <S> 原Bean的泛型定义
* @param <D> 目标Bean的泛型定义
* @throws BeanMappingException
*/
public static <S, D> void map(Collection<S> source, Collection<D> destination, Class<D> dstClass) throws BeanMappingException {
map(source, destination, dstClass, null);
}

/**
* 源对象集合 {@code source} 转换成目标bean对象后添加到传入的集合中 {@code D}; 将名称一致的属性进行转换
* @param source 源对象集合
* @param destination 目标对象集合
* @param dstClass 目标Bean的class
* @param biConsumer 目标Bean转换完成后的回调操作
* @param <S> 原Bean的泛型定义
* @param <D> 目标Bean的泛型定义
* @throws BeanMappingException
*/
public static <S, D> void map(Collection<S> source, Collection<D> destination, Class<D> dstClass, BiConsumer<S, D> biConsumer) throws BeanMappingException {
for (S s : source) {
destination.add(map(s, dstClass, biConsumer));
}
}

/**
* 源对象集合 {@code source} 转换成目标bean对象 {@code D}; 将名称一致的属性进行转换
* @param source 源对象集合
* @param dstClass 目标Bean的class
* @param <S> 原Bean的泛型定义
* @param <D> 目标Bean的泛型定义
* @return 映射完的List集合, 默认返回ArrayList
* @throws BeanMappingException
*/
public static <S, D> List<D> mapList(Collection<S> source, Class<D> dstClass) throws BeanMappingException {
return mapList(source, dstClass, null);
}

/**
* 源对象集合 {@code source} 转换成目标bean对象 {@code D}; 将名称一致的属性进行转换
* @param source 源对象集合
* @param dstClass 目标Bean的class
* @param biConsumer 目标Bean转换完成后的回调操作
* @param <S> 原Bean的泛型定义
* @param <D> 目标Bean的泛型定义
* @return 映射完的List集合, 默认返回ArrayList
* @throws BeanMappingException
*/
public static <S, D> List<D> mapList(Collection<S> source, Class<D> dstClass, BiConsumer<S, D> biConsumer) throws BeanMappingException {
List<D> result = new ArrayList<>();
map(source, result, dstClass, biConsumer);
return result;
}
}

Loading…
Cancel
Save