java110 лет назад: 5
Родитель
Сommit
21ee2025eb

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

@@ -15,6 +15,21 @@ import java.util.Date;
  **/
 public class AccountDto extends PageDto implements Serializable {
 
+    /**
+     * 2003	现金账户
+     * 2004	积分账户
+     * 2005	优惠券账户
+     * 2006	金币账户
+     */
+    public static final String ACCT_TYPE_CASH = "2003";
+    public static final String ACCT_TYPE_INTEGRAL = "2004";
+    public static final String ACCT_TYPE_COUPON = "2005";
+    public static final String ACCT_TYPE_GOLD = "2006";
+
+
+    //对象类型,6006 个人 7007 商户
+    public static final String OBJ_TYPE_PERSON = "6006";
+    public static final String OBJ_TYPE_STORE = "7007";
     private String amount;
     private String acctType;
     private String objId;

+ 2 - 2
java110-utils/src/main/java/com/java110/utils/constant/StoreTypeConstant.java

@@ -32,9 +32,9 @@ public class StoreTypeConstant {
     public final static String STORE_TYPE_LOGISTICS_COMPANY = "800900000004";
 
     /**
-     * 超市
+     * 商家
      */
-    public final static String STORE_TYPE_SUPER_MARKET = "800900000005";
+    public final static String STORE_TYPE_MALL = "800900000005";
 
     /**
      * 餐厅

+ 2 - 0
service-api/src/main/java/com/java110/api/bmo/store/IStoreBMO.java

@@ -85,4 +85,6 @@ public interface IStoreBMO extends IApiBaseBMO {
      */
     JSONObject allocationStorehouse(JSONObject paramInJson);
 
+    JSONObject addAccount(JSONObject paramInJson,String acctType);
+
 }

+ 22 - 5
service-api/src/main/java/com/java110/api/bmo/store/impl/StoreBMOImpl.java

@@ -5,16 +5,14 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.store.IStoreBMO;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.account.AccountDto;
 import com.java110.dto.store.StoreDto;
 import com.java110.dto.workflow.WorkflowDto;
 import com.java110.intf.store.IStoreInnerServiceSMO;
+import com.java110.po.account.AccountPo;
 import com.java110.po.org.OrgPo;
 import com.java110.po.org.OrgStaffRelPo;
-import com.java110.po.store.StoreAttrPo;
-import com.java110.po.store.StoreCerdentialPo;
-import com.java110.po.store.StorePhotoPo;
-import com.java110.po.store.StorePo;
-import com.java110.po.store.StoreUserPo;
+import com.java110.po.store.*;
 import com.java110.po.workflow.WorkflowPo;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.BusinessTypeConstant;
@@ -378,6 +376,25 @@ public class StoreBMOImpl extends ApiBaseBMO implements IStoreBMO {
         return business;
     }
 
+    @Override
+    public JSONObject addAccount(JSONObject paramInJson,String acctType) {
+        JSONObject businessStoreObj = paramInJson.getJSONObject(StorePo.class.getSimpleName());
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ACCT);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 12);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONArray account = new JSONArray();
+        AccountPo accountPo = new AccountPo();
+        accountPo.setAcctId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_acctId));
+        accountPo.setAcctName(businessStoreObj.getString("name"));
+        accountPo.setAcctType(acctType);
+        accountPo.setAmount("0");
+        accountPo.setObjId(paramInJson.getString("storeId"));
+        accountPo.setObjType(AccountDto.OBJ_TYPE_STORE);
+        account.add(JSONObject.parseObject(JSONObject.toJSONString(accountPo)));
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(WorkflowPo.class.getSimpleName(), account);
+        return business;
+    }
 
 
 }

+ 17 - 0
service-api/src/main/java/com/java110/api/listener/store/SaveStoreServiceListener.java

@@ -2,16 +2,21 @@ package com.java110.api.listener.store;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.api.bmo.account.IAccountBMO;
 import com.java110.api.bmo.store.IStoreBMO;
 import com.java110.api.listener.AbstractServiceApiListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.factory.DataFlowFactory;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.account.AccountDto;
 import com.java110.entity.center.AppService;
+import com.java110.po.account.AccountPo;
 import com.java110.po.store.StorePo;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.utils.constant.StoreTypeConstant;
 import com.java110.utils.util.Assert;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.*;
@@ -26,6 +31,9 @@ public class SaveStoreServiceListener extends AbstractServiceApiListener {
     @Autowired
     private IStoreBMO storeBMOImpl;
 
+    @Autowired
+    private IAccountBMO accountBMOImpl;
+
     @Override
     public int getOrder() {
         return 0;
@@ -80,6 +88,15 @@ public class SaveStoreServiceListener extends AbstractServiceApiListener {
         //物品调拨流程
         businesses.add(storeBMOImpl.allocationStorehouse(paramObj));
 
+        //新建账户 目前只有商家创建账户
+        JSONObject businessStoreObj = paramObj.getJSONObject(StorePo.class.getSimpleName());
+        if (StoreTypeConstant.STORE_TYPE_MALL.equals(businessStoreObj.getString("storeTypeCd"))) {
+            //物品调拨流程
+            businesses.add(storeBMOImpl.addAccount(paramObj,AccountDto.ACCT_TYPE_CASH));
+            businesses.add(storeBMOImpl.addAccount(paramObj,AccountDto.ACCT_TYPE_INTEGRAL));
+            businesses.add(storeBMOImpl.addAccount(paramObj,AccountDto.ACCT_TYPE_GOLD));
+        }
+
         //super.doResponse(dataFlowContext);
         ResponseEntity<String> responseEntity = storeBMOImpl.callService(dataFlowContext, service.getServiceCode(), businesses);
         dataFlowContext.setResponseEntity(responseEntity);