From 62825979d57cf6977fe6f8664b717b1f1049d014 Mon Sep 17 00:00:00 2001 From: Xia Kaixiang Date: Sun, 26 May 2019 13:56:49 +0800 Subject: [PATCH] =?utf8?q?=E6=B5=81=E6=B0=B4=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../supwisdom/dlpay/api/dao/PersondtlDao.java | 7 +- .../supwisdom/dlpay/api/dao/ShopdtlDao.java | 7 +- .../dlpay/framework/domain/TShopacc.java | 6 - .../dlpay/system/bean/ShopdtlSearchBean.java | 85 +++++++++++++ .../dlpay/system/bean/UserdtlSearchBean.java | 85 +++++++++++++ .../system/controller/DtlController.java | 77 ++++++++++++ .../dlpay/system/service/DtlDataService.java | 17 +++ .../service/impl/DtlDataServiceImpl.java | 116 ++++++++++++++++++ .../templates/system/dtl/shopdtl.html | 19 +++ .../templates/system/dtl/userdtl.html | 59 +++++++++ .../templates/system/shop/index.html | 8 +- 11 files changed, 472 insertions(+), 14 deletions(-) create mode 100644 src/main/java/com/supwisdom/dlpay/system/bean/ShopdtlSearchBean.java create mode 100644 src/main/java/com/supwisdom/dlpay/system/bean/UserdtlSearchBean.java create mode 100644 src/main/java/com/supwisdom/dlpay/system/controller/DtlController.java create mode 100644 src/main/java/com/supwisdom/dlpay/system/service/DtlDataService.java create mode 100644 src/main/java/com/supwisdom/dlpay/system/service/impl/DtlDataServiceImpl.java create mode 100644 src/main/resources/templates/system/dtl/shopdtl.html create mode 100644 src/main/resources/templates/system/dtl/userdtl.html diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java b/src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java index 2ee45500..467ac479 100644 --- a/src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java +++ b/src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java @@ -1,7 +1,10 @@ package com.supwisdom.dlpay.api.dao; import com.supwisdom.dlpay.api.domain.TPersondtl; -import org.springframework.data.repository.CrudRepository; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.stereotype.Repository; -public interface PersondtlDao extends CrudRepository { +@Repository +public interface PersondtlDao extends JpaRepository,JpaSpecificationExecutor { } diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/ShopdtlDao.java b/src/main/java/com/supwisdom/dlpay/api/dao/ShopdtlDao.java index 42f928fa..d8dda28b 100644 --- a/src/main/java/com/supwisdom/dlpay/api/dao/ShopdtlDao.java +++ b/src/main/java/com/supwisdom/dlpay/api/dao/ShopdtlDao.java @@ -1,7 +1,10 @@ package com.supwisdom.dlpay.api.dao; import com.supwisdom.dlpay.api.domain.TShopdtl; -import org.springframework.data.repository.CrudRepository; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.stereotype.Repository; -public interface ShopdtlDao extends CrudRepository { +@Repository +public interface ShopdtlDao extends JpaRepository,JpaSpecificationExecutor { } diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java b/src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java index 71ef3a84..9d8b8b4c 100644 --- a/src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java +++ b/src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java @@ -1,16 +1,10 @@ package com.supwisdom.dlpay.framework.domain; -import com.supwisdom.dlpay.framework.util.HmacUtil; -import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; -import sun.misc.Cleaner; - import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; -import java.math.BigDecimal; import java.sql.Timestamp; -import java.util.Calendar; @Entity @Table(name = "TB_SHOPACC") diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/ShopdtlSearchBean.java b/src/main/java/com/supwisdom/dlpay/system/bean/ShopdtlSearchBean.java new file mode 100644 index 00000000..5ff79885 --- /dev/null +++ b/src/main/java/com/supwisdom/dlpay/system/bean/ShopdtlSearchBean.java @@ -0,0 +1,85 @@ +package com.supwisdom.dlpay.system.bean; + +public class ShopdtlSearchBean { + private String startAccdate; + private String endAccdate; + private String startTransdate; + private String endTransdate; + private String shopname; + private String paytype; + private String tradeflag; + private String transcode; + private String status; + + public String getStartAccdate() { + return startAccdate; + } + + public void setStartAccdate(String startAccdate) { + this.startAccdate = startAccdate; + } + + public String getEndAccdate() { + return endAccdate; + } + + public void setEndAccdate(String endAccdate) { + this.endAccdate = endAccdate; + } + + public String getStartTransdate() { + return startTransdate; + } + + public void setStartTransdate(String startTransdate) { + this.startTransdate = startTransdate; + } + + public String getEndTransdate() { + return endTransdate; + } + + public void setEndTransdate(String endTransdate) { + this.endTransdate = endTransdate; + } + + public String getShopname() { + return shopname; + } + + public void setShopname(String shopname) { + this.shopname = shopname; + } + + public String getPaytype() { + return paytype; + } + + public void setPaytype(String paytype) { + this.paytype = paytype; + } + + public String getTradeflag() { + return tradeflag; + } + + public void setTradeflag(String tradeflag) { + this.tradeflag = tradeflag; + } + + public String getTranscode() { + return transcode; + } + + public void setTranscode(String transcode) { + this.transcode = transcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/UserdtlSearchBean.java b/src/main/java/com/supwisdom/dlpay/system/bean/UserdtlSearchBean.java new file mode 100644 index 00000000..4bcc45ad --- /dev/null +++ b/src/main/java/com/supwisdom/dlpay/system/bean/UserdtlSearchBean.java @@ -0,0 +1,85 @@ +package com.supwisdom.dlpay.system.bean; + +public class UserdtlSearchBean { + private String startAccdate; + private String endAccdate; + private String startTransdate; + private String endTransdate; + private String personname; + private String paytype; + private String tradeflag; + private String transcode; + private String status; + + public String getStartAccdate() { + return startAccdate; + } + + public void setStartAccdate(String startAccdate) { + this.startAccdate = startAccdate; + } + + public String getEndAccdate() { + return endAccdate; + } + + public void setEndAccdate(String endAccdate) { + this.endAccdate = endAccdate; + } + + public String getStartTransdate() { + return startTransdate; + } + + public void setStartTransdate(String startTransdate) { + this.startTransdate = startTransdate; + } + + public String getEndTransdate() { + return endTransdate; + } + + public void setEndTransdate(String endTransdate) { + this.endTransdate = endTransdate; + } + + public String getPersonname() { + return personname; + } + + public void setPersonname(String personname) { + this.personname = personname; + } + + public String getPaytype() { + return paytype; + } + + public void setPaytype(String paytype) { + this.paytype = paytype; + } + + public String getTradeflag() { + return tradeflag; + } + + public void setTradeflag(String tradeflag) { + this.tradeflag = tradeflag; + } + + public String getTranscode() { + return transcode; + } + + public void setTranscode(String transcode) { + this.transcode = transcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/DtlController.java b/src/main/java/com/supwisdom/dlpay/system/controller/DtlController.java new file mode 100644 index 00000000..de2d1b01 --- /dev/null +++ b/src/main/java/com/supwisdom/dlpay/system/controller/DtlController.java @@ -0,0 +1,77 @@ +package com.supwisdom.dlpay.system.controller; + +import com.supwisdom.dlpay.api.domain.TPersondtl; +import com.supwisdom.dlpay.api.domain.TShopdtl; +import com.supwisdom.dlpay.framework.util.PageResult; +import com.supwisdom.dlpay.framework.util.WebConstant; +import com.supwisdom.dlpay.system.bean.ShopdtlSearchBean; +import com.supwisdom.dlpay.system.bean.UserdtlSearchBean; +import com.supwisdom.dlpay.system.service.DtlDataService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +@Controller +public class DtlController { + @Autowired + private DtlDataService dtlDataService; + + /** + * ==================================================== + * 个人流水查询 + * ==================================================== + */ + @GetMapping("/dtl/userdtl") + public String userdtlView() { + return "system/dtl/userdtl"; + } + + @GetMapping("/dtl/userdtllist") + @PreAuthorize("hasPermission('/dtl/userdtl','')") + @ResponseBody + public PageResult searchUserdtlPage(@RequestParam("page") Integer pageNo, + @RequestParam("limit") Integer pageSize, + @RequestParam(value = "paraid", required = false) Integer paraid, + @RequestParam(value = "paraname", required = false) String paraname) { + try { + if (null == pageNo || pageNo < 1) pageNo = WebConstant.PAGENO_DEFAULT; + if (null == pageSize || pageSize < 1) pageSize = WebConstant.PAGESIZE_DEFAULT; + UserdtlSearchBean searchBean = new UserdtlSearchBean(); + return dtlDataService.getPersondtlPage(searchBean, pageNo, pageSize); + } catch (Exception e) { + e.printStackTrace(); + return new PageResult<>(99, "系统查询错误"); + } + } + + /** + * ==================================================== + * 商户流水查询 + * ==================================================== + */ + @GetMapping("/dtl/shopdtl") + public String shopdtlView() { + return "system/dtl/shopdtl"; + } + + @GetMapping("/dtl/shopdtllist") + @PreAuthorize("hasPermission('/dtl/shopdtl','')") + @ResponseBody + public PageResult searchUserdtlPage(@RequestParam("page") Integer pageNo, + @RequestParam("limit") Integer pageSize, + @RequestParam(value = "paraid", required = false) Integer paraid) { + try { + if (null == pageNo || pageNo < 1) pageNo = WebConstant.PAGENO_DEFAULT; + if (null == pageSize || pageSize < 1) pageSize = WebConstant.PAGESIZE_DEFAULT; + ShopdtlSearchBean searchBean = new ShopdtlSearchBean(); + return dtlDataService.getShopdtlPage(searchBean, pageNo, pageSize); + } catch (Exception e) { + e.printStackTrace(); + return new PageResult<>(99, "系统查询错误"); + } + } + +} diff --git a/src/main/java/com/supwisdom/dlpay/system/service/DtlDataService.java b/src/main/java/com/supwisdom/dlpay/system/service/DtlDataService.java new file mode 100644 index 00000000..4389e1c1 --- /dev/null +++ b/src/main/java/com/supwisdom/dlpay/system/service/DtlDataService.java @@ -0,0 +1,17 @@ +package com.supwisdom.dlpay.system.service; + +import com.supwisdom.dlpay.api.domain.TPersondtl; +import com.supwisdom.dlpay.api.domain.TShopdtl; +import com.supwisdom.dlpay.framework.util.PageResult; +import com.supwisdom.dlpay.system.bean.ShopdtlSearchBean; +import com.supwisdom.dlpay.system.bean.UserdtlSearchBean; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +public interface DtlDataService { + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, readOnly = true) + PageResult getPersondtlPage(UserdtlSearchBean searchBean, int pageNo, int pageSize); + + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, readOnly = true) + PageResult getShopdtlPage(ShopdtlSearchBean searchBean, int pageNo, int pageSize); +} diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/DtlDataServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/DtlDataServiceImpl.java new file mode 100644 index 00000000..6f7b1ba4 --- /dev/null +++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/DtlDataServiceImpl.java @@ -0,0 +1,116 @@ +package com.supwisdom.dlpay.system.service.impl; + +import com.supwisdom.dlpay.api.dao.PersondtlDao; +import com.supwisdom.dlpay.api.dao.ShopdtlDao; +import com.supwisdom.dlpay.api.domain.TPersondtl; +import com.supwisdom.dlpay.api.domain.TShopdtl; +import com.supwisdom.dlpay.framework.util.DateUtil; +import com.supwisdom.dlpay.framework.util.PageResult; +import com.supwisdom.dlpay.framework.util.StringUtil; +import com.supwisdom.dlpay.system.bean.ShopdtlSearchBean; +import com.supwisdom.dlpay.system.bean.UserdtlSearchBean; +import com.supwisdom.dlpay.system.service.DtlDataService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.domain.Specification; +import org.springframework.stereotype.Service; + +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; +import java.util.ArrayList; +import java.util.List; + +@Service +public class DtlDataServiceImpl implements DtlDataService { + @Autowired + private PersondtlDao persondtlDao; + @Autowired + private ShopdtlDao shopdtlDao; + + @Override + public PageResult getPersondtlPage(UserdtlSearchBean searchBean, int pageNo, int pageSize) { + Pageable pageable = PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC, "refno")); + Page page = persondtlDao.findAll(new Specification() { + @Override + public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder criteriaBuilder) { + List predicates = new ArrayList<>(); + if(!StringUtil.isEmpty(searchBean.getStartAccdate())){ + predicates.add(criteriaBuilder.ge(root.get("accdate").as(Integer.class),Integer.valueOf(DateUtil.unParseToDateFormat(searchBean.getStartAccdate())))); + } + if(!StringUtil.isEmpty(searchBean.getEndAccdate())){ + predicates.add(criteriaBuilder.le(root.get("accdate").as(Integer.class),Integer.valueOf(DateUtil.unParseToDateFormat(searchBean.getEndAccdate())))); + } + if(!StringUtil.isEmpty(searchBean.getStartTransdate())){ + predicates.add(criteriaBuilder.ge(root.get("transdate").as(Integer.class),Integer.valueOf(DateUtil.unParseToDateFormat(searchBean.getStartTransdate())))); + + } + if(!StringUtil.isEmpty(searchBean.getEndTransdate())){ + predicates.add(criteriaBuilder.le(root.get("transdate").as(Integer.class),Integer.valueOf(DateUtil.unParseToDateFormat(searchBean.getEndTransdate())))); + } + if(!StringUtil.isEmpty(searchBean.getPersonname())){ + predicates.add(criteriaBuilder.like(root.get("username").as(String.class), "%" + searchBean.getPersonname().trim() + "%")); + } + if(!StringUtil.isEmpty(searchBean.getPaytype())){ + predicates.add(criteriaBuilder.equal(root.get("paytype").as(String.class), searchBean.getPaytype().trim())); + } + if(!StringUtil.isEmpty(searchBean.getTradeflag())){ + predicates.add(criteriaBuilder.equal(root.get("tradeflag").as(String.class), searchBean.getTradeflag().trim())); + } + if(!StringUtil.isEmpty(searchBean.getTranscode())){ + predicates.add(criteriaBuilder.equal(root.get("transcode").as(String.class), searchBean.getTranscode().trim())); + } + if(!StringUtil.isEmpty(searchBean.getStatus())){ + predicates.add(criteriaBuilder.equal(root.get("status").as(String.class), searchBean.getStatus().trim())); + } + return criteriaBuilder.and(predicates.toArray(new Predicate[0])); + } + }, pageable); + return new PageResult<>(page); + } + + @Override + public PageResult getShopdtlPage(ShopdtlSearchBean searchBean, int pageNo, int pageSize) { + Pageable pageable = PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC, "refno")); + Page page = shopdtlDao.findAll(new Specification() { + @Override + public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder criteriaBuilder) { + List predicates = new ArrayList<>(); + if(!StringUtil.isEmpty(searchBean.getStartAccdate())){ + predicates.add(criteriaBuilder.ge(root.get("accdate").as(Integer.class),Integer.valueOf(DateUtil.unParseToDateFormat(searchBean.getStartAccdate())))); + } + if(!StringUtil.isEmpty(searchBean.getEndAccdate())){ + predicates.add(criteriaBuilder.le(root.get("accdate").as(Integer.class),Integer.valueOf(DateUtil.unParseToDateFormat(searchBean.getEndAccdate())))); + } + if(!StringUtil.isEmpty(searchBean.getStartTransdate())){ + predicates.add(criteriaBuilder.ge(root.get("transdate").as(Integer.class),Integer.valueOf(DateUtil.unParseToDateFormat(searchBean.getStartTransdate())))); + + } + if(!StringUtil.isEmpty(searchBean.getEndTransdate())){ + predicates.add(criteriaBuilder.le(root.get("transdate").as(Integer.class),Integer.valueOf(DateUtil.unParseToDateFormat(searchBean.getEndTransdate())))); + } + if(!StringUtil.isEmpty(searchBean.getShopname())){ + predicates.add(criteriaBuilder.like(root.get("shopname").as(String.class), "%" + searchBean.getShopname().trim() + "%")); + } + if(!StringUtil.isEmpty(searchBean.getPaytype())){ + predicates.add(criteriaBuilder.equal(root.get("paytype").as(String.class), searchBean.getPaytype().trim())); + } + if(!StringUtil.isEmpty(searchBean.getTradeflag())){ + predicates.add(criteriaBuilder.equal(root.get("tradeflag").as(String.class), searchBean.getTradeflag().trim())); + } + if(!StringUtil.isEmpty(searchBean.getTranscode())){ + predicates.add(criteriaBuilder.equal(root.get("transcode").as(String.class), searchBean.getTranscode().trim())); + } + if(!StringUtil.isEmpty(searchBean.getStatus())){ + predicates.add(criteriaBuilder.equal(root.get("status").as(String.class), searchBean.getStatus().trim())); + } + return criteriaBuilder.and(predicates.toArray(new Predicate[0])); + } + }, pageable); + return new PageResult<>(page); + } +} diff --git a/src/main/resources/templates/system/dtl/shopdtl.html b/src/main/resources/templates/system/dtl/shopdtl.html new file mode 100644 index 00000000..9fc1cc34 --- /dev/null +++ b/src/main/resources/templates/system/dtl/shopdtl.html @@ -0,0 +1,19 @@ +
+
+

商户流水查询

+ + 流水管理 + 商户流水查询 + +
+
+
+ 搜索: +   + + +
+
+
+
\ No newline at end of file diff --git a/src/main/resources/templates/system/dtl/userdtl.html b/src/main/resources/templates/system/dtl/userdtl.html new file mode 100644 index 00000000..987e8698 --- /dev/null +++ b/src/main/resources/templates/system/dtl/userdtl.html @@ -0,0 +1,59 @@ +
+
+

个人流水查询

+ + 流水管理 + 个人流水查询 + +
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+
+ + + +
+ 搜索: +   + + +
+
+
+
\ No newline at end of file diff --git a/src/main/resources/templates/system/shop/index.html b/src/main/resources/templates/system/shop/index.html index b056909f..e93f0986 100644 --- a/src/main/resources/templates/system/shop/index.html +++ b/src/main/resources/templates/system/shop/index.html @@ -135,7 +135,7 @@
- +
@@ -252,7 +252,7 @@ $("#shop-info").hide(); }); - form.on('submit(form-submit)', function (data) { + form.on('submit(form-submit-shop-btn)', function (data) { layer.load(2); var vdata = data.field; vdata["_csrf"] = $("meta[name='_csrf_token']").attr("value"); @@ -332,7 +332,7 @@ $("#fshopid").attr("readonly", "readonly"); $("#shoptype").removeAttr("disabled"); form.render('select'); - $("#submitbtn").text("新增"); + $("#submitbtn-shop-btn").text("新增"); $("#shop-info").show(); return false; }); @@ -349,7 +349,7 @@ $("#fshopid").removeAttr("readonly"); $("#shoptype").attr('disabled', 'disabled'); form.render('select'); - $("#submitbtn").text("保存"); + $("#submitbtn-shop-btn").text("保存"); $("#shop-info").show(); } else if (data.code == 401) { layer.msg(data.msg, {icon: 2, time: 1500}, function () { -- 2.17.1