Преглед изворни кода

Merge branch 'dev-mysql' into liusw-seeksalesman-v1.0-20180313

# Conflicts:
#	src/main/webapp/resources/js/admin/app.js
liusw пре 7 година
родитељ
комит
1316fd1ff2
18 измењених фајлова са 433 додато и 27 уклоњено
  1. 6 1
      src/main/java/com/uas/platform/b2c/core/support/view/JxlsExcelView.java
  2. 49 0
      src/main/java/com/uas/platform/b2c/fa/factoring/api/LoanApplyController.java
  3. 17 0
      src/main/java/com/uas/platform/b2c/fa/factoring/dao/LoanApplyDao.java
  4. 176 0
      src/main/java/com/uas/platform/b2c/fa/factoring/model/LoanApply.java
  5. 18 0
      src/main/java/com/uas/platform/b2c/fa/factoring/service/LoanApplyService.java
  6. 38 0
      src/main/java/com/uas/platform/b2c/fa/factoring/service/impl/LoanApplyServiceImpl.java
  7. 2 1
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java
  8. 1 1
      src/main/java/com/uas/platform/b2c/trade/rate/model/RateBuyer.java
  9. 1 1
      src/main/java/com/uas/platform/b2c/trade/rate/model/RateGoods.java
  10. 1 1
      src/main/java/com/uas/platform/b2c/trade/rate/model/RateTemplate.java
  11. 1 1
      src/main/java/com/uas/platform/b2c/trade/rate/model/RateVendor.java
  12. 1 1
      src/main/java/com/uas/platform/b2c/trade/rate/service/impl/RateServiceImpl.java
  13. 1 0
      src/main/webapp/WEB-INF/spring/webmvc.xml
  14. 4 2
      src/main/webapp/WEB-INF/views/normal/adminWithNav.html
  15. 26 18
      src/main/webapp/resources/js/admin/app.js
  16. 24 0
      src/main/webapp/resources/js/admin/controllers/fa/LoanApplyListCtrl.js
  17. 9 0
      src/main/webapp/resources/js/common/query/loanApply.js
  18. 58 0
      src/main/webapp/resources/view/admin/fa/loanApplyList.html

+ 6 - 1
src/main/java/com/uas/platform/b2c/core/support/view/JxlsExcelView.java

@@ -8,6 +8,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.springframework.core.io.Resource;
 import org.springframework.core.io.support.LocalizedResourceHelper;
+import org.springframework.util.StringUtils;
 import org.springframework.web.servlet.support.RequestContextUtils;
 import org.springframework.web.servlet.view.document.AbstractExcelView;
 
@@ -87,7 +88,11 @@ public class JxlsExcelView extends AbstractExcelView {
 		}
 
 		public Export() {
-			this.user = SystemSession.getUser().getUserName();
+			if (StringUtils.isEmpty(SystemSession.getUser())) {
+				this.user = "游客";
+			} else {
+				this.user = SystemSession.getUser().getUserName();
+			}
 			this.date = DateFormatUtils.DATETIME_FORMAT.format(new Date());
 		}
 	}

+ 49 - 0
src/main/java/com/uas/platform/b2c/fa/factoring/api/LoanApplyController.java

@@ -0,0 +1,49 @@
+package com.uas.platform.b2c.fa.factoring.api;
+
+import com.uas.platform.b2c.core.support.log.UsageBufferedLogger;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
+import com.uas.platform.b2c.fa.factoring.model.LoanApply;
+import com.uas.platform.b2c.fa.factoring.service.LoanApplyService;
+import com.uas.platform.b2c.prod.product.brand.modal.Brand;
+import com.uas.platform.b2c.prod.product.brand.modal.BrandSubmit;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.model.PageParams;
+import com.uas.platform.core.model.ServiceCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 贷款申请Controller
+ * @author suntg
+ * @since 2018年3月13日10:23:34
+ */
+@RestController("api.LoanApplyController")
+@RequestMapping("/api/fa/loanApply")
+public class LoanApplyController {
+
+    @Autowired
+    private LoanApplyService loanApplyService;
+
+    /**
+     * 分页获取数据
+     * @param page
+     * @return
+     */
+    @RequestMapping(method = RequestMethod.GET)
+    public Page<LoanApply> getInitialSimpleInfoByFirst(PageParams page) {
+        return loanApplyService.getByPage(page);
+    }
+
+    /**
+     * 保存贷款申请
+     * @param json
+     */
+    @RequestMapping(method = RequestMethod.POST)
+    public void saveLoanApply(@RequestBody String json) {
+        LoanApply loanApply = FastjsonUtils.fromJson(json, LoanApply.class);
+        loanApply = loanApplyService.save(loanApply);
+    }
+
+}

+ 17 - 0
src/main/java/com/uas/platform/b2c/fa/factoring/dao/LoanApplyDao.java

@@ -0,0 +1,17 @@
+package com.uas.platform.b2c.fa.factoring.dao;
+
+import com.uas.platform.b2c.fa.factoring.model.LoanApply;
+import com.uas.platform.core.data.repository.GenericRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 贷款申请数据处理类
+ */
+@Repository
+public interface LoanApplyDao extends CrudRepository<LoanApply, Long>, JpaSpecificationExecutor<LoanApply>, GenericRepository<LoanApply, Long> {
+
+
+
+}

+ 176 - 0
src/main/java/com/uas/platform/b2c/fa/factoring/model/LoanApply.java

@@ -0,0 +1,176 @@
+package com.uas.platform.b2c.fa.factoring.model;
+
+import javax.persistence.*;
+import java.util.Date;
+
+/**
+ * 贷款申请
+ * @author suntg
+ * @since 2018年3月12日20:12:47
+ */
+@Entity
+@Table(name = "fa$loan_apply")
+public class LoanApply {
+
+    /**
+     * 序列号
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @Id
+    @GeneratedValue
+    @Column(name = "la_id")
+    private Long id;
+
+    /**
+     * 申请时间
+     */
+    @Column(name = "la_date")
+    private Date date = new Date();
+
+    /**
+     * 用户称呼
+     */
+    @Column(name = "la_name")
+    private String name;
+
+    /**
+     * 用户企业名称
+     */
+    @Column(name = "la_enname")
+    private String enName;
+
+    /**
+     * 用户手机号
+     */
+    @Column(name = "la_tel")
+    private String tel;
+
+    /**
+     * 用户邮箱地址
+     */
+    @Column(name = "la_email")
+    private String email;
+
+    /**
+     * 用户QQ号
+     */
+    @Column(name = "la_qq")
+    private String qq;
+
+    /**
+     * 用户联系地址
+     */
+    @Column(name = "la_address")
+    private String address;
+
+    /**
+     * 申请金额
+     */
+    @Column(name = "la_amount")
+    private Double amount;
+
+    /**
+     * 备注
+     */
+    @Column(name = "la_remark")
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getTel() {
+        return tel;
+    }
+
+    public void setTel(String tel) {
+        this.tel = tel;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getQq() {
+        return qq;
+    }
+
+    public void setQq(String qq) {
+        this.qq = qq;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public Double getAmount() {
+        return amount;
+    }
+
+    public void setAmount(Double amount) {
+        this.amount = amount;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getEnName() {
+        return enName;
+    }
+
+    public void setEnName(String enName) {
+        this.enName = enName;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+
+    public String contact() {
+        StringBuffer s = new StringBuffer();
+        if (this.tel != null) {
+            s.append("手机号:" + this.tel);
+        }
+        if (this.email != null) {
+            s.append(" 邮箱:" + this.email);
+        }
+        if (this.qq != null) {
+            s.append(" QQ:" + this.qq);
+        }
+        return s.toString();
+    }
+
+}

+ 18 - 0
src/main/java/com/uas/platform/b2c/fa/factoring/service/LoanApplyService.java

@@ -0,0 +1,18 @@
+package com.uas.platform.b2c.fa.factoring.service;
+
+import com.uas.platform.b2c.fa.factoring.model.LoanApply;
+import com.uas.platform.b2c.prod.product.brand.modal.Brand;
+import com.uas.platform.core.model.PageParams;
+import org.springframework.data.domain.Page;
+
+/**
+ * 用户贷款申请服务
+ * @author suntg
+ * @since 2018年3月13日09:39:03
+ */
+public interface LoanApplyService {
+
+    public Page<LoanApply> getByPage(PageParams params);
+
+    public LoanApply save(LoanApply loanApply);
+}

+ 38 - 0
src/main/java/com/uas/platform/b2c/fa/factoring/service/impl/LoanApplyServiceImpl.java

@@ -0,0 +1,38 @@
+package com.uas.platform.b2c.fa.factoring.service.impl;
+
+import com.uas.platform.b2c.fa.factoring.dao.LoanApplyDao;
+import com.uas.platform.b2c.fa.factoring.model.LoanApply;
+import com.uas.platform.b2c.fa.factoring.service.LoanApplyService;
+import com.uas.platform.b2c.fa.payment.utils.StringUtils;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
+
+/**
+ * 用户贷款申请服务实现类
+ * @author suntg
+ * @since 2018年3月13日09:39:35
+ */
+@Service
+public class LoanApplyServiceImpl implements LoanApplyService {
+
+    @Autowired
+    private LoanApplyDao loanApplyDao;
+
+    @Override
+    public Page<LoanApply> getByPage(PageParams params) {
+        PageInfo pageable = new PageInfo(params);
+        if (pageable.getSort() == null) {
+            pageable.sorting("date", Sort.Direction.DESC);
+        }
+        return loanApplyDao.findAll(pageable);
+    }
+
+    @Override
+    public LoanApply save(LoanApply loanApply) {
+        return loanApplyDao.save(loanApply);
+    }
+}

+ 2 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java

@@ -350,8 +350,9 @@ public class ProductServiceImpl implements ProductService {
                 if (CollectionUtils.isEmpty(p)) {
                     ProductPerson productPerson = new ProductPerson();
                     productPerson.setUserUU(useruu);
+                    productPerson.setEnuu(SystemSession.getUser().getEnterprise().getUu());
                     productPerson.setProductId(prId);
-                    productPerson.setTime(new Date(System.currentTimeMillis()));
+                    productPerson.setTime(new Date());
                     productPersonDao.save(productPerson);
                 }
             }

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/rate/model/RateBuyer.java

@@ -9,7 +9,7 @@ import java.util.Date;
  * 卖家对买家的评价
  */
 @Entity
-@Table(name = "b2c$rate$buyer")
+@Table(name = "b2c$rate_buyer")
 public class RateBuyer implements Serializable{
 
     private static final long serialVersionUID = 1L;

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/rate/model/RateGoods.java

@@ -11,7 +11,7 @@ import java.util.Date;
  * 买家对商品的评价
  */
 @Entity
-@Table(name = "b2c$rate$goods")
+@Table(name = "b2c$rate_goods")
 public class RateGoods implements Serializable{
 
     private static final long serialVersionUID = 1L;

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/rate/model/RateTemplate.java

@@ -13,7 +13,7 @@ import java.util.Date;
  * 卖家的评价模版
  */
 @Entity
-@Table(name = "b2c$rate$template")
+@Table(name = "b2c$rate_template")
 public class RateTemplate implements Serializable{
 
     private static final long serialVersionUID = 1L;

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/rate/model/RateVendor.java

@@ -9,7 +9,7 @@ import java.util.Date;
  * 买家对已购买店铺的评价
  */
 @Entity
-@Table(name = "b2c$rate$vendor")
+@Table(name = "b2c$rate_vendor")
 public class RateVendor implements Serializable{
 
     private static final long serialVersionUID = 1L;

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/rate/service/impl/RateServiceImpl.java

@@ -75,7 +75,7 @@ public class RateServiceImpl implements RateService {
             throw new RuntimeException();
         }
         for (RateGoods rateGoods : rateGoodsList) {
-            //默认匿名评价
+            // 默认匿名评价
             rateGoods.setIsAnony(rateGoods.getIsAnony() == null ? isAnony : rateGoods.getIsAnony());
             rateGoods.setUserUU(SystemSession.getUser().getUserUU());
             rateGoods.setUserEnuu(SystemSession.getUser().getEnterprise().getUu());

+ 1 - 0
src/main/webapp/WEB-INF/spring/webmvc.xml

@@ -113,6 +113,7 @@
 			<mvc:exclude-mapping path="/seek/qualityBuyer/getBuyerPageInfo"/>
 			<mvc:exclude-mapping path="/seek/getSeekPageInfo"/>
 			<mvc:exclude-mapping path="/seek/getSeekRanking"/>
+			<mvc:exclude-mapping path="/seek/release/template"/>
 			<bean class="com.uas.platform.b2c.core.filter.SSOInterceptor"></bean>
 		</mvc:interceptor>
 		<!-- 对所有的请求拦截,将Session中的User信息设置进SystemSession -->

+ 4 - 2
src/main/webapp/WEB-INF/views/normal/adminWithNav.html

@@ -124,9 +124,11 @@
 			<li class="nav-node"><a href="#billInfo/admin"><i
 					class="fa fa-fire"></i><span> 平台发票信息管理</span></a></li>
 			<li class="nav-node"><a href="#pay/available"><i
-					class="icon-fire"></i><span> 买家付款有效时间</span></a></li>
+					class="fa fa-fire"></i><span> 买家付款有效时间</span></a></li>
 			<li class="nav-node"><a href="#pay/exchangerate"><i
-					class="icon-fire"></i><span>汇率设置</span></a></li>
+					class="fa fa-fire"></i><span> 汇率设置</span></a></li>
+			<li class="nav-node"><a href="#fa/loanApply"><i
+					class="fa fa-fire"></i><span> 贷款申请列表</span></a></li>
 
 			<li class="nav-header">审批</li>
 			<li class="nav-node"><a href="#audit/brand"><i

+ 26 - 18
src/main/webapp/resources/js/admin/app.js

@@ -1,4 +1,4 @@
- define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ui-form', 'ngLocal', 'ngTable', 'ngSanitize', 'ngDraggable', 'common/services', 'common/directives', 'common/query/brand', 'common/query/address', 'common/query/return' , 'common/query/change' ,'common/query/component', 'common/query/order', 'common/query/purchase', 'common/query/invoice', 'common/query/property', 'common/query/kind', 'common/query/property', 'common/query/receipt', 'common/query/logistics' ,'angular-toaster', 'ui-jquery', 'jquery-uploadify','common/query/dateParse' , 'common/query/bankTransfer' ,'common/query/bankInfo', 'common/query/urlencryption', 'common/query/bill', 'common/query/makerDemand', 'common/query/goods', 'common/query/validtime', 'file-upload','file-upload-shim', 'common/query/slideImage', 'common/query/kindAdvice', 'common/query/responseLogistics', 'common/query/search','common/directives/dynamicInput', 'common/query/auditorMail', 'common/query/tradeBasicProperties', 'common/query/exchangeRate', 'common/query/tradeDeliveryDelayTime', 'common/query/payment', 'common/query/kindContrast', 'common/query/crawlTask', 'common/query/afterSale', 'common/query/refund', 'common/query/messageBoard', 'common/query/logisticsPort', 'common/query/storeInfo', 'common/query/cms', 'common/query/help', 'common/query/commonCount', 'common/module/store_admin_violations_module', 'common/query/internalMessage','common/query/user','common/query/secQuestion','common/query/keyWord','common/query/logUsage','common/query/seekQualityBuyer','common/query/seekSalesman'], function(angularAMD) {
+ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ui-form', 'ngLocal', 'ngTable', 'ngSanitize', 'ngDraggable', 'common/services', 'common/directives', 'common/query/brand', 'common/query/address', 'common/query/return' , 'common/query/change' ,'common/query/component', 'common/query/order', 'common/query/purchase', 'common/query/invoice', 'common/query/property', 'common/query/kind', 'common/query/property', 'common/query/receipt', 'common/query/logistics' ,'angular-toaster', 'ui-jquery', 'jquery-uploadify','common/query/dateParse' , 'common/query/bankTransfer' ,'common/query/bankInfo', 'common/query/urlencryption', 'common/query/bill', 'common/query/makerDemand', 'common/query/goods', 'common/query/validtime', 'file-upload','file-upload-shim', 'common/query/slideImage', 'common/query/kindAdvice', 'common/query/responseLogistics', 'common/query/search','common/directives/dynamicInput', 'common/query/auditorMail', 'common/query/tradeBasicProperties', 'common/query/exchangeRate', 'common/query/tradeDeliveryDelayTime', 'common/query/payment', 'common/query/kindContrast', 'common/query/crawlTask', 'common/query/afterSale', 'common/query/refund', 'common/query/messageBoard', 'common/query/logisticsPort', 'common/query/storeInfo', 'common/query/cms', 'common/query/help', 'common/query/commonCount', 'common/module/store_admin_violations_module', 'common/query/internalMessage','common/query/user','common/query/secQuestion','common/query/keyWord','common/query/logUsage','common/query/seekQualityBuyer','common/query/loanApply', 'common/query/seekSalesman'], function(angularAMD) {
 	'use strict';
 
 	 /**
@@ -8,7 +8,7 @@
 		 return this.length > 0 ? this[this.length - 1] : null;
 	 };
 
-	var app = angular.module('myApp', [ 'ui.router', 'ui.bootstrap', 'ui.form', 'ng.local', 'ngTable', 'ngSanitize', 'ngDraggable', 'common.services', 'common.directives', 'brandServices', 'addressServices', 'returnServices', 'changeServices', 'componentServices', 'orderServices', 'purchaseServices', 'invoiceServices', 'propertyServices', 'receiptServices', 'logisticsServices', 'common.query.kind', 'toaster','ui.jquery' ,'dateparseServices', 'bankInfo' , 'bankTransfer', 'urlencryptionServices', 'billServices', 'makerDemand', 'goodsServices', 'validtimeServices', 'angularFileUpload', 'slideImageService', 'common.query.kindAdvice', 'responseLogisticsService', 'searchService', 'ngDynamicInput', 'ReviewerEmailInfoService', 'tradeBasicPropertiesServices', 'exchangeRateModule', 'tradeDeliveryDelayTimeModule', 'PaymentService', 'kindContrastServices', 'crawlTaskServices', 'afterSaleService', 'refundModule', 'messageBoardServices', 'logisticsPortService', 'storeInfoServices', 'cmsService', 'helpServices', 'commonCountServices', 'tool.directives', 'StoreAdminViolationsModule', 'internalMessageServices','common.query.user','secQuestionServices','keyWordServices','logUsageServices','seekQualityBuyerServices','seekSalesmanServices']);
+	var app = angular.module('myApp', [ 'ui.router', 'ui.bootstrap', 'ui.form', 'ng.local', 'ngTable', 'ngSanitize', 'ngDraggable', 'common.services', 'common.directives', 'brandServices', 'addressServices', 'returnServices', 'changeServices', 'componentServices', 'orderServices', 'purchaseServices', 'invoiceServices', 'propertyServices', 'receiptServices', 'logisticsServices', 'common.query.kind', 'toaster','ui.jquery' ,'dateparseServices', 'bankInfo' , 'bankTransfer', 'urlencryptionServices', 'billServices', 'makerDemand', 'goodsServices', 'validtimeServices', 'angularFileUpload', 'slideImageService', 'common.query.kindAdvice', 'responseLogisticsService', 'searchService', 'ngDynamicInput', 'ReviewerEmailInfoService', 'tradeBasicPropertiesServices', 'exchangeRateModule', 'tradeDeliveryDelayTimeModule', 'PaymentService', 'kindContrastServices', 'crawlTaskServices', 'afterSaleService', 'refundModule', 'messageBoardServices', 'logisticsPortService', 'storeInfoServices', 'cmsService', 'helpServices', 'commonCountServices', 'tool.directives', 'StoreAdminViolationsModule', 'internalMessageServices','common.query.user','secQuestionServices','keyWordServices','logUsageServices','seekQualityBuyerServices', 'loanApplyService', 'seekSalesmanServices']);
 	app.init = function() {
 		angularAMD.bootstrap(app);
 	};
@@ -395,12 +395,12 @@
 			controller: 'AuditBankInfoCtrl',
 			controllerUrl: 'app/controllers/bankInfo/AuditBankInfoCtrl'
 		})).state('audit_realAuth', angularAMD.route({
-      // 实名认证审核
-      url: '/audit/realAuth',
-      templateUrl: 'static/view/admin/audit_realAuth.html',
-      controller: 'AuditRealAuthCtrl',
-      controllerUrl: 'app/controllers/AuditRealAuthCtrl'
-    })).state('uploadComponentCrawl', angularAMD.route({
+			// 实名认证审核
+			url: '/audit/realAuth',
+			templateUrl: 'static/view/admin/audit_realAuth.html',
+			controller: 'AuditRealAuthCtrl',
+			controllerUrl: 'app/controllers/AuditRealAuthCtrl'
+		})).state('uploadComponentCrawl', angularAMD.route({
 			// 上传爬取数据页面
 			url: '/product/componentCrawl/upload',
 			templateUrl : 'static/view/admin/product/uploadComponentCrawl.html',
@@ -604,6 +604,7 @@
       controllerUrl: 'app/controllers/LogUsageCtrl',
       title: '用户操作日志'
     })).state('seekQualityBuyer', angularAMD.route({
+
       url: '/seekQualityBuyer',
       templateUrl: 'static/view/admin/seekQualityBuyer.html',
       controller: 'SeekQualityBuyerCtrl',
@@ -621,7 +622,7 @@
 		templateUrl : 'static/view/admin/seek_salesman_detail.html',
 		controller : 'SeekSalesmanDetailCtrl',
 		controllerUrl : 'app/controllers/SeekSalesmanDetailCtrl'
-	})).state('keyWord', angularAMD.route({
+    })).state('keyWord', angularAMD.route({
       url: '/keyWord',
       templateUrl: 'static/view/admin/keyword.html',
       controller: 'KeyWordCtrl',
@@ -635,13 +636,13 @@
 			controllerUrl: 'app/controllers/operation/SlideImageCtrl',
 			title: '轮播图片管理'
 		})).state('secQuestion', angularAMD.route({
-      // 密保问题维护
-      url: '/secQuestion',
-      templateUrl: 'static/view/admin/sec_question.html',
-      controller: 'SecQuestionCtrl',
-      controllerUrl: 'app/controllers/SecQuestionCtrl',
-      title: '密保问题维护'
-    })).state('logisticsCompany', angularAMD.route({
+			// 密保问题维护
+			url: '/secQuestion',
+			templateUrl: 'static/view/admin/sec_question.html',
+			controller: 'SecQuestionCtrl',
+			controllerUrl: 'app/controllers/SecQuestionCtrl',
+			title: '密保问题维护'
+    	})).state('logisticsCompany', angularAMD.route({
 			// 首页展示(快递公司管理)
 			url: '/logistics/company',
 			templateUrl: 'static/view/admin/logistics/logistics_company.html',
@@ -773,7 +774,14 @@
 			controller: 'internalMessageListCtrl',
 			controllerUrl: 'app/controllers/common/message/internalMessageListCtrl',
 			title: '消息列表'
-		}));
+		})).state('loanApplyList', angularAMD.route({
+            // 消息列表
+            url: '/fa/loanApply',
+            templateUrl: 'static/view/admin/fa/loanApplyList.html',
+            controller: 'LoanApplyListCtrl',
+            controllerUrl: 'app/controllers/fa/LoanApplyListCtrl',
+            title: '贷款申请列表'
+        }));
 		
 		$httpProvider.interceptors.push(['Loading', '$q', function(Loading, $q) {
 			return {
@@ -920,6 +928,6 @@
              return typeof str == 'string' && str != 'RMB' && str != 'USD' ? str.startsWith('RMB') ? '¥' + str.substring(3, str.length) : '$' + str.substring(3, str.length) : '-';
          }
      });
-	
+
 	return app;
 });

+ 24 - 0
src/main/webapp/resources/js/admin/controllers/fa/LoanApplyListCtrl.js

@@ -0,0 +1,24 @@
+define(['app/app'], function (app) {
+  'use strict';
+  app.register.controller('LoanApplyListCtrl', ['$scope', 'ngTableParams', 'LoanApply', 'toaster', 'BaseService', function ($scope, ngTableParams, LoanApply, toaster, BaseService) {
+    //table设置
+    $scope.logUsageTableParams = new ngTableParams({
+      page : 1,
+      count : 20
+    }, {
+      total : 0,
+      getData : function ($defer, params) {
+        $scope.paginationParams = params;
+        const param = BaseService.parseParams(params.url());
+          LoanApply.getAllByPage(param, function (data) {
+          params.total(data.totalElements);
+          $defer.resolve(data.content);
+        }, function (response) {
+          toaster.pop('error', '获取用户贷款申请列表失败');
+        });
+      }
+    });
+
+
+  }]);
+});

+ 9 - 0
src/main/webapp/resources/js/common/query/loanApply.js

@@ -0,0 +1,9 @@
+define([ 'ngResource' ], function() {
+	angular.module('loanApplyService', [ 'ngResource' ]).factory('LoanApply', ['$resource', function($resource) {
+		return $resource('api/fa/loanApply', {}, {
+      		getAllByPage:{
+				method:'GET'
+			}
+		});
+	}])
+});

+ 58 - 0
src/main/webapp/resources/view/admin/fa/loanApplyList.html

@@ -0,0 +1,58 @@
+<style>
+.row {
+	margin-bottom: 10px;
+}
+</style>
+<div>
+	<div class="box-header well">
+		用户贷款申请记录
+	</div>
+	<div  class="box-content">
+		<div class="row">
+			<div class="col-xs-1">
+				<p style="margin-top: 8px; font-weight: bold;">
+					共<span class="totalNum">{{paginationParams.total()}}</span>条
+				</p>
+			</div>
+			<!--<div class="col-xs-offset-4 col-xs-7">
+				<div class="input-group">
+					<select ng-model="search" style="width:20%;" class="form-control">
+						<option value="">请选择查询条件</option>
+						<option value="1">UU号</option>
+						<option value="2">用户名</option>
+					</select>
+					<input type="search" style="width:80%;" class="form-control" ng-model="searchContent"
+						ng-search="onSearch()" placeholder="请输入搜索内容">
+					<span class="input-group-btn">
+						<button ng-click="onSearch()" class="btn btn-primary" type="button">搜索</button>
+					</span>
+				</div>
+			</div>-->
+		</div>
+
+		<p ng-model="test"></p>
+		<table ng-table="logUsageTableParams"
+			class="table table-bordered table-striped table-hover" style="word-break:break-all; word-wrap:break-all;">
+			<thead>
+				<tr class="tr-default">
+					<th width="10%;" class="text-center">申请时间</th>
+					<th width="7%;" class="text-center">客户称呼</th>
+					<th width="30%" class="text-center">联系方式</th>
+					<th width="20%" class="text-center">申请金额</th>
+				</tr>
+			</thead>
+			<tbody ng-repeat="apply in $data">
+				<tr class="text-center">
+					<td><span ng-bind="apply.date | date:'yyyy-MM-dd HH:mm:ss'"></span></td>
+					<td><span ng-bind="apply.name"></span></td>
+					<td>
+						<span ng-if="apply.tel">手机号:<span ng-bind="apply.tel"></span>;</span>
+						<span ng-if="apply.email">邮箱:<span ng-bind="apply.email"></span>;</span>
+						<span ng-if="apply.qq">QQ:<span ng-bind="apply.qq"></span>;</span>
+					</td>
+					<td><span ng-bind="apply.amount || '未知'"></span></td>
+				</tr>
+			</tbody>
+		</table>
+	</div>
+</div>