Browse Source

Merge remote-tracking branch 'origin/feature_installment_v1' into feature_installment_v1

wangyc 8 years ago
parent
commit
c64ab72eda

+ 71 - 0
src/main/java/com/uas/platform/b2c/fa/payment/controller/InstallmentStoreController.java

@@ -1,6 +1,15 @@
 package com.uas.platform.b2c.fa.payment.controller;
 package com.uas.platform.b2c.fa.payment.controller;
 
 
+import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.core.support.SystemSession;
+import com.uas.platform.b2c.fa.payment.model.Installment;
+import com.uas.platform.b2c.fa.payment.model.InstallmentStore;
+import com.uas.platform.b2c.fa.payment.service.InstallmentStoreService;
+import com.uas.platform.core.exception.IllegalOperatorException;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 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;
 import org.springframework.web.bind.annotation.RestController;
 
 
 /**
 /**
@@ -12,4 +21,66 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RestController
 @RequestMapping("trade/installment-stores")
 @RequestMapping("trade/installment-stores")
 public class InstallmentStoreController {
 public class InstallmentStoreController {
+
+    private final InstallmentStoreService installmentStoreService;
+
+    @Autowired
+    public InstallmentStoreController(InstallmentStoreService installmentStoreService) {
+        this.installmentStoreService = installmentStoreService;
+    }
+
+    /**
+     * 分期权限店铺的保存功能
+     * @param storeUuid 店铺uuid
+     * @param storeId 店铺id
+     * @param enuu 企业uu
+     * @param enable 是否启用 启用:1,禁用:0
+     */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    public void saveStore(@RequestParam("storeUuid") String storeUuid , @RequestParam("storeId") Long storeId , @RequestParam("enuu") Long enuu , @RequestParam("enable") Short enable) {
+        installmentStoreService.saveStore(storeUuid, storeId, enuu, enable);
+    }
+
+    /**
+     * 分期权限店铺的删除功能
+     * @param id
+     */
+    @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
+    public void deleteStore(@RequestParam("id") Long id) {
+        installmentStoreService.deleteStore(id);
+    }
+
+    /**
+     * 分期权限店铺的开启功能
+     * @param storeUuid 店铺uuid
+     */
+    @RequestMapping(value = "/capsOFF", method = RequestMethod.GET)
+    public void capsOFF(@RequestParam("storeUuid") String storeUuid) {
+        installmentStoreService.capsOFF(storeUuid);
+    }
+
+    /**
+     * 分期权限店铺的关闭功能
+     * @param storeUuid 店铺uuid
+     */
+    @RequestMapping(value = "/capsON", method = RequestMethod.GET)
+    public void capsON(@RequestParam("storeUuid") String storeUuid) {
+        installmentStoreService.capsON(storeUuid);
+    }
+
+    /**
+     * 分期权限店铺开启分期功能的验证
+     */
+    @RequestMapping(value = "/capsOFFVerify", method = RequestMethod.GET)
+    public String capsOFFVerify(@RequestParam(defaultValue = "0",value = "enable") Short enable) {
+        Enterprise enterprise = SystemSession.getUser().getEnterprise();
+        if (enterprise == null) {
+            throw new IllegalOperatorException("该账号为个人账号");
+        }
+        InstallmentStore installmentStore = installmentStoreService.getInstallmentByEnuuAndEnable(enterprise.getUu(), enable);
+        if (installmentStore == null) {
+            return "fail";
+        }
+        return "success";
+    }
 }
 }

+ 35 - 0
src/main/java/com/uas/platform/b2c/fa/payment/dao/InstallmentStoreDao.java

@@ -3,6 +3,9 @@ package com.uas.platform.b2c.fa.payment.dao;
 import com.uas.platform.b2c.fa.payment.model.InstallmentStore;
 import com.uas.platform.b2c.fa.payment.model.InstallmentStore;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Repository;
 
 
 /**
 /**
@@ -16,9 +19,41 @@ public interface InstallmentStoreDao extends JpaSpecificationExecutor<Installmen
 
 
     /**
     /**
      * 通过企业uu获取拥有分期权限店铺
      * 通过企业uu获取拥有分期权限店铺
+     *
      * @param enuu 企业uu
      * @param enuu 企业uu
      * @param enable 是否启用
      * @param enable 是否启用
      * @return
      * @return
      */
      */
     public InstallmentStore findByEnuuAndEnable(Long enuu, Short enable);
     public InstallmentStore findByEnuuAndEnable(Long enuu, Short enable);
+
+    /**
+     * 通过店铺uuid保存拥有分期权限店铺
+     *
+     * @param storeUuid 店铺uuid
+     * @param storeId 店铺id
+     * @param enuu 企业uu
+     * @param enable 是否启用 启用:1,禁用:0
+     */
+    @Modifying
+    @Query(value = "insert into trade$installment_store(inss_storeuuid, inss_storeid, enuu, enable) values(:storeUuid, :storeId, :enuu, :enable)", nativeQuery = true)
+    public void saveStore(@Param("storeUuid") String storeUuid, @Param("id") Long storeId, @Param("enuu") Long enuu, @Param("enable") Short enable);
+
+    /**
+     * 通过店铺uuid删除拥有分期权限店铺
+     *
+     * @param id 店铺uuid
+     */
+    @Modifying
+    @Query(value = "delete from trade$installment_store where inss_id =:id", nativeQuery = true)
+    public void deleteStore(@Param("id") Long id);
+
+    /**
+     * 通过店铺uuid更新拥有分期权限的店铺
+     *
+     * @param storeUuid 店铺uuid
+     * @param enable 是否启用 启用:1,禁用:0
+     */
+    @Modifying
+    @Query(value = "update trade$installment_store set inss_enable =:enable where inss_storeuuid =:storeuuid", nativeQuery = true)
+    public void updateStore(@Param("storeuuid") String storeUuid,@Param("enable") short enable);
 }
 }

+ 41 - 0
src/main/java/com/uas/platform/b2c/fa/payment/service/InstallmentStoreService.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2c.fa.payment.service;
 package com.uas.platform.b2c.fa.payment.service;
 
 
+import com.uas.platform.b2c.fa.payment.model.InstallmentStore;
+
 /**
 /**
  * 分期权限店铺service
  * 分期权限店铺service
  * @author wangyc
  * @author wangyc
@@ -7,4 +9,43 @@ package com.uas.platform.b2c.fa.payment.service;
  * @version 2017/9/7 11:22 wangyc
  * @version 2017/9/7 11:22 wangyc
  */
  */
 public interface InstallmentStoreService {
 public interface InstallmentStoreService {
+
+    /**
+     * 分期权限店铺的保存功能
+     *
+     * @param storeUuid 店铺uuid
+     * @param storeId 店铺id
+     * @param enuu 企业uu
+     * @param enable 是否启用 启用:1,禁用:0
+     */
+    void saveStore(String storeUuid , Long storeId , Long enuu , Short enable);
+
+    /**
+     * 分期权限店铺的删除功能
+     *
+     * @param id
+     */
+    void deleteStore(Long id);
+
+    /**
+     * 分期权限店铺的开启功能
+     *
+     * @param storeUuid 店铺uuid
+     */
+    void capsOFF(String storeUuid);
+
+    /**
+     * 分期权限店铺的关闭功能
+     *
+     * @param storeUuid 店铺uuid
+     */
+    void capsON(String storeUuid);
+
+    /**
+     * 分期权限店铺的关闭功能
+     *  @param enuu 企业uu
+     * @param enable 是否启用 启用:1,禁用:0
+     */
+    InstallmentStore getInstallmentByEnuuAndEnable(Long enuu, Short enable);
+
 }
 }

+ 37 - 0
src/main/java/com/uas/platform/b2c/fa/payment/service/impl/InstallmentStoreServiceImpl.java

@@ -1,6 +1,11 @@
 package com.uas.platform.b2c.fa.payment.service.impl;
 package com.uas.platform.b2c.fa.payment.service.impl;
 
 
+import com.uas.platform.b2c.fa.payment.dao.InstallmentStoreDao;
+import com.uas.platform.b2c.fa.payment.model.InstallmentStore;
 import com.uas.platform.b2c.fa.payment.service.InstallmentStoreService;
 import com.uas.platform.b2c.fa.payment.service.InstallmentStoreService;
+import com.uas.platform.b2c.prod.store.dao.StoreInDao;
+import com.uas.platform.b2c.prod.store.model.StoreIn;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 /**
 /**
@@ -11,4 +16,36 @@ import org.springframework.stereotype.Service;
  */
  */
 @Service
 @Service
 public class InstallmentStoreServiceImpl implements InstallmentStoreService {
 public class InstallmentStoreServiceImpl implements InstallmentStoreService {
+
+    private final InstallmentStoreDao installmentStoreDao;
+
+    @Autowired
+    public InstallmentStoreServiceImpl(InstallmentStoreDao installmentStoreDao) {
+        this.installmentStoreDao = installmentStoreDao;
+    }
+
+    @Override
+    public void saveStore(String storeUuid, Long storeId, Long enuu, Short enable) {
+        installmentStoreDao.saveStore(storeUuid, storeId, enuu, enable);
+    }
+
+    @Override
+    public void deleteStore(Long id) {
+        installmentStoreDao.deleteStore(id);
+    }
+
+    @Override
+    public void capsOFF(String storeUuid) {
+        installmentStoreDao.updateStore(storeUuid,(short)1);
+    }
+
+    @Override
+    public void capsON(String storeUuid) {
+        installmentStoreDao.updateStore(storeUuid,(short)0);
+    }
+
+    @Override
+    public InstallmentStore getInstallmentByEnuuAndEnable(Long enuu, Short enable) {
+        return installmentStoreDao.findByEnuuAndEnable(enuu, enable);
+    }
 }
 }