Commit 8575dbee by tang

分润,部分校验等

parent a16cc3e6
package com.thinkgem.jeesite.modules.pay.api; package com.thinkgem.jeesite.modules.pay.api;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.thinkgem.jeesite.common.baseBean.Request;
import com.thinkgem.jeesite.common.baseBean.Response; import com.thinkgem.jeesite.common.baseBean.Response;
import com.thinkgem.jeesite.common.constant.ComCode; import com.thinkgem.jeesite.common.constant.ComCode;
import com.thinkgem.jeesite.common.utils.IdGen;
import com.thinkgem.jeesite.modules.commonError.MyException; import com.thinkgem.jeesite.modules.commonError.MyException;
import com.thinkgem.jeesite.modules.pay.entity.BalanceEntity; import com.thinkgem.jeesite.modules.pay.entity.BalanceEntity;
import com.thinkgem.jeesite.modules.pay.entity.OrderEntity; import com.thinkgem.jeesite.modules.pay.entity.OrderEntity;
...@@ -30,6 +32,7 @@ import javax.servlet.http.HttpServletResponse; ...@@ -30,6 +32,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.text.DecimalFormat;
import java.util.*; import java.util.*;
/** /**
...@@ -664,4 +667,36 @@ public class PayApiController { ...@@ -664,4 +667,36 @@ public class PayApiController {
return resp; return resp;
} }
/**
* 测试分润
* @param request
* @return
*/
@PostMapping("/testBenefit")
public Response testBenefit(JuHeZhongPayRequest request){
Response resp = new Response();
try {
// UserEntity userEntity, OrderEntity orderEntity, String code, JuHeZhongPayRequest request
Request re = new Request();
re.setSubMerchantCode(request.getSubMerchantCode());
UserEntity userInfo = userApiService.getUserInfo(re);
// 2. 创建支付订单信息,并保存
String code = IdGen.randomBase62(64);
String payNo = ComCode.YYYYMMDDHHMM.format(new Date()) + IdGen.randomBase62(8); // 订单号
String payCode = IdGen.randomBase62(64);
DecimalFormat df = new DecimalFormat("######0.00");
String amount = df.format(Double.valueOf(request.getAmount()));
// 4. JuHeZhong支付
OrderEntity orderEntity = new OrderEntity(code, request.getSubMerchantCode(), payNo, payCode, "quick", request.getPayChannel(), "1", amount, request.getSubject(), "", "6", request.getCardCode());
payService.addUserBenefits(userInfo,orderEntity,orderEntity.getCode(),request);
resp.setMessage(ComCode.STATUS_CODE_2000_DESC);
resp.setStatus(ComCode.STATUS_CODE_2000);
}catch (Exception e){
resp.setMessage(ComCode.STATUS_CODE_9998_DESC);
resp.setStatus(ComCode.STATUS_CODE_9998);
resp.setError(e.getMessage());
}
return resp;
}
} }
...@@ -37,4 +37,8 @@ public interface PayApiDao { ...@@ -37,4 +37,8 @@ public interface PayApiDao {
//获取不同渠道最新使用的额度 //获取不同渠道最新使用的额度
Double getLastLimit(Map<String, String> map); Double getLastLimit(Map<String, String> map);
//获取用户的费率信息
UserRateEntity getUpUser(Map<String, String> map);
} }
...@@ -9,10 +9,7 @@ import com.thinkgem.jeesite.modules.pay.juhezhong.dto.CommonDto; ...@@ -9,10 +9,7 @@ import com.thinkgem.jeesite.modules.pay.juhezhong.dto.CommonDto;
import com.thinkgem.jeesite.modules.pay.juhezhong.dto.QrCodeDto; import com.thinkgem.jeesite.modules.pay.juhezhong.dto.QrCodeDto;
import com.thinkgem.jeesite.modules.pay.juhezhong.dto.MerchantDto; import com.thinkgem.jeesite.modules.pay.juhezhong.dto.MerchantDto;
import com.thinkgem.jeesite.modules.pay.juhezhong.dto.QuickDto; import com.thinkgem.jeesite.modules.pay.juhezhong.dto.QuickDto;
import com.thinkgem.jeesite.modules.pay.juhezhong.utils.Bean2Map; import com.thinkgem.jeesite.modules.pay.juhezhong.utils.*;
import com.thinkgem.jeesite.modules.pay.juhezhong.utils.JFenHttpUtil;
import com.thinkgem.jeesite.modules.pay.juhezhong.utils.MakeOrderNum;
import com.thinkgem.jeesite.modules.pay.juhezhong.utils.SignUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -27,7 +24,7 @@ import java.util.Map; ...@@ -27,7 +24,7 @@ import java.util.Map;
@Service @Service
@Transactional(readOnly = true) @Transactional(readOnly = true)
public class JuHeZhongPayJFenService { public class JuHeZhongPayJFenService {
private Logger logger = LoggerFactory.getLogger(Logger.class); private Logger logger = LoggerFactory.getLogger(JuHeZhongPayJFenService.class);
/** /**
* 查询订单状态 * 查询订单状态
...@@ -129,6 +126,19 @@ public class JuHeZhongPayJFenService { ...@@ -129,6 +126,19 @@ public class JuHeZhongPayJFenService {
return JSONObject.parseObject(respStr); return JSONObject.parseObject(respStr);
} }
public JSONObject quickPayHandle(JSONObject dto)throws Exception{
dto.put("merchantKey",ComCode.JFEN_MERCHANT_KEY);
dto.put("timestamp",System.currentTimeMillis());
logger.debug("HL2通道请求参数:{}",dto);
String signBefore = SignUtils.signBefore(dto);
String sign = SignUtils.sign(signBefore, ComCode.JFEN_MERCHANT_SECRET);
dto.put("sign", sign);
logger.info("signBefore:{},sign:{}", signBefore,sign);
String respStr = HttpUtil.post(ComCode.HOST + ComCode.JFEN_QUICK_PAY_URL, dto.toJSONString());
System.out.println(respStr);
return JSONObject.parseObject(respStr);
}
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
JuHeZhongPayJFenService juHeZhongPayJFenService = new JuHeZhongPayJFenService(); JuHeZhongPayJFenService juHeZhongPayJFenService = new JuHeZhongPayJFenService();
......
...@@ -14,6 +14,7 @@ import com.thinkgem.jeesite.modules.user.entity.IdentityCodeEntity; ...@@ -14,6 +14,7 @@ import com.thinkgem.jeesite.modules.user.entity.IdentityCodeEntity;
import com.thinkgem.jeesite.modules.user.entity.Level; import com.thinkgem.jeesite.modules.user.entity.Level;
import com.thinkgem.jeesite.modules.user.entity.UserEntity; import com.thinkgem.jeesite.modules.user.entity.UserEntity;
import com.thinkgem.jeesite.modules.user.service.UserApiService; import com.thinkgem.jeesite.modules.user.service.UserApiService;
import org.apache.commons.lang3.math.NumberUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -24,6 +25,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -24,6 +25,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern;
/** /**
* 前端用户相关 * 前端用户相关
...@@ -33,6 +35,9 @@ import java.util.Map; ...@@ -33,6 +35,9 @@ import java.util.Map;
public class UserApiController { public class UserApiController {
/** log */ /** log */
private static Logger logger = LoggerFactory.getLogger(UserApiController.class); private static Logger logger = LoggerFactory.getLogger(UserApiController.class);
/** 手机号码校验 */
private static final Pattern regex = Pattern.compile("^(((1[3-9]))\\d{9})|(0\\d{2}-\\d{8})|(0\\d{3}-\\d{7})$");
@Autowired @Autowired
private UserApiService userService; private UserApiService userService;
...@@ -322,11 +327,20 @@ public class UserApiController { ...@@ -322,11 +327,20 @@ public class UserApiController {
Response resp = new Response(); Response resp = new Response();
try { try {
// 判断业务入参是否为空 // 判断业务入参是否为空
if (StringUtils.isBlank(request.getSubMerchantCode()) || StringUtils.isBlank(request.getIdentityCode()) || StringUtils.isBlank(request.getFunction()) || StringUtils.isBlank(request.getCardType()) || StringUtils.isBlank(request.getCardNo()) || StringUtils.isBlank(request.getCardMobile()) || StringUtils.isBlank(request.getBelongBank()) || StringUtils.isBlank(request.getCardBank())) { if (StringUtils.isBlank(request.getSubMerchantCode()) ||
// StringUtils.isBlank(request.getIdentityCode()) ||
StringUtils.isBlank(request.getFunction()) || StringUtils.isBlank(request.getCardType()) || StringUtils.isBlank(request.getCardNo()) || StringUtils.isBlank(request.getCardMobile()) || StringUtils.isBlank(request.getBelongBank()) || StringUtils.isBlank(request.getCardBank())) {
resp.setStatus(ComCode.STATUS_CODE_4001); resp.setStatus(ComCode.STATUS_CODE_4001);
resp.setMessage(ComCode.STATUS_CODE_4001_DESC); resp.setMessage(ComCode.STATUS_CODE_4001_DESC);
return resp; return resp;
} }
//进行初步校验
if(!NumberUtils.isNumber(request.getCardNo())){
throw new MyException("卡号格式不正确");
}
if(!regex.matcher(request.getCardMobile()).matches()){
throw new MyException("手机号码格式不正确");
}
// 根据手机号 + 使用场景 + 验证码查询 // 根据手机号 + 使用场景 + 验证码查询
request.setMobile(request.getCardMobile()); request.setMobile(request.getCardMobile());
// IdentityCodeEntity identityCodeEntity = userService.getIdentifyCode(request); // IdentityCodeEntity identityCodeEntity = userService.getIdentifyCode(request);
...@@ -433,6 +447,19 @@ public class UserApiController { ...@@ -433,6 +447,19 @@ public class UserApiController {
resp.setMessage(ComCode.STATUS_CODE_4001_DESC); resp.setMessage(ComCode.STATUS_CODE_4001_DESC);
return resp; return resp;
} }
//身份证参数格式校验
if(!verifyIdentityCard(request.getIdCard())){
throw new MyException("身份证号码格式不正确");
}
//进行卡片校验
if(!NumberUtils.isNumber(request.getCardNo())){
throw new MyException("卡号格式不正确");
}
//手机号码校验
if(!regex.matcher(request.getCardMobile()).matches()){
throw new MyException("手机号码格式不正确");
}
// // 根据手机号 + 使用场景 + 验证码查询 // // 根据手机号 + 使用场景 + 验证码查询
// request.setMobile(request.getCardMobile()); // request.setMobile(request.getCardMobile());
// IdentityCodeEntity identityCodeEntity = userService.getIdentifyCode(request); // IdentityCodeEntity identityCodeEntity = userService.getIdentifyCode(request);
...@@ -650,4 +677,12 @@ public class UserApiController { ...@@ -650,4 +677,12 @@ public class UserApiController {
return resp; return resp;
} }
private boolean verifyIdentityCard(String num) {
String reg = "^\\d{15}$|^\\d{17}[0-9Xx]$";
if (!num.matches(reg)) {
return false;
}
return true;
}
} }
...@@ -113,4 +113,6 @@ public interface UserApiDao { ...@@ -113,4 +113,6 @@ public interface UserApiDao {
List<UserEntity> getMyInviting(UserRequest request); List<UserEntity> getMyInviting(UserRequest request);
//激活用户数量 //激活用户数量
public Integer getActiveUserNum(UserRequest request); public Integer getActiveUserNum(UserRequest request);
public Integer checkNoUser();
} }
...@@ -20,6 +20,8 @@ import com.thinkgem.jeesite.modules.user.bean.UserRequest; ...@@ -20,6 +20,8 @@ import com.thinkgem.jeesite.modules.user.bean.UserRequest;
import com.thinkgem.jeesite.modules.user.dao.UserApiDao; import com.thinkgem.jeesite.modules.user.dao.UserApiDao;
import com.thinkgem.jeesite.modules.user.entity.*; import com.thinkgem.jeesite.modules.user.entity.*;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -42,6 +44,8 @@ import java.util.List; ...@@ -42,6 +44,8 @@ import java.util.List;
@Lazy(false) @Lazy(false)
@Transactional @Transactional
public class UserApiService { public class UserApiService {
/** log */
private static Logger logger = LoggerFactory.getLogger(UserApiService.class);
@Autowired @Autowired
private UserApiDao userDao; private UserApiDao userDao;
...@@ -130,11 +134,14 @@ public class UserApiService { ...@@ -130,11 +134,14 @@ public class UserApiService {
} }
@Transactional(readOnly = false) @Transactional(readOnly = false)
public UserEntity signUp(UserRequest request) { public UserEntity signUp(UserRequest request) throws MyException {
// 保存用户信息 // 保存用户信息
String code = IdGen.randomBase62(64); String code = IdGen.randomBase62(64);
UserEntity recommend = userDao.checkRecommend(request); UserEntity recommend = userDao.checkRecommend(request);
UserEntity userEntity = new UserEntity(code, "", request.getMobile(), MD5.sign(request.getNewPassword(), ComCode.signCode, "utf-8"), request.getRecommendedMobile(), ","+recommend.getRecommendedPath() + recommend.getId() + ",", recommend.getBelongTo()); if(recommend==null || userDao.checkNoUser() >0){
throw new MyException("推荐人手机号码不存在");
}
UserEntity userEntity = new UserEntity(code, "", request.getMobile(), MD5.sign(request.getNewPassword(), ComCode.signCode, "utf-8"), request.getRecommendedMobile(), recommend==null?"0"+",":recommend.getRecommendedPath() + recommend.getId() + ",", recommend.getBelongTo());
userDao.signUp(userEntity); userDao.signUp(userEntity);
UserEntity user = userDao.getUserInfo(new Request(code)); UserEntity user = userDao.getUserInfo(new Request(code));
// 以下两行代码应Android要求,增加空detail和card // 以下两行代码应Android要求,增加空detail和card
...@@ -237,12 +244,15 @@ public class UserApiService { ...@@ -237,12 +244,15 @@ public class UserApiService {
// 实名认证 // 实名认证
@Transactional(readOnly = false) @Transactional(readOnly = false)
public void certification(UserRequest request) throws MyException, Exception { public void certification(UserRequest request) throws MyException, Exception {
logger.debug("进入实名认证service");
// 更新用户详情 // 更新用户详情
UserDetailEntity userDetailEntity = new UserDetailEntity(IdGen.randomBase62(64), request.getSubMerchantCode(), request.getRealName(), request.getIdCard(), request.getProvince()+request.getCity(), "", "", "", ""); UserDetailEntity userDetailEntity = new UserDetailEntity(IdGen.randomBase62(64), request.getSubMerchantCode(), request.getRealName(), request.getIdCard(), request.getProvince()+request.getCity(), "", "", "", "");
if (userDao.getUserDetailByCode(new UserEntity(request.getSubMerchantCode())) == null) { if (userDao.getUserDetailByCode(new UserEntity(request.getSubMerchantCode())) == null) {
userDao.saveUserDetail(userDetailEntity); userDao.saveUserDetail(userDetailEntity);
logger.debug("存完userdetail信息");
} else { } else {
userDao.updateUserDetail(userDetailEntity); userDao.updateUserDetail(userDetailEntity);
logger.debug("修改完userdetail信息");
} }
// 为用户卡注册subMerchantId // 为用户卡注册subMerchantId
String type = "1"; // 默认将卡片添加为对私 String type = "1"; // 默认将卡片添加为对私
...@@ -255,6 +265,7 @@ public class UserApiService { ...@@ -255,6 +265,7 @@ public class UserApiService {
// 更新银行卡详情 // 更新银行卡详情
CardEntity cardStatusEntity = new CardEntity(request.getSubMerchantCode(), "N"); CardEntity cardStatusEntity = new CardEntity(request.getSubMerchantCode(), "N");
userDao.updateCardStatus(cardStatusEntity); userDao.updateCardStatus(cardStatusEntity);
logger.debug("修改完银行卡信息");
CardEntity cardEntity = new CardEntity(IdGen.randomBase62(64), request.getSubMerchantCode(), "D", request.getCardNo(), request.getCardMobile(), request.getBelongBank(), request.getCardBank(), request.getCardPlace(), "Y", subMerchantId, "", type, status, request.getProvince(), request.getCity()); CardEntity cardEntity = new CardEntity(IdGen.randomBase62(64), request.getSubMerchantCode(), "D", request.getCardNo(), request.getCardMobile(), request.getBelongBank(), request.getCardBank(), request.getCardPlace(), "Y", subMerchantId, "", type, status, request.getProvince(), request.getCity());
userDao.addNewCard(cardEntity); userDao.addNewCard(cardEntity);
...@@ -267,10 +278,14 @@ public class UserApiService { ...@@ -267,10 +278,14 @@ public class UserApiService {
// 与实名用户的推荐人,推荐了4名及以上人员实名 // 与实名用户的推荐人,推荐了4名及以上人员实名
if (countRecommend.size() >= 4) { if (countRecommend.size() >= 4) {
String[] recommendPath = countRecommend.get(0).getRecommendedPath().split(","); String[] recommendPath = countRecommend.get(0).getRecommendedPath().split(",");
UserEntity recommendedUser = userDao.getUserInfoById(recommendPath[recommendPath.length - 1]); UserEntity recommendedUser = userDao.getUserInfoById(recommendPath[recommendPath.length - 1]);
recommendedUser.setLevel("D"); // 实名用户的推荐人等级由E(青铜)升为D(白银)
// 实名用户的推荐人等级由E(青铜)升为D(白银) if (recommendedUser.getLevel().equals("E")){
userDao.updateUserLevel(recommendedUser); recommendedUser.setLevel("D");
userDao.updateUserLevel(recommendedUser);
}
RateEntity rateEntityParam = new RateEntity(); RateEntity rateEntityParam = new RateEntity();
rateEntityParam.setUserLevel("D"); rateEntityParam.setUserLevel("D");
...@@ -371,10 +386,11 @@ public class UserApiService { ...@@ -371,10 +386,11 @@ public class UserApiService {
userEntity.setCode(request.getSubMerchantCode()); userEntity.setCode(request.getSubMerchantCode());
userEntity.setStatus("2");//根据第三方接口返回信息更改用户状态 userEntity.setStatus("2");//根据第三方接口返回信息更改用户状态
userDao.updateUserInfo(userEntity); userDao.updateUserInfo(userEntity);
logger.debug("更新用户信息完成");
userSubMchIdRequest.setPayChannel(ComCode.PAYCHANNEL_HL2); userSubMchIdRequest.setPayChannel(ComCode.PAYCHANNEL_HL2);
userSubMchIdRequest.setSubmchid(JFenSubMchId); userSubMchIdRequest.setSubmchid(JFenSubMchId);
this.addUserSubmchid(userSubMchIdRequest); this.addUserSubmchid(userSubMchIdRequest);
logger.debug("添加用户submchid完成");
rate.setPayChannel(ComCode.PAYCHANNEL_HL2); rate.setPayChannel(ComCode.PAYCHANNEL_HL2);
rate.setPayMethod("quick");//全部写死是quick rate.setPayMethod("quick");//全部写死是quick
RateEntity rateEntity = this.getRateByLevel(rate); RateEntity rateEntity = this.getRateByLevel(rate);
...@@ -504,6 +520,7 @@ public class UserApiService { ...@@ -504,6 +520,7 @@ public class UserApiService {
// JFen 商户入网 // JFen 商户入网
public String merchantInJFenJuhezhong(UserRequest request) throws MyException, Exception { public String merchantInJFenJuhezhong(UserRequest request) throws MyException, Exception {
logger.debug("开始商户入网");
UserEntity userEntity = userDao.getUserInfo(request); UserEntity userEntity = userDao.getUserInfo(request);
BelongBankEntity belongBankEntity = userDao.getBelongBankEntity(request); BelongBankEntity belongBankEntity = userDao.getBelongBankEntity(request);
if (userEntity == null) { if (userEntity == null) {
...@@ -543,8 +560,10 @@ public class UserApiService { ...@@ -543,8 +560,10 @@ public class UserApiService {
JSONObject jsonObject = juHeZhongPayJFenService.merchantIn(dto); JSONObject jsonObject = juHeZhongPayJFenService.merchantIn(dto);
if (!"0000".equals(jsonObject.getString("code"))) { if (!"0000".equals(jsonObject.getString("code"))) {
logger.debug("商户入网失败,jsonObject: {} "+jsonObject);
throw new MyException(jsonObject.getString("msg")); throw new MyException(jsonObject.getString("msg"));
} }
logger.debug("商户入网完成");
return jsonObject.getString("subMchId"); return jsonObject.getString("subMchId");
} }
...@@ -574,6 +593,7 @@ public class UserApiService { ...@@ -574,6 +593,7 @@ public class UserApiService {
* @throws Exception * @throws Exception
*/ */
public void merchantFeelJFen(String subMchId, RateEntity rateEntity) throws MyException, Exception { public void merchantFeelJFen(String subMchId, RateEntity rateEntity) throws MyException, Exception {
logger.debug("进入增加或修改支付用户费率开始");
// 修改费率 // 修改费率
JSONObject dto = new JSONObject(); JSONObject dto = new JSONObject();
dto.put("subMchId",subMchId); dto.put("subMchId",subMchId);
...@@ -588,8 +608,10 @@ public class UserApiService { ...@@ -588,8 +608,10 @@ public class UserApiService {
} }
if (!"0000".equals(jsonObject.getString("code"))) { if (!"0000".equals(jsonObject.getString("code"))) {
logger.debug("增加或修改用户费率失败, jsonObject: {}",jsonObject);
throw new MyException(jsonObject.getString("msg")); throw new MyException(jsonObject.getString("msg"));
} }
logger.debug("增加或修改用户费率结束");
} }
/** /**
......
...@@ -126,7 +126,9 @@ ...@@ -126,7 +126,9 @@
<select id="getBenefitSum" resultType="com.thinkgem.jeesite.modules.pay.entity.BenefitEntity"> <select id="getBenefitSum" resultType="com.thinkgem.jeesite.modules.pay.entity.BenefitEntity">
SELECT SELECT
SUM(b.amount) AS amount CAST(
sum(b.amount) AS DECIMAL (19, 3)
) AS amount
FROM youka_benefit b FROM youka_benefit b
LEFT JOIN youka_orders o ON o.`code` = b.order_code LEFT JOIN youka_orders o ON o.`code` = b.order_code
WHERE b.user_code = #{userCode} WHERE b.user_code = #{userCode}
...@@ -189,4 +191,18 @@ ...@@ -189,4 +191,18 @@
AND update_date >= date(now()) AND update_date >= date(now())
AND update_date &lt; DATE_ADD(date(now()), INTERVAL 1 DAY) AND update_date &lt; DATE_ADD(date(now()), INTERVAL 1 DAY)
</select> </select>
<select id="getUpUser" resultType="com.thinkgem.jeesite.modules.pay.entity.UserRateEntity">
SELECT
yu.code AS userCode,
yu.level AS userLevel,
yr.rate AS rate
FROM
youka_users yu
LEFT JOIN youka_rate yr ON yu.level = yr.user_level AND yr.pay_method = 'quick'
WHERE
yu.id = #{id}
AND
yr.pay_channel = #{pay_channel}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
FROM FROM
youka_users yu youka_users yu
WHERE WHERE
yu.recommended_mobile = #{recommendedMobile} yu.mobile = #{recommendedMobile}
LIMIT 1 LIMIT 1
</select> </select>
...@@ -925,4 +925,10 @@ ...@@ -925,4 +925,10 @@
recommended_mobile = (SELECT mobile FROM youka_users WHERE code = #{subMerchantCode}) recommended_mobile = (SELECT mobile FROM youka_users WHERE code = #{subMerchantCode})
</select> </select>
<select id="checkNoUser" resultType="java.lang.Integer">
SELECT
COUNT (id)
FROM
youka_users
</select>
</mapper> </mapper>
\ No newline at end of file
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