Explorar el Código

调整发票及地址的逻辑

yuj hace 7 años
padre
commit
47a2f633f5

+ 1 - 27
src/main/java/com/uas/platform/b2c/fa/payment/controller/BankInfoController.java

@@ -212,32 +212,6 @@ public class BankInfoController {
 		return bankInfoService.getEnterpriseBankInfoContainsStatus(Type.MALL.value(), Status.ALLOW.value(), sysConf.getEnUU());
 		return bankInfoService.getEnterpriseBankInfoContainsStatus(Type.MALL.value(), Status.ALLOW.value(), sysConf.getEnUU());
 	}
 	}
 
 
-	/**
-	 * 获取管理平台个人的银行信息,
-	 * 默认 根据应鹏的UU匹配
-	 *
-	 * @return list
-	 */
-	@RequestMapping(value="/b2c/personal", method = RequestMethod.GET, params = "type=mall")
-	@ApiOperation(value = "获取管理平台个人的银行信息", httpMethod = "GET")
-	public List<BankInfo> getAdminPersonBankInfo() {
-		logger.log("银行账户信息", "获取管理平台的个人银行账户信息");
-		return bankInfoService.findBankInfoByUseruu(sysConf.getAdminUU(), sysConf.getEnUU() ,Type.MALL.value());
-	}
-
-	/**
-	 * 保存平台的企业账户
-	 * 默认  10030994
-	 *
-	 * @param bankInfo the bank info
-	 */
-	@RequestMapping(value="/b2c/enterprise/save", method = RequestMethod.POST, params = "type=mall")
-	@ApiOperation(value = "保存平台的企业账户", httpMethod = "POST")
-	public void saveAdminEnterBankInfo(@ApiParam(required = true, value = "银行账户信息") @RequestBody BankInfo bankInfo) {
-		logger.log("银行账户信息", "保存平台企业账户信息", "保存银行账号为:"+ bankInfo.getNumber() + ",开户人:" + bankInfo.getAccountname() +",操作人:"+ SystemSession.getUser().getUserUU());
-		bankInfoService.saveB2cAccount(bankInfo, Type.MALL.value(), false);
-	}
-
 	/**
 	/**
 	 * 保存平台的个人账户
 	 * 保存平台的个人账户
 	 * 默认  以应鹏的useruu保存
 	 * 默认  以应鹏的useruu保存
@@ -248,7 +222,7 @@ public class BankInfoController {
 	@ApiOperation(value = "保存平台的个人账户", httpMethod = "POST")
 	@ApiOperation(value = "保存平台的个人账户", httpMethod = "POST")
 	public void saveAdminPersonBankInfo(@ApiParam(required = true, value = "银行账户信息") @RequestBody BankInfo bankInfo) {
 	public void saveAdminPersonBankInfo(@ApiParam(required = true, value = "银行账户信息") @RequestBody BankInfo bankInfo) {
 		logger.log("银行账户信息", "保存平台个人账户信息", "保存银行账号为:"+ bankInfo.getNumber() +",开户人:"+ bankInfo.getAccountname() +", 操作人:"+ SystemSession.getUser().getUserUU());
 		logger.log("银行账户信息", "保存平台个人账户信息", "保存银行账号为:"+ bankInfo.getNumber() +",开户人:"+ bankInfo.getAccountname() +", 操作人:"+ SystemSession.getUser().getUserUU());
-		bankInfoService.saveB2cAccount(bankInfo, Type.MALL.value(), true);
+		bankInfoService.save(bankInfo, Type.MALL.value());
 	}
 	}
 
 
 	/**
 	/**

+ 32 - 58
src/main/java/com/uas/platform/b2c/fa/payment/dao/BankInfoDao.java

@@ -34,10 +34,17 @@ public interface BankInfoDao extends CrudRepository<BankInfo, Long>, JpaSpecific
 	 * 返回账户信息,兼容type版本
 	 * 返回账户信息,兼容type版本
 	 * @param enuu
 	 * @param enuu
 	 * @param status
 	 * @param status
-	 * @param opraterUserType
 	 * @return
 	 * @return
 	 */
 	 */
-	List<BankInfo> findByEnuuAndStatusAndOpraterUserTypeAndAccountTypeOrderByNumAsc(Long enuu, Integer status, Integer opraterUserType, String accountType);
+	List<BankInfo> findByEnuuAndStatusAndAccountTypeAndDissociativeOrderByNumAsc(Long enuu, Integer status, String accountType, Integer dissociative);
+
+
+	/**
+	 * 返回账户信息,兼容type版本
+	 * @param enuu
+	 * @return
+	 */
+	List<BankInfo> findByEnuuAndAccountTypeAndDissociativeOrderByNumAsc(Long enuu, String accountType, Integer dissociative);
 
 
 	/**
 	/**
 	 * 根据下面参数获取企业账户信息
 	 * 根据下面参数获取企业账户信息
@@ -45,19 +52,19 @@ public interface BankInfoDao extends CrudRepository<BankInfo, Long>, JpaSpecific
 	 * @param opraterUserType 所属类型 买家 卖家,平台
 	 * @param opraterUserType 所属类型 买家 卖家,平台
 	 * @return list
 	 * @return list
 	 */
 	 */
-	@Query(value = "select b from BankInfo b where b.enuu =:enuu and b.opraterUserType=:opraterUserType order by num")
-	List<BankInfo> findByEnuuAndOpraterUserTypeOrderByNumAsc(@Param("enuu") Long enuu, @Param("opraterUserType") Integer opraterUserType);
+//	@Query(value = "select b from BankInfo b where b.enuu =:enuu and b.opraterUserType=:opraterUserType order by num")
+//	List<BankInfo> findByEnuuAndOpraterUserTypeOrderByNumAsc(@Param("enuu") Long enuu, @Param("opraterUserType") Integer opraterUserType);
 
 
 	/**
 	/**
 	 * 根据下面参数获取企业账户信息
 	 * 根据下面参数获取企业账户信息
 	 *
 	 *
 	 * @param useruu 个人uu
 	 * @param useruu 个人uu
-	 * @param enuu 企业enuu
-	 * @param opraterUserType 操作人的类型
+	 * @param accountType 收付款账户类型
+	 * @param dissociative 操作人的类型
 	 * @param status 状态
 	 * @param status 状态
 	 * @return list
 	 * @return list
 	 */
 	 */
-	List<BankInfo> findByUseruuAndEnuuAndOpraterUserTypeAndStatusOrderByNumAsc(Long useruu, Long enuu, Integer opraterUserType, Integer status);
+	List<BankInfo> findByUseruuAndAccountTypeAndDissociativeAndStatusOrderByNumAsc(Long useruu, String accountType, Integer dissociative, Integer status);
 
 
 
 
 	/**
 	/**
@@ -66,101 +73,68 @@ public interface BankInfoDao extends CrudRepository<BankInfo, Long>, JpaSpecific
 	 * @param useruu 个人uu
 	 * @param useruu 个人uu
 	 * @param accountType 收付款账户类型
 	 * @param accountType 收付款账户类型
 	 * @param dissociative 操作人的类型
 	 * @param dissociative 操作人的类型
-	 * @param status 状态
 	 * @return list
 	 * @return list
 	 */
 	 */
-	List<BankInfo> findByUseruuAndAccountTypeAndDissociativeAndStatusOrderByNumAsc(Long useruu, String accountType, Integer dissociative, Integer status);
+	List<BankInfo> findByUseruuAndAccountTypeAndDissociativeOrderByNumAsc(Long useruu, String accountType, Integer dissociative);
 
 
-	/**
-	 * 返回买家账户信息列表  --无enuu
-	 *
-	 * @param useruu
-	 * @param dissociative
-	 * @param operateUserType
-	 * @param status
-	 * @return
-	 */
-	List<BankInfo> findByUseruuAndDissociativeAndOpraterUserTypeAndStatusAndAccountTypeOrderByNumAsc(Long useruu, Integer dissociative, Integer operateUserType, String accountType, Integer status);
 
 
 	/**
 	/**
-	 * 获取买家账户数 --有enuu
+	 * 获取企业的对应账户统计
 	 *
 	 *
-	 * @param useruu 个人uu
 	 * @param enuu 企业enuu
 	 * @param enuu 企业enuu
-	 * @param operateUserType 操作人的类型
-	 * @param status 状态
-	 * @return int 返回总数
+	 * @return
 	 */
 	 */
-	@Query("select count(b) from BankInfo b where b.useruu=:useruu and b.enuu =:enuu and b.opraterUserType=:operateUserType and b.status =:status")
-	int getCountByUseruuAndStatus(@Param("useruu") Long useruu, @Param("enuu") Long enuu, @Param("operateUserType") Integer operateUserType, @Param("status") Integer status);
+	@Query("select count(b) from BankInfo b where b.enuu=:enuu and b.dissociative=:dissociative and b.status in :status and b.accountType =:accountType")
+	int getCountByEnuuAndStatusAndDissociativeAndAccountType(@Param("enuu") Long enuu, @Param("status") List<Integer> status, @Param("dissociative") Integer dissociative, @Param("accountType") String accountType);
 
 
-	/**
-	 * 获取买家账户数 --无enuu
-	 *
-	 * @param useruu 个人uu
-	 * @param dissociative 个人用户
-	 * @param operateUserType 操作人类型
-	 * @param status 状态
-	 * @return int 返回总数
-	 */
-	@Query("select count(b) from BankInfo b where b.useruu=:useruu and b.dissociative=:dissociative and b.opraterUserType=:operateUserType and b.status =:status and b.accountType=:accountType")
-	int getCountByUseruuAndStatusAndDissociativeAndAccountType(@Param("useruu") Long useruu, @Param("dissociative") Integer dissociative, @Param("operateUserType") Integer operateUserType, @Param("status") Integer status, @Param("accountType") String accountType);
 
 
 	/**
 	/**
-	 * 获取卖家的企业账户数
+	 * 获取个人的对应账户统计
 	 *
 	 *
-	 * @param enuu 企业enuu
-	 * @param operateUserType 操作人的类型
+	 * @param useruu 企业useruu
 	 * @return
 	 * @return
 	 */
 	 */
-	@Query("select count(b) from BankInfo b where b.enuu=:enuu and b.opraterUserType=:operateUserType and b.status in :status and b.accountType =:accountType")
-	int getCountByEnuuAndStatusAndAccountType(@Param("enuu") Long enuu, @Param("operateUserType") Integer operateUserType, @Param("status") List<Integer> status, @Param("accountType") String accountType);
+	@Query("select count(b) from BankInfo b where b.useruu=:useruu and b.status in :status and b.dissociative=:dissociative and b.accountType =:accountType")
+	int getCountByUseruuAndStatusAndDissociativeAndAccountType(@Param("useruu") Long useruu, @Param("status") List<Integer> status, @Param("dissociative") Integer dissociative, @Param("accountType") String accountType);
 
 
 	/**
 	/**
 	 * 获取平台的账户数
 	 * 获取平台的账户数
 	 *
 	 *
 	 * @param enuu 企业enuu
 	 * @param enuu 企业enuu
-	 * @param operateUserType 操作人的类型
 	 * @return
 	 * @return
 	 */
 	 */
-	@Query("select count(b) from BankInfo b where b.enuu=:enuu and b.opraterUserType=:operateUserType and b.status=:status")
-	int getMallCountByEnuuAndStatus(@Param("enuu") Long enuu, @Param("operateUserType") Integer operateUserType, @Param("status") Integer status);
+	@Query("select count(b) from BankInfo b where b.enuu =:enuu and b.dissociative=:dissociative and b.status=:status")
+	int getMallCountByEnuuAndStatus(@Param("enuu") Long enuu, @Param("dissociative") Integer dissociative, @Param("status") Integer status);
 
 
 	/**
 	/**
 	 * 根据银行账号查询个人账号下的账户个数
 	 * 根据银行账号查询个人账号下的账户个数
 	 * @param useruu
 	 * @param useruu
-	 * @param enuu
-	 * @param opraterUserType
+	 * @param dissociative
 	 * @param status
 	 * @param status
 	 * @param number
 	 * @param number
 	 * @return
 	 * @return
 	 */
 	 */
-	@Query("select count(b) from BankInfo b where b.useruu=:useruu and b.enuu=:enuu and b.opraterUserType=:opraterUserType and b.status=:status and b.number=:number")
-	int getBuyerCountByNumberAndEnuu(@Param("useruu") Long useruu, @Param("enuu") Long enuu, @Param("opraterUserType") Integer opraterUserType, @Param("status") Integer status, @Param("number") String number);
+	@Query("select count(b) from BankInfo b where b.useruu=:useruu and b.dissociative=:dissociative and b.status=:status and b.number=:number")
+	int getBuyerCountByNumberAndDissociative(@Param("useruu") Long useruu, @Param("dissociative") Integer dissociative, @Param("status") Integer status, @Param("number") String number);
 
 
 	/**
 	/**
 	 * 根据银行账号查询个人账号下的账户个数
 	 * 根据银行账号查询个人账号下的账户个数
-	 * @param useruu
+	 * @param enuu
 	 * @param dissociative
 	 * @param dissociative
 	 * @param status
 	 * @param status
 	 * @param number
 	 * @param number
 	 * @return
 	 * @return
 	 */
 	 */
-	@Query("select count(b) from BankInfo b where b.useruu=:useruu and b.dissociative=:dissociative and b.opraterUserType=:opraterUserType and b.status=:status and b.number=:number")
-	int getBuyerCountByNumberAndDissociative(@Param("useruu") Long useruu, @Param("dissociative") Integer dissociative, @Param("opraterUserType") Integer opraterUserType,
-											 @Param("status") Integer status, @Param("number") String number);
+	@Query("select count(b) from BankInfo b where b.enuu=:enuu and b.dissociative=:dissociative and b.status=:status and b.number=:number")
+	int getSupCountByNumberAndDissociative(@Param("enuu") Long enuu, @Param("dissociative") Integer dissociative, @Param("status") Integer status, @Param("number") String number);
 
 
 	/**
 	/**
 	 * 银行账户返回企业账户数
 	 * 银行账户返回企业账户数
 	 * @param enuu
 	 * @param enuu
-	 * @param opraterUserType
 	 * @param status
 	 * @param status
 	 * @param number
 	 * @param number
 	 * @return
 	 * @return
 	 */
 	 */
 	@Query("select count(b) from BankInfo b where b.enuu=:enuu and b.opraterUserType=:opraterUserType and b.status in :status and b.number=:number")
 	@Query("select count(b) from BankInfo b where b.enuu=:enuu and b.opraterUserType=:opraterUserType and b.status in :status and b.number=:number")
-	int getEnterpriseCountByNumberAndEnuu(@Param("enuu") Long enuu, @Param("opraterUserType") Integer opraterUserType,
-									 @Param("status") List<Integer> status, @Param("number") String number);
-
-	List<BankInfo> findByUseruuAndEnuuAndNumAndOpraterUserTypeAndStatus(Long useruu, Long enuu, Integer num, Integer opraterUserType, Integer status);
+	int getEnterpriseCountByNumberAndEnuu(@Param("enuu") Long enuu, @Param("dissociative") Integer dissociative, @Param("status") List<Integer> status, @Param("number") String number);
 }
 }

+ 14 - 26
src/main/java/com/uas/platform/b2c/fa/payment/service/BankInfoService.java

@@ -4,6 +4,8 @@ import com.uas.platform.b2c.common.base.model.FileUpload;
 import com.uas.platform.b2c.fa.payment.model.BankInfo;
 import com.uas.platform.b2c.fa.payment.model.BankInfo;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.model.PageParams;
+import com.uas.platform.core.model.Status;
+import com.uas.platform.core.model.Type;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
 
 
 import java.util.List;
 import java.util.List;
@@ -27,16 +29,6 @@ public interface BankInfoService {
 	BankInfo save(BankInfo bankInfo, Integer type, FileUpload... fileItem);
 	BankInfo save(BankInfo bankInfo, Integer type, FileUpload... fileItem);
 
 
 
 
-	/**
-	 * 保存账户信息
-	 *
-	 * @param bankInfo     账户信息
-	 * @param operatorType 区分买家、卖家、商城
-	 * @param isPersonal   是个人账户吗
-	 * @return BankInfo
-	 */
-	BankInfo saveB2cAccount(BankInfo bankInfo, Integer operatorType, boolean isPersonal);
-
 	/**
 	/**
 	 * 根据id删除指定账户信息
 	 * 根据id删除指定账户信息
 	 *
 	 *
@@ -63,13 +55,13 @@ public interface BankInfoService {
 	List<BankInfo> getEnterpriseBankInfoContainsStatus(Integer operatorUserType, Integer status, Long... params);
 	List<BankInfo> getEnterpriseBankInfoContainsStatus(Integer operatorUserType, Integer status, Long... params);
 
 
 	/**
 	/**
-	 * 返回的账户信息
-	 *
-	 * @param operatorUserType 要获取的买家、卖家、平台账户
-	 * @param params           传入的企业uu,可能为空
-	 * @return list
+	 * 获取制定账户的类型
+	 * @param uu
+	 * @param dissociative
+	 * @param accountType
+	 * @return
 	 */
 	 */
-	List<BankInfo> getEnterpriseBankInfo(Integer operatorUserType, Long... params);
+	List<BankInfo> getEnterpriseBankInfo(Long uu, Integer dissociative, String accountType);
 
 
 	/**
 	/**
 	 * 分页获取卖家的账户信息
 	 * 分页获取卖家的账户信息
@@ -80,16 +72,6 @@ public interface BankInfoService {
 	 */
 	 */
 	Page<BankInfo> getSupBankInfo(PageParams params, Integer operatorUserType);
 	Page<BankInfo> getSupBankInfo(PageParams params, Integer operatorUserType);
 
 
-	/**
-	 * 根据以下参数 获取对应的参数查找所有的账户信息
-	 *
-	 * @param useruu          个人uu
-	 * @param enuu            企业enuu
-	 * @param opraterUserType 操作人的类型
-	 * @return the list
-	 */
-	List<BankInfo> findBankInfoByUseruu(Long useruu, Long enuu, Integer opraterUserType);
-
 	/**
 	/**
 	 * 根据id获得账户信息
 	 * 根据id获得账户信息
 	 *
 	 *
@@ -148,4 +130,10 @@ public interface BankInfoService {
 	 * @return
 	 * @return
 	 */
 	 */
 	ResultMap getCountByNumber(Integer type, String number);
 	ResultMap getCountByNumber(Integer type, String number);
+
+	/**
+	 * 获取
+	 * @return
+	 */
+	List<BankInfo> getDefaultBankInfoByuuAndStatusAndAccountType(Long useruu, Long enuu, Integer status, String accountType);
 }
 }

+ 47 - 48
src/main/java/com/uas/platform/b2c/fa/payment/service/impl/BankInfoServiceImpl.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2c.fa.payment.service.impl;
 package com.uas.platform.b2c.fa.payment.service.impl;
 
 
 import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.base.model.FileUpload;
 import com.uas.platform.b2c.common.base.model.FileUpload;
 import com.uas.platform.b2c.common.base.service.FileService;
 import com.uas.platform.b2c.common.base.service.FileService;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.config.SysConf;
@@ -31,6 +32,7 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.persistence.criteria.Root;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
@@ -66,18 +68,21 @@ public class BankInfoServiceImpl implements BankInfoService {
 		bankInfo.setCreateTime(new Date());
 		bankInfo.setCreateTime(new Date());
 		type = Type.SUP.value();
 		type = Type.SUP.value();
 		bankInfo.setStatus(Status.ALLOW.value());
 		bankInfo.setStatus(Status.ALLOW.value());
-		if(SystemSession.getUser().getEnterprise() == null) {
+		User user = SystemSession.getUser();
+		if(user.getEnterprise() == null) {
 			if(bankInfo.getId() == null) {
 			if(bankInfo.getId() == null) {
-				int num = bankInfoDao.getCountByUseruuAndStatusAndDissociativeAndAccountType(SystemSession.getUser().getUserUU(), Type.PERSONAL.value(), bankInfo.getOpraterUserType(), Status.ALLOW.value(), bankInfo.getAccountType()) + 1;
+				List<Integer> list = new ArrayList<>();
+				list.add(Status.ALLOW.value());
+				int num = bankInfoDao.getCountByUseruuAndStatusAndDissociativeAndAccountType(user.getUserUU(), list, Type.PERSONAL.value(), bankInfo.getAccountType()) + 1;
 				bankInfo.setNum(num);
 				bankInfo.setNum(num);
 			}
 			}
-			bankInfo.setUseruu(SystemSession.getUser().getUserUU());
+			bankInfo.setUseruu(user.getUserUU());
 			bankInfo.setDissociative(Type.PERSONAL.value());
 			bankInfo.setDissociative(Type.PERSONAL.value());
 		}else {
 		}else {
-			bankInfo.setEnuu(SystemSession.getUser().getEnterprise().getUu());
+			bankInfo.setEnuu(user.getEnterprise().getUu());
 			bankInfo.setDissociative(Type.ENTERPRISING.value());
 			bankInfo.setDissociative(Type.ENTERPRISING.value());
 			if(bankInfo.getId() == null) {
 			if(bankInfo.getId() == null) {
-				int count = bankInfoDao.getCountByEnuuAndStatusAndAccountType(SystemSession.getUser().getEnterprise().getUu(), bankInfo.getOpraterUserType(), statusList, bankInfo.getAccountType());
+				int count = bankInfoDao.getCountByEnuuAndStatusAndDissociativeAndAccountType(user.getEnterprise().getUu(), statusList, Type.ENTERPRISING.value(), bankInfo.getAccountType());
 				bankInfo.setNum(count + 1);
 				bankInfo.setNum(count + 1);
 			}
 			}
 		}
 		}
@@ -188,16 +193,17 @@ public class BankInfoServiceImpl implements BankInfoService {
 	@Override
 	@Override
 	public List<BankInfo> getEnterpriseBankInfoContainsStatus(Integer operatorUserType, Integer status, Long... params) {
 	public List<BankInfo> getEnterpriseBankInfoContainsStatus(Integer operatorUserType, Integer status, Long... params) {
 		Long enuu = null;
 		Long enuu = null;
+		User user = SystemSession.getUser();
 		if(params.length == 0) {
 		if(params.length == 0) {
-			enuu = SystemSession.getUser().getEnterprise() != null ? SystemSession.getUser().getEnterprise().getUu() : null;
+			enuu = user.getEnterprise() != null ? user.getEnterprise().getUu() : null;
 		}else {
 		}else {
 			enuu = params[0];
 			enuu = params[0];
 		}
 		}
 		//如果是个人用户登录
 		//如果是个人用户登录
-		if(SystemSession.getUser().getEnterprise() == null && enuu == null) {
-				return bankInfoDao.findByUseruuAndDissociativeAndOpraterUserTypeAndStatusAndAccountTypeOrderByNumAsc(SystemSession.getUser().getUserUU(), Type.PERSONAL.value(), operatorUserType, AccountType.RECEIVE_TYPE, status);
+		if(user.getEnterprise() == null && enuu == null) {
+				return bankInfoDao.findByUseruuAndAccountTypeAndDissociativeAndStatusOrderByNumAsc(user.getUserUU(), AccountType.RECEIVE_TYPE, Type.PERSONAL.value(), status);
 		} else {
 		} else {
-			return bankInfoDao.findByEnuuAndStatusAndOpraterUserTypeAndAccountTypeOrderByNumAsc(enuu, status, operatorUserType, AccountType.RECEIVE_TYPE);
+			return bankInfoDao.findByEnuuAndStatusAndAccountTypeAndDissociativeOrderByNumAsc(enuu, status, AccountType.RECEIVE_TYPE, Type.ENTERPRISING.value());
 		}
 		}
 	}
 	}
 
 
@@ -206,28 +212,10 @@ public class BankInfoServiceImpl implements BankInfoService {
 		return bankInfoDao.findOne(id);
 		return bankInfoDao.findOne(id);
 	}
 	}
 
 
-	@Override
-	public List<BankInfo> findBankInfoByUseruu(Long useruu, Long enuu, Integer opraterUserType) {
-		return bankInfoDao.findByUseruuAndEnuuAndOpraterUserTypeAndStatusOrderByNumAsc(useruu, enuu, opraterUserType, Status.ALLOW.value());
-	}
-
 	@Override
 	@Override
 	public BankInfo update(BankInfo bankInfo) {
 	public BankInfo update(BankInfo bankInfo) {
 		return bankInfoDao.save(bankInfo);
 		return bankInfoDao.save(bankInfo);
 	}
 	}
-	
-	@Override
-	@Transactional
-	public BankInfo saveB2cAccount(BankInfo bankInfo, Integer operatorType, boolean isPersonal) {
-		int size = 0;
-		bankInfo.setOpraterUserType(Type.MALL.value());
-		bankInfo.setEnuu(sysConf.getEnUU());
-		bankInfo.setCreateTime(new Date());
-		size = bankInfoDao.getMallCountByEnuuAndStatus(bankInfo.getEnuu(),Type.MALL.value(), Status.ALLOW.value());
-		bankInfo.setNum(++size);
-		bankInfo.setStatus(Status.ALLOW.value());
-		return bankInfoDao.save(bankInfo);
-	}
 
 
 	@Override
 	@Override
 	public void save(List<BankInfo> list) {
 	public void save(List<BankInfo> list) {
@@ -270,22 +258,22 @@ public class BankInfoServiceImpl implements BankInfoService {
 		bankInfoDao.save(bankInfos);
 		bankInfoDao.save(bankInfos);
 	}
 	}
 
 
+
 	/**
 	/**
-	 * 返回的账户信息
+	 * 获取制定账户的类型
 	 *
 	 *
-	 * @param operatorUserType 要获取的买家、卖家、平台账户
-	 * @param params           传入的企业uu,可能为空
+	 * @param uu
+	 * @param dissociative
+	 * @param accountType
 	 * @return
 	 * @return
 	 */
 	 */
 	@Override
 	@Override
-	public List<BankInfo> getEnterpriseBankInfo(Integer operatorUserType, Long... params) {
-		Long enuu = null;
-		if(params.length == 0) {
-			enuu = SystemSession.getUser().getEnterprise().getUu();
-		}else {
-			enuu = params[0];
+	public List<BankInfo> getEnterpriseBankInfo(Long uu, Integer dissociative, String accountType) {
+		if (dissociative == Type.ENTERPRISING.value()) {
+			return bankInfoDao.findByEnuuAndAccountTypeAndDissociativeOrderByNumAsc(uu, accountType, dissociative);
+		} else {
+			return bankInfoDao.findByUseruuAndAccountTypeAndDissociativeOrderByNumAsc(uu, accountType, dissociative);
 		}
 		}
-		return bankInfoDao.findByEnuuAndOpraterUserTypeOrderByNumAsc(enuu, operatorUserType);
 	}
 	}
 
 
 	/**
 	/**
@@ -374,22 +362,33 @@ public class BankInfoServiceImpl implements BankInfoService {
 		if (type != Type.MALL.value() && type != Type.BUYER.value() && type != Type.SUP.value()){
 		if (type != Type.MALL.value() && type != Type.BUYER.value() && type != Type.SUP.value()){
 			return new ResultMap(CodeType.ERROR_STATE, "类型不存在,确认要查找账户的类型");
 			return new ResultMap(CodeType.ERROR_STATE, "类型不存在,确认要查找账户的类型");
 		}
 		}
-		if (StringUtils.isEmpty(number)){
+		if (StringUtils.isEmpty(number)) {
 			return new ResultMap(CodeType.NO_INFO, "银行账号丢失或为空,请确认银行账号");
 			return new ResultMap(CodeType.NO_INFO, "银行账号丢失或为空,请确认银行账号");
 		}
 		}
 		Integer count = null;
 		Integer count = null;
-		if (type == Type.BUYER.value()){
-			Enterprise enterprise = SystemSession.getUser().getEnterprise();
-			if (enterprise != null){
-				count = bankInfoDao.getBuyerCountByNumberAndEnuu(SystemSession.getUser().getUserUU(), enterprise.getUu(),
-						Type.BUYER.value(), Status.ALLOW.value(), number);
-			}else {
-				count = bankInfoDao.getBuyerCountByNumberAndDissociative(SystemSession.getUser().getUserUU(), Type.PERSONAL.value(),
-						Type.BUYER.value(), Status.ALLOW.value(), number);
-			}
+		User user = SystemSession.getUser();
+		if (user.getEnterprise() != null) {
+			count = bankInfoDao.getSupCountByNumberAndDissociative(user.getEnterprise().getUu(), Type.ENTERPRISING.value(), Status.ALLOW.value(), number);
 		}else {
 		}else {
-			count = bankInfoDao.getEnterpriseCountByNumberAndEnuu(SystemSession.getUser().getEnterprise().getUu(), type, statusList, number);
+			count = bankInfoDao.getBuyerCountByNumberAndDissociative(user.getUserUU(), Type.PERSONAL.value(), Status.ALLOW.value(), number);
 		}
 		}
 		return ResultMap.success(count);
 		return ResultMap.success(count);
 	}
 	}
+
+	/**
+	 * 获取
+	 *
+	 * @param useruu
+	 * @param enuu
+	 * @param status
+	 * @return
+	 */
+	@Override
+	public List<BankInfo> getDefaultBankInfoByuuAndStatusAndAccountType(Long useruu, Long enuu, Integer status, String accountType) {
+		if (enuu == null) {
+			return bankInfoDao.findByUseruuAndAccountTypeAndDissociativeAndStatusOrderByNumAsc(useruu, accountType, Type.PERSONAL.value(), status);
+		} else {
+			return bankInfoDao.findByEnuuAndStatusAndAccountTypeAndDissociativeOrderByNumAsc(enuu, status, accountType, Type.ENTERPRISING.value());
+		}
+	}
 }
 }

+ 9 - 3
src/main/java/com/uas/platform/b2c/fa/payment/service/impl/BankTransferServiceImpl.java

@@ -6,6 +6,7 @@ import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.core.utils.NumberUtil;
 import com.uas.platform.b2c.core.utils.NumberUtil;
+import com.uas.platform.b2c.fa.payment.constant.AccountType;
 import com.uas.platform.b2c.fa.payment.dao.BankInfoDao;
 import com.uas.platform.b2c.fa.payment.dao.BankInfoDao;
 import com.uas.platform.b2c.fa.payment.dao.BankTransAssociateDao;
 import com.uas.platform.b2c.fa.payment.dao.BankTransAssociateDao;
 import com.uas.platform.b2c.fa.payment.dao.BankTransferDao;
 import com.uas.platform.b2c.fa.payment.dao.BankTransferDao;
@@ -219,7 +220,7 @@ public class BankTransferServiceImpl implements BankTransferService {
 		int num = 2;
 		int num = 2;
 		List<BankInfo> listBankInfo = null;
 		List<BankInfo> listBankInfo = null;
 		if (b2cAccount.getUseruu() == null) {
 		if (b2cAccount.getUseruu() == null) {
-			listBankInfo = bankInfoService.getEnterpriseBankInfo(Type.MALL.value(), b2cAccount.getEnuu());
+			listBankInfo = bankInfoService.getEnterpriseBankInfo(b2cAccount.getEnuu(), Type.ENTERPRISING.value(), AccountType.PAY_TYPE);
 			for (BankInfo bankInfo : listBankInfo) {
 			for (BankInfo bankInfo : listBankInfo) {
 				if (b2cAccount.getId().longValue() != bankInfo.getId().longValue()) {
 				if (b2cAccount.getId().longValue() != bankInfo.getId().longValue()) {
 					bankInfo.setNum(num++);
 					bankInfo.setNum(num++);
@@ -232,7 +233,12 @@ public class BankTransferServiceImpl implements BankTransferService {
 
 
 		// 收款方 默认企业账户
 		// 收款方 默认企业账户
 		num = 2;
 		num = 2;
-		List<BankInfo> enterpriseBankInfo = bankInfoService.getEnterpriseBankInfo(Type.BUYER.value(), custAccount.getEnuu());
+		List<BankInfo> enterpriseBankInfo = null;
+		if (custAccount.getDissociative().intValue() == Type.ENTERPRISING.value()) {
+			enterpriseBankInfo = bankInfoService.getEnterpriseBankInfo(custAccount.getEnuu(), Type.ENTERPRISING.value(), AccountType.RECEIVE_TYPE);
+		} else {
+			enterpriseBankInfo = bankInfoService.getEnterpriseBankInfo(custAccount.getUseruu(), Type.PERSONAL.value(), AccountType.RECEIVE_TYPE);
+		}
 		for (BankInfo bankInfo : enterpriseBankInfo) {
 		for (BankInfo bankInfo : enterpriseBankInfo) {
 			if (bankInfo.getNum() != custAccount.getNum()) {
 			if (bankInfo.getNum() != custAccount.getNum()) {
 				bankInfo.setNum(num++);
 				bankInfo.setNum(num++);
@@ -527,7 +533,7 @@ public class BankTransferServiceImpl implements BankTransferService {
 		if (StringUtils.hasText(orderId)) {
 		if (StringUtils.hasText(orderId)) {
 			Order order = orderDao.findByOrderid(orderId);
 			Order order = orderDao.findByOrderid(orderId);
 			if (order != null && order.getBuyerenuu() != null) {
 			if (order != null && order.getBuyerenuu() != null) {
-				List<BankInfo> bankInfos = bankInfoDao.findByUseruuAndEnuuAndNumAndOpraterUserTypeAndStatus(order.getBuyeruu(), order.getBuyerenuu(), 1, Type.BUYER.value(), Status.ALLOW.value());
+				List<BankInfo> bankInfos = bankInfoService.getDefaultBankInfoByuuAndStatusAndAccountType(order.getBuyeruu(), order.getBuyerenuu(), Status.ALLOW.value(), AccountType.PAY_TYPE);
 				if (!CollectionUtils.isEmpty(bankInfos)) {
 				if (!CollectionUtils.isEmpty(bankInfos)) {
 					return bankInfos.get(0);
 					return bankInfos.get(0);
 				}
 				}