Commit aa60712e by zhangxingmin

push

parent a83f3dbd
...@@ -5,9 +5,12 @@ import com.yd.common.result.Result; ...@@ -5,9 +5,12 @@ import com.yd.common.result.Result;
import com.yd.user.api.service.ApiClientUserService; import com.yd.user.api.service.ApiClientUserService;
import com.yd.user.feign.client.clientuser.ApiClientUserFeignClient; import com.yd.user.feign.client.clientuser.ApiClientUserFeignClient;
import com.yd.user.feign.request.clientuser.ApiClientUserDetailBodyRequest; import com.yd.user.feign.request.clientuser.ApiClientUserDetailBodyRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserEditApprovalStatusRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserPageRequest; import com.yd.user.feign.request.clientuser.ApiClientUserPageRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserSaveRequest;
import com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse; import com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse;
import com.yd.user.feign.response.clientuser.ApiClientUserPageResponse; import com.yd.user.feign.response.clientuser.ApiClientUserPageResponse;
import com.yd.user.feign.response.clientuser.ApiClientUserSaveResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -58,4 +61,31 @@ public class ApiClientUserController implements ApiClientUserFeignClient { ...@@ -58,4 +61,31 @@ public class ApiClientUserController implements ApiClientUserFeignClient {
return apiClientUserService.detail(request); return apiClientUserService.detail(request);
} }
/**
* 保存客户端用户信息(新增或者编辑)
* @return
*/
@Override
public Result<ApiClientUserSaveResponse> save(ApiClientUserSaveRequest request) {
return apiClientUserService.save(request);
}
/**
* 编辑-客户端用户审批状态
* @return
*/
@Override
public Result editApprovalStatus(ApiClientUserEditApprovalStatusRequest request) {
return apiClientUserService.editApprovalStatus(request);
}
/**
* 编辑-客户端用户openId
* @return
*/
@Override
public Result editOpenId(String clientUserBizId,String openId) {
return apiClientUserService.editOpenId(clientUserBizId,openId);
}
} }
...@@ -3,9 +3,12 @@ package com.yd.user.api.service; ...@@ -3,9 +3,12 @@ package com.yd.user.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.user.feign.request.clientuser.ApiClientUserDetailBodyRequest; import com.yd.user.feign.request.clientuser.ApiClientUserDetailBodyRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserEditApprovalStatusRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserPageRequest; import com.yd.user.feign.request.clientuser.ApiClientUserPageRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserSaveRequest;
import com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse; import com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse;
import com.yd.user.feign.response.clientuser.ApiClientUserPageResponse; import com.yd.user.feign.response.clientuser.ApiClientUserPageResponse;
import com.yd.user.feign.response.clientuser.ApiClientUserSaveResponse;
import java.util.List; import java.util.List;
...@@ -17,6 +20,12 @@ public interface ApiClientUserService { ...@@ -17,6 +20,12 @@ public interface ApiClientUserService {
Result<ApiClientUserDetailResponse> detail(ApiClientUserDetailBodyRequest request); Result<ApiClientUserDetailResponse> detail(ApiClientUserDetailBodyRequest request);
Result<ApiClientUserSaveResponse> save(ApiClientUserSaveRequest request);
Result editApprovalStatus(ApiClientUserEditApprovalStatusRequest request);
Result editOpenId(String clientUserBizId, String openId);
Result saveClientUserList(List<String> userBizIdList, Result saveClientUserList(List<String> userBizIdList,
String tenantBizId, String tenantBizId,
String projectBizId); String projectBizId);
......
...@@ -14,9 +14,12 @@ import com.yd.csf.feign.client.agentreferralrelation.ApiAgentReferralRelationFei ...@@ -14,9 +14,12 @@ import com.yd.csf.feign.client.agentreferralrelation.ApiAgentReferralRelationFei
import com.yd.csf.feign.request.agentreferralrelation.ApiAgentReferralRelationSaveRequest; import com.yd.csf.feign.request.agentreferralrelation.ApiAgentReferralRelationSaveRequest;
import com.yd.user.api.service.ApiClientUserService; import com.yd.user.api.service.ApiClientUserService;
import com.yd.user.feign.request.clientuser.ApiClientUserDetailBodyRequest; import com.yd.user.feign.request.clientuser.ApiClientUserDetailBodyRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserEditApprovalStatusRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserPageRequest; import com.yd.user.feign.request.clientuser.ApiClientUserPageRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserSaveRequest;
import com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse; import com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse;
import com.yd.user.feign.response.clientuser.ApiClientUserPageResponse; import com.yd.user.feign.response.clientuser.ApiClientUserPageResponse;
import com.yd.user.feign.response.clientuser.ApiClientUserSaveResponse;
import com.yd.user.feign.response.sysuser.ApiSysUserPageResponse; import com.yd.user.feign.response.sysuser.ApiSysUserPageResponse;
import com.yd.user.service.dto.ClientUserDto; import com.yd.user.service.dto.ClientUserDto;
import com.yd.user.service.dto.SysUserDto; import com.yd.user.service.dto.SysUserDto;
...@@ -24,14 +27,13 @@ import com.yd.user.service.model.ClientUser; ...@@ -24,14 +27,13 @@ import com.yd.user.service.model.ClientUser;
import com.yd.user.service.model.SysUser; import com.yd.user.service.model.SysUser;
import com.yd.user.service.service.IClientUserService; import com.yd.user.service.service.IClientUserService;
import com.yd.user.service.service.ISysUserService; import com.yd.user.service.service.ISysUserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List; import java.util.*;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
...@@ -69,6 +71,14 @@ public class ApiClientUserServiceImpl implements ApiClientUserService { ...@@ -69,6 +71,14 @@ public class ApiClientUserServiceImpl implements ApiClientUserService {
ClientUser clientUser = result.getData(); ClientUser clientUser = result.getData();
ApiClientUserDetailResponse response = new ApiClientUserDetailResponse(); ApiClientUserDetailResponse response = new ApiClientUserDetailResponse();
BeanUtils.copyProperties(clientUser,response); BeanUtils.copyProperties(clientUser,response);
response.setBankFileUrlList(StringUtils.isNotBlank(clientUser.getBankFileUrl()) ? Arrays.stream(clientUser.getBankFileUrl().split(";"))
.map(String::trim)
.filter(s -> !s.isEmpty())
.collect(Collectors.toList()) : new ArrayList<>());
response.setIdCardFileUrlList(StringUtils.isNotBlank(clientUser.getIdCardFileUrl()) ? Arrays.stream(clientUser.getIdCardFileUrl().split(";"))
.map(String::trim)
.filter(s -> !s.isEmpty())
.collect(Collectors.toList()) : new ArrayList<>());
return Result.success(response); return Result.success(response);
} }
...@@ -88,11 +98,78 @@ public class ApiClientUserServiceImpl implements ApiClientUserService { ...@@ -88,11 +98,78 @@ public class ApiClientUserServiceImpl implements ApiClientUserService {
response = new ApiClientUserDetailResponse(); response = new ApiClientUserDetailResponse();
ClientUser clientUser = clientUserList.get(0); ClientUser clientUser = clientUserList.get(0);
BeanUtils.copyProperties(clientUser,response); BeanUtils.copyProperties(clientUser,response);
response.setBankFileUrlList(StringUtils.isNotBlank(clientUser.getBankFileUrl()) ? Arrays.stream(clientUser.getBankFileUrl().split(";"))
.map(String::trim)
.filter(s -> !s.isEmpty())
.collect(Collectors.toList()) : new ArrayList<>());
response.setIdCardFileUrlList(StringUtils.isNotBlank(clientUser.getIdCardFileUrl()) ? Arrays.stream(clientUser.getIdCardFileUrl().split(";"))
.map(String::trim)
.filter(s -> !s.isEmpty())
.collect(Collectors.toList()) : new ArrayList<>());
} }
return Result.success(response); return Result.success(response);
} }
/** /**
* 保存客户端用户信息(新增或者编辑)
* @return
*/
@Override
public Result<ApiClientUserSaveResponse> save(ApiClientUserSaveRequest request) {
if (StringUtils.isNotBlank(request.getClientUserBizId())) {
//客户端用户表唯一业务ID不为空做编辑更新
ClientUser clientUser = iClientUserService.queryOne(request.getClientUserBizId());
if (Objects.isNull(clientUser)) {
throw new BusinessException("客户端用户信息不存在");
}
BeanUtils.copyProperties(request,clientUser);
clientUser.setBankFileUrl(!CollectionUtils.isEmpty(request.getBankFileUrlList()) ? String.join(";",request.getBankFileUrlList()) : "");
clientUser.setIdCardFileUrl(!CollectionUtils.isEmpty(request.getIdCardFileUrlList()) ? String.join(";",request.getIdCardFileUrlList()) : "");
iClientUserService.saveOrUpdate(clientUser);
}else {
//为空做新增
ClientUser clientUser = new ClientUser();
BeanUtils.copyProperties(request,clientUser);
clientUser.setClientUserBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_CLIENT_USER.getCode()));
clientUser.setBankFileUrl(!CollectionUtils.isEmpty(request.getBankFileUrlList()) ? String.join(";",request.getBankFileUrlList()) : "");
clientUser.setIdCardFileUrl(!CollectionUtils.isEmpty(request.getIdCardFileUrlList()) ? String.join(";",request.getIdCardFileUrlList()) : "");
iClientUserService.saveOrUpdate(clientUser);
}
return Result.success();
}
/**
* 编辑-客户端用户审批状态
* @return
*/
@Override
public Result editApprovalStatus(ApiClientUserEditApprovalStatusRequest request) {
ClientUser clientUser = iClientUserService.queryOne(request.getClientUserBizId());
if (Objects.isNull(clientUser)) {
throw new BusinessException("客户端用户信息不存在");
}
clientUser.setApprovalStatus(request.getApprovalStatus());
clientUser.setRemark(request.getRemark());
iClientUserService.saveOrUpdate(clientUser);
return Result.success();
}
/**
* 编辑-客户端用户openId
* @return
*/
@Override
public Result editOpenId(String clientUserBizId, String openId) {
ClientUser clientUser = iClientUserService.queryOne(clientUserBizId);
if (Objects.isNull(clientUser)) {
throw new BusinessException("客户端用户信息不存在");
}
clientUser.setOpenId(openId);
iClientUserService.saveOrUpdate(clientUser);
return Result.success();
}
/**
* 同步sys_user系统用户,批量更新客户端用户表数据 * 同步sys_user系统用户,批量更新客户端用户表数据
* @param userBizIdList * @param userBizIdList
* @param tenantBizId * @param tenantBizId
......
...@@ -3,17 +3,16 @@ package com.yd.user.feign.client.clientuser; ...@@ -3,17 +3,16 @@ package com.yd.user.feign.client.clientuser;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.user.feign.fallback.clientuser.ApiClientUserFeignFallbackFactory; import com.yd.user.feign.fallback.clientuser.ApiClientUserFeignFallbackFactory;
import com.yd.user.feign.request.clientuser.ApiClientUserDetailBodyRequest; import com.yd.user.feign.request.clientuser.ApiClientUserDetailBodyRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserEditApprovalStatusRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserPageRequest; import com.yd.user.feign.request.clientuser.ApiClientUserPageRequest;
import com.yd.user.feign.request.sysuser.ApiSysUserDetailBodyRequest; import com.yd.user.feign.request.clientuser.ApiClientUserSaveRequest;
import com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse; import com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse;
import com.yd.user.feign.response.sysuser.ApiSysUserDetailResponse; import com.yd.user.feign.response.clientuser.ApiClientUserSaveResponse;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
/** /**
...@@ -41,9 +40,31 @@ public interface ApiClientUserFeignClient { ...@@ -41,9 +40,31 @@ public interface ApiClientUserFeignClient {
Result<ApiClientUserDetailResponse> detail(@NotBlank(message = "客户端用户表唯一业务ID不能为空") @RequestParam(value = "clientUserBizId") String clientUserBizId); Result<ApiClientUserDetailResponse> detail(@NotBlank(message = "客户端用户表唯一业务ID不能为空") @RequestParam(value = "clientUserBizId") String clientUserBizId);
/** /**
* 获取客户端用户详情 body入参 * 查询-客户端用户详情 body入参
* @return * @return
*/ */
@PostMapping("/body/detail") @PostMapping("/body/detail")
Result<ApiClientUserDetailResponse> detail(@Validated @RequestBody ApiClientUserDetailBodyRequest request); Result<ApiClientUserDetailResponse> detail(@Validated @RequestBody ApiClientUserDetailBodyRequest request);
/**
* 保存-客户端用户信息(新增或者编辑)
* @return
*/
@PostMapping("/save")
Result<ApiClientUserSaveResponse> save(@Validated @RequestBody ApiClientUserSaveRequest request);
/**
* 编辑-客户端用户审批状态
* @return
*/
@PutMapping("/edit/approvalStatus")
Result editApprovalStatus(@Validated @RequestBody ApiClientUserEditApprovalStatusRequest request);
/**
* 编辑-客户端用户openId
* @return
*/
@PutMapping("/edit/openId")
Result editOpenId(@NotBlank(message = "客户端用户表唯一业务ID不能为空") @RequestParam(value = "clientUserBizId") String clientUserBizId,
@NotBlank(message = "openId不能为空") @RequestParam(value = "openId") String openId);
} }
...@@ -3,8 +3,11 @@ package com.yd.user.feign.fallback.clientuser; ...@@ -3,8 +3,11 @@ package com.yd.user.feign.fallback.clientuser;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.user.feign.client.clientuser.ApiClientUserFeignClient; import com.yd.user.feign.client.clientuser.ApiClientUserFeignClient;
import com.yd.user.feign.request.clientuser.ApiClientUserDetailBodyRequest; import com.yd.user.feign.request.clientuser.ApiClientUserDetailBodyRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserEditApprovalStatusRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserPageRequest; import com.yd.user.feign.request.clientuser.ApiClientUserPageRequest;
import com.yd.user.feign.request.clientuser.ApiClientUserSaveRequest;
import com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse; import com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse;
import com.yd.user.feign.response.clientuser.ApiClientUserSaveResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -34,6 +37,21 @@ public class ApiClientUserFeignFallbackFactory implements FallbackFactory<ApiCli ...@@ -34,6 +37,21 @@ public class ApiClientUserFeignFallbackFactory implements FallbackFactory<ApiCli
public Result<ApiClientUserDetailResponse> detail(ApiClientUserDetailBodyRequest request) { public Result<ApiClientUserDetailResponse> detail(ApiClientUserDetailBodyRequest request) {
return null; return null;
} }
@Override
public Result<ApiClientUserSaveResponse> save(ApiClientUserSaveRequest request) {
return null;
}
@Override
public Result editApprovalStatus(ApiClientUserEditApprovalStatusRequest request) {
return null;
}
@Override
public Result editOpenId(String clientUserBizId,String openId) {
return null;
}
}; };
} }
} }
package com.yd.user.feign.request.clientuser;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class ApiClientUserEditApprovalStatusRequest {
/**
* 客户端用户表唯一业务ID
*/
@NotBlank(message = "客户端用户表唯一业务ID不能为空")
private String clientUserBizId;
/**
* 审批状态
*/
@NotBlank(message = "审批状态不能为空")
private String approvalStatus;
/**
* 通用备注
*/
private String remark;
}
...@@ -4,6 +4,8 @@ import com.yd.common.dto.PageDto; ...@@ -4,6 +4,8 @@ import com.yd.common.dto.PageDto;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class ApiClientUserPageRequest extends PageDto { public class ApiClientUserPageRequest extends PageDto {
...@@ -39,4 +41,14 @@ public class ApiClientUserPageRequest extends PageDto { ...@@ -39,4 +41,14 @@ public class ApiClientUserPageRequest extends PageDto {
* 审批状态 * 审批状态
*/ */
private String approvalStatus; private String approvalStatus;
/**
* 客户端用户邀请码
*/
private String invitationCode;
/**
* 客户端用户ID列表
*/
private List<String> clientUserBizIdList;
} }
package com.yd.user.feign.request.clientuser;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;
@Data
public class ApiClientUserSaveRequest {
/**
* 客户端用户表唯一业务ID 有值做编辑,无值做新增
*/
private String clientUserBizId;
/**
* 头像
*/
private String avatar;
/**
* 姓名
*/
@NotBlank(message = "姓名不能为空")
private String name;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空")
@Pattern(regexp = "^(?:(?:\\+|00)86)?1[3-9]\\d{9}$", message = "手机号格式不正确")
private String phone;
/**
* 邮箱
*/
private String email;
/**
* 证件类型
*/
@NotBlank(message = "证件类型不能为空")
private String idCardType;
/**
* 证件号码
*/
@NotBlank(message = "证件号码不能为空")
private String idCardNumber;
/**
* 证件文件url列表
*/
@NotEmpty(message = "证件文件url列表不能为空")
private List<String> idCardFileUrlList;
/**
* 银行卡号
*/
@NotBlank(message = "银行卡号不能为空")
private String bankNumber;
/**
* 开户行
*/
@NotBlank(message = "开户行不能为空")
private String openBank;
/**
* 银行卡文件url列表
*/
@NotEmpty(message = "银行卡文件url列表不能为空")
private List<String> bankFileUrlList;
/**
* 登录密码
*/
private String password;
/**
* 客户端用户邀请码
*/
private String invitationCode;
/**
* 状态(0:停用 1:启用)
*/
@NotNull(message = "状态不能为空")
private Integer status;
/**
* 审批状态
*/
@NotBlank(message = "审批状态不能为空")
private String approvalStatus;
/**
* 注册来源(PC、小程序等)默认小程序 - MINI_PROGRAM
*/
@NotBlank(message = "注册来源不能为空")
private String registerSource;
/**
* 所属租户唯一业务ID(冗余)
*/
@NotBlank(message = "所属租户唯一业务ID不能为空")
private String tenantBizId;
/**
* 所属项目唯一业务ID(冗余)
*/
@NotBlank(message = "所属项目唯一业务ID不能为空")
private String projectBizId;
/**
* 小程序的openId
*/
private String openId;
}
...@@ -2,6 +2,7 @@ package com.yd.user.feign.response.clientuser; ...@@ -2,6 +2,7 @@ package com.yd.user.feign.response.clientuser;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@Data @Data
public class ApiClientUserDetailResponse { public class ApiClientUserDetailResponse {
...@@ -105,4 +106,40 @@ public class ApiClientUserDetailResponse { ...@@ -105,4 +106,40 @@ public class ApiClientUserDetailResponse {
* 更新时间 * 更新时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime;
/**
* 头像
*/
private String avatar;
/**
* 证件文件url列表
*/
private List<String> idCardFileUrlList;
/**
* 银行卡号
*/
private String bankNumber;
/**
* 开户行
*/
private String openBank;
/**
* 银行卡文件url列表
*/
private List<String> bankFileUrlList;
/**
* 注册来源(PC、小程序等)默认小程序 - MINI_PROGRAM
*/
private String registerSource;
/**
* 小程序的openId
*/
private String openId;
} }
...@@ -85,4 +85,9 @@ public class ApiClientUserPageResponse { ...@@ -85,4 +85,9 @@ public class ApiClientUserPageResponse {
* 更新时间 * 更新时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime;
/**
* 小程序的openId
*/
private String openId;
} }
package com.yd.user.feign.response.clientuser;
import lombok.Data;
@Data
public class ApiClientUserSaveResponse {
/**
* 主键ID
*/
private Long id;
/**
* 客户端用户表唯一业务ID
*/
private String clientUserBizId;
}
...@@ -145,6 +145,12 @@ public class ClientUser implements Serializable { ...@@ -145,6 +145,12 @@ public class ClientUser implements Serializable {
private String userBizId; private String userBizId;
/** /**
* 小程序的openId
*/
@TableField("open_id")
private String openId;
/**
* 通用备注 * 通用备注
*/ */
@TableField("remark") @TableField("remark")
......
...@@ -25,6 +25,16 @@ ...@@ -25,6 +25,16 @@
<if test="request.phone != null and request.phone != ''"> <if test="request.phone != null and request.phone != ''">
and cu.phone = #{request.phone} and cu.phone = #{request.phone}
</if> </if>
<if test="request.invitationCode != null and request.invitationCode != ''">
and cu.invitation_code = #{request.invitationCode}
</if>
<if test="request.clientUserBizIdList != null and request.clientUserBizIdList.size > 0">
and cu.client_user_biz_id in
<foreach collection="request.clientUserBizIdList" item="item" index="index" open="(" separator=","
close=")">
#{item}
</foreach>
</if>
and cu.is_deleted = 0 and cu.is_deleted = 0
</where> </where>
order by cu.create_time desc order by cu.create_time desc
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment