Parcourir la source

优化业主账户

java110 il y a 4 ans
Parent
commit
61e16e9ea3

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/account/AccountDto.java

@@ -37,6 +37,7 @@ public class AccountDto extends PageDto implements Serializable {
     private String acctId;
     private String acctName;
     private String objType;
+    private String partId;
 
 
     private Date createTime;
@@ -116,4 +117,12 @@ public class AccountDto extends PageDto implements Serializable {
     public void setAcctTypeName(String acctTypeName) {
         this.acctTypeName = acctTypeName;
     }
+
+    public String getPartId() {
+        return partId;
+    }
+
+    public void setPartId(String partId) {
+        this.partId = partId;
+    }
 }

+ 37 - 19
java110-bean/src/main/java/com/java110/po/account/AccountPo.java

@@ -1,53 +1,71 @@
 package com.java110.po.account;
 
 import java.io.Serializable;
-import java.util.Date;
 
 public class AccountPo implements Serializable {
 
     private String amount;
-private String acctType;
-private String objId;
-private String acctId;
-private String acctName;
-private String objType;
-public String getAmount() {
+    private String acctType;
+    private String objId;
+    private String acctId;
+    private String acctName;
+    private String objType;
+    private String partId;
+
+
+    public String getAmount() {
         return amount;
     }
-public void setAmount(String amount) {
+
+    public void setAmount(String amount) {
         this.amount = amount;
     }
-public String getAcctType() {
+
+    public String getAcctType() {
         return acctType;
     }
-public void setAcctType(String acctType) {
+
+    public void setAcctType(String acctType) {
         this.acctType = acctType;
     }
-public String getObjId() {
+
+    public String getObjId() {
         return objId;
     }
-public void setObjId(String objId) {
+
+    public void setObjId(String objId) {
         this.objId = objId;
     }
-public String getAcctId() {
+
+    public String getAcctId() {
         return acctId;
     }
-public void setAcctId(String acctId) {
+
+    public void setAcctId(String acctId) {
         this.acctId = acctId;
     }
-public String getAcctName() {
+
+    public String getAcctName() {
         return acctName;
     }
-public void setAcctName(String acctName) {
+
+    public void setAcctName(String acctName) {
         this.acctName = acctName;
     }
-public String getObjType() {
+
+    public String getObjType() {
         return objType;
     }
-public void setObjType(String objType) {
+
+    public void setObjType(String objType) {
         this.objType = objType;
     }
 
+    public String getPartId() {
+        return partId;
+    }
 
-
+    public void setPartId(String partId) {
+        this.partId = partId;
+    }
 }

+ 19 - 6
java110-db/src/main/resources/mapper/acct/AccountServiceDaoImplMapper.xml

@@ -7,9 +7,9 @@
     <!-- 保存账户信息 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessAccountInfo" parameterType="Map">
         insert into business_account(
-        amount,operate,acct_type,obj_id,acct_id,acct_name,b_id,obj_type
+        amount,operate,acct_type,obj_id,acct_id,acct_name,b_id,obj_type,part_id
         ) values (
-        #{amount},#{operate},#{acctType},#{objId},#{acctId},#{acctName},#{bId},#{objType}
+        #{amount},#{operate},#{acctType},#{objId},#{acctId},#{acctName},#{bId},#{objType},#{partId}
         )
     </insert>
 
@@ -17,7 +17,7 @@
     <!-- 查询账户信息(Business) add by wuxw 2018-07-03 -->
     <select id="getBusinessAccountInfo" parameterType="Map" resultType="Map">
         select t.amount,t.operate,t.acct_type,t.acct_type acctType,t.obj_id,t.obj_id objId,t.acct_id,t.acct_id
-        acctId,t.acct_name,t.acct_name acctName,t.b_id,t.b_id bId,t.obj_type,t.obj_type objType
+        acctId,t.acct_name,t.acct_name acctName,t.b_id,t.b_id bId,t.obj_type,t.obj_type objType,t.part_id,t.part_id partId
         from business_account t
         where 1 =1
         <if test="amount !=null and amount != ''">
@@ -44,6 +44,9 @@
         <if test="objType !=null and objType != ''">
             and t.obj_type= #{objType}
         </if>
+        <if test="partId !=null and partId != ''">
+            and t.obj_type= #{partId}
+        </if>
 
     </select>
 
@@ -51,8 +54,9 @@
     <!-- 保存账户信息至 instance表中 add by wuxw 2018-07-03 -->
     <insert id="saveAccountInfoInstance" parameterType="Map">
         insert into account(
-        amount,acct_type,obj_id,acct_id,status_cd,acct_name,b_id,obj_type
-        ) select t.amount,t.acct_type,t.obj_id,t.acct_id,'0',t.acct_name,t.b_id,t.obj_type from business_account t where
+        amount,acct_type,obj_id,acct_id,status_cd,acct_name,b_id,obj_type,part_id
+        ) select t.amount,t.acct_type,t.obj_id,t.acct_id,'0',t.acct_name,t.b_id,t.obj_type,t.part_id
+        from business_account t where
         1=1
         <if test="amount !=null and amount != ''">
             and t.amount= #{amount}
@@ -84,7 +88,7 @@
     <select id="getAccountInfo" parameterType="Map" resultType="Map">
         select t.amount,t.acct_type,t.acct_type acctType,t.obj_id,t.obj_id objId,t.acct_id,t.acct_id
         acctId,t.status_cd,t.status_cd statusCd,t.acct_name,t.acct_name acctName,t.b_id,t.b_id bId,t.obj_type,t.obj_type
-        objType,t.create_time createTime,td.`name` acctTypeName
+        objType,t.create_time createTime,td.`name` acctTypeName,t.part_id,t.part_id partId
         from account t
         LEFT JOIN t_dict td on t.acct_type = td.status_cd and td.table_name = 'account' and td.table_columns =
         'acct_type'
@@ -113,6 +117,9 @@
         <if test="objType !=null and objType != ''">
             and t.obj_type= #{objType}
         </if>
+        <if test="partId !=null and partId != ''">
+            and t.obj_type= #{partId}
+        </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
@@ -142,6 +149,9 @@
         <if test="objType !=null and objType != ''">
             , t.obj_type= #{objType}
         </if>
+        <if test="partId !=null and partId != ''">
+            , t.obj_type= #{partId}
+        </if>
         where 1=1
         <if test="acctId !=null and acctId != ''">
             and t.acct_id= #{acctId}
@@ -181,6 +191,9 @@
         <if test="objType !=null and objType != ''">
             and t.obj_type= #{objType}
         </if>
+        <if test="partId !=null and partId != ''">
+            and t.obj_type= #{partId}
+        </if>
 
 
     </select>

+ 38 - 1
service-acct/src/main/java/com/java110/acct/api/AccountApi.java

@@ -3,9 +3,14 @@ package com.java110.acct.api;
 import com.java110.acct.bmo.account.IGetAccountBMO;
 import com.java110.dto.account.AccountDto;
 import com.java110.dto.accountDetail.AccountDetailDto;
+import com.java110.dto.owner.OwnerDto;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * @ClassName AccountApi
@@ -42,6 +47,38 @@ public class AccountApi {
         return getAccountBMOImpl.get(accountDto);
     }
 
+    /**
+     * 查询业主账户
+     *
+     * @param communityId 小区ID
+     * @return
+     * @serviceCode /account/queryOwnerAccount
+     * @path /app/account/queryOwnerAccount
+     */
+    @RequestMapping(value = "/queryOwnerAccount", method = RequestMethod.GET)
+    public ResponseEntity<String> queryOwnerAccount(
+            @RequestParam(value = "communityId") String communityId,
+            @RequestParam(value = "ownerId",required = false) String ownerId,
+            @RequestParam(value = "ownerName",required = false) String ownerName,
+            @RequestParam(value = "tel",required = false) String tel,
+            @RequestParam(value = "idCard",required = false) String idCard,
+            @RequestParam(value = "page") int page,
+            @RequestParam(value = "row") int row) {
+        AccountDto accountDto = new AccountDto();
+        accountDto.setPage(page);
+        accountDto.setRow(row);
+        accountDto.setObjId(ownerId);
+        accountDto.setObjType(AccountDto.OBJ_TYPE_PERSON);
+        accountDto.setAcctName(ownerName);
+        accountDto.setPartId(communityId);
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setOwnerId(ownerId);
+        ownerDto.setCommunityId(communityId);
+        ownerDto.setLink(tel);
+        ownerDto.setIdCard(idCard);
+        return getAccountBMOImpl.queryOwnerAccount(accountDto,ownerDto);
+    }
+
     /**
      * 查询账户明细
      *

+ 9 - 0
service-acct/src/main/java/com/java110/acct/bmo/account/IGetAccountBMO.java

@@ -1,6 +1,7 @@
 package com.java110.acct.bmo.account;
 import com.java110.dto.account.AccountDto;
 import com.java110.dto.accountDetail.AccountDetailDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.shopVipAccount.ShopVipAccountDto;
 import org.springframework.http.ResponseEntity;
 
@@ -22,4 +23,12 @@ public interface IGetAccountBMO {
      * @return
      */
     ResponseEntity<String> getDetail(AccountDetailDto accountDto);
+
+    /**
+     * 查询业主账户
+     * @param accountDto
+     * @param ownerDto
+     * @return
+     */
+    ResponseEntity<String> queryOwnerAccount(AccountDto accountDto, OwnerDto ownerDto);
 }

+ 42 - 0
service-acct/src/main/java/com/java110/acct/bmo/account/impl/GetAccountBMOImpl.java

@@ -3,8 +3,11 @@ package com.java110.acct.bmo.account.impl;
 import com.java110.acct.bmo.account.IGetAccountBMO;
 import com.java110.dto.account.AccountDto;
 import com.java110.dto.accountDetail.AccountDetailDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.intf.acct.IAccountDetailInnerServiceSMO;
 import com.java110.intf.acct.IAccountInnerServiceSMO;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -23,6 +26,9 @@ public class GetAccountBMOImpl implements IGetAccountBMO {
     @Autowired
     private IAccountDetailInnerServiceSMO accountDetailInnerServiceSMOImpl;
 
+    @Autowired
+    private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+
     /**
      * @param accountDto
      * @return 订单服务能够接受的报文
@@ -64,4 +70,40 @@ public class GetAccountBMOImpl implements IGetAccountBMO {
         return responseEntity;
     }
 
+    /**
+     * 查询业主账号
+     * @param accountDto
+     * @param ownerDto
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> queryOwnerAccount(AccountDto accountDto, OwnerDto ownerDto) {
+
+        List<OwnerDto> ownerDtos = null;
+        if(!StringUtil.isEmpty(ownerDto.getLink()) || !StringUtil.isEmpty(ownerDto.getIdCard())) {
+            //先查询业主
+            ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
+        }
+
+        if(ownerDtos != null && ownerDtos.size()> 0){
+            accountDto.setAcctName("");
+            accountDto.setObjId(ownerDtos.get(0).getMemberId());
+        }
+
+        int count = accountInnerServiceSMOImpl.queryAccountsCount(accountDto);
+
+        List<AccountDto> accountDtos = null;
+        if (count > 0) {
+            accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto);
+        } else {
+            accountDtos = new ArrayList<>();
+        }
+
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) accountDto.getRow()), count, accountDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        return responseEntity;
+    }
+
 }