积分规则其他设置
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPersonLevel.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPersonLevel.java
index 33027d8..b6dd60b 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPersonLevel.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPersonLevel.java
@@ -22,7 +22,6 @@
private Integer pointsLower;
@Column(name = "POINTSUPPER")
- @NotNull
private Integer pointsUpper;
@Column(name = "UPDATETIME")
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/bean/LevelBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/LevelBean.java
index 964ef8c..cbfbee5 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/bean/LevelBean.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/LevelBean.java
@@ -26,6 +26,78 @@
private String startDate;
private String endDate;
private String pointsName;
+ private String consumePointsLi;
+ private String taskPointsLi;
+ private String dayPointsLi;
+ private Integer pointsSum;
+ private Integer pointsCount;
+ private Integer refno;
+ private List<Integer> refnoList;
+
+ public Integer getRefno() {
+ return refno;
+ }
+
+ public void setRefno(Integer refno) {
+ this.refno = refno;
+ }
+
+ public List<Integer> getRefnoList() {
+ return refnoList;
+ }
+
+ public void setRefnoList(List<Integer> refnoList) {
+ this.refnoList = refnoList;
+ }
+
+ public Integer getPointsSum() {
+ return pointsSum;
+ }
+
+ public void setPointsSum(Integer pointsSum) {
+ this.pointsSum = pointsSum;
+ }
+
+ public Integer getPointsCount() {
+ return pointsCount;
+ }
+
+ public void setPointsCount(Integer pointsCount) {
+ this.pointsCount = pointsCount;
+ }
+
+ public LevelBean() {
+ }
+
+ public LevelBean(String name, String startDate, String endDate) {
+ this.name = name;
+ this.startDate = startDate;
+ this.endDate = endDate;
+ }
+
+ public String getConsumePointsLi() {
+ return consumePointsLi;
+ }
+
+ public void setConsumePointsLi(String consumePointsLi) {
+ this.consumePointsLi = consumePointsLi;
+ }
+
+ public String getTaskPointsLi() {
+ return taskPointsLi;
+ }
+
+ public void setTaskPointsLi(String taskPointsLi) {
+ this.taskPointsLi = taskPointsLi;
+ }
+
+ public String getDayPointsLi() {
+ return dayPointsLi;
+ }
+
+ public void setDayPointsLi(String dayPointsLi) {
+ this.dayPointsLi = dayPointsLi;
+ }
public String getPointsName() {
return pointsName;
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/controller/PointsController.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/PointsController.java
index e3f43e0..7d242d3 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/controller/PointsController.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/PointsController.java
@@ -2,16 +2,23 @@
import com.supwisdom.dlpay.api.bean.JsonResult;
import com.supwisdom.dlpay.framework.dao.DictionaryDao;
+import com.supwisdom.dlpay.framework.dao.SysparaDao;
import com.supwisdom.dlpay.framework.domain.*;
import com.supwisdom.dlpay.framework.security.OperUtil;
import com.supwisdom.dlpay.framework.util.*;
+import com.supwisdom.dlpay.system.bean.CitizenCardSearchBean;
+import com.supwisdom.dlpay.system.bean.CitizenCardShowBean;
import com.supwisdom.dlpay.system.bean.LevelBean;
import com.supwisdom.dlpay.system.service.OperatorService;
+import com.supwisdom.dlpay.system.service.ParamService;
import com.supwisdom.dlpay.system.service.PointsService;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -37,8 +44,7 @@
public JsonResult getDataList() {
try {
LevelBean levelBean = pointsService.getLevel();
- return JsonResult.ok().put("datalist",levelBean.gettPersonLevels())
- .put("pointsdate",levelBean.getPointsdate());
+ return JsonResult.ok().put("datalist", levelBean.gettPersonLevels());
} catch (Exception e) {
e.printStackTrace();
return JsonResult.error("系统查询错误");
@@ -55,13 +61,12 @@
}
for (TPersonLevel tPersonLevel : levelBean.gettPersonLevels()) {
if (StringUtil.isEmpty(tPersonLevel.getName())
- || tPersonLevel.getPointsLower() == null
- || tPersonLevel.getPointsUpper() == null) {
+ || tPersonLevel.getPointsLower() == null) {
return JsonResult.error("参数错误");
}
- if (tPersonLevel.getPointsLower() > tPersonLevel.getPointsUpper()) {
+ /* if (tPersonLevel.getPointsLower() > tPersonLevel.getPointsUpper()) {
return JsonResult.error("积分下限必须小于积分上限");
- }
+ }*/
tPersonLevel.setUpdatetime(DateUtil.getNow());
tPersonLevel.setOperatorid(operator.getOpercode());
}
@@ -123,9 +128,9 @@
@ResponseBody
public PageResult<TPointsDetail> getTPointsByname(@RequestParam("name") String name,
@RequestParam("idno") String idno,
- @RequestParam(value = "startDate",required = false) String startDate,
- @RequestParam(value = "endDate",required = false) String endDate,
- @RequestParam(value = "pointsName",required = false) String pointsName,
+ @RequestParam(value = "startDate", required = false) String startDate,
+ @RequestParam(value = "endDate", required = false) String endDate,
+ @RequestParam(value = "pointsName", required = false) String pointsName,
@RequestParam("page") Integer pageNo,
@RequestParam("limit") Integer pageSize) {
try {
@@ -134,13 +139,13 @@
searchBean.setIdno(idno);
searchBean.setPageNo(pageNo);
searchBean.setPageSize(pageSize);
- if(!StringUtil.isEmpty(startDate)){
- searchBean.setStartDate(DateUtil.formatDateStr(startDate,"yyyy年MM月dd日","yyyyMMdd"));
+ if (!StringUtil.isEmpty(startDate)) {
+ searchBean.setStartDate(DateUtil.formatDateStr(startDate, "yyyy年MM月dd日", "yyyyMMdd"));
}
- if(!StringUtil.isEmpty(endDate)){
- searchBean.setEndDate(DateUtil.formatDateStr(endDate,"yyyy年MM月dd日","yyyyMMdd"));
+ if (!StringUtil.isEmpty(endDate)) {
+ searchBean.setEndDate(DateUtil.formatDateStr(endDate, "yyyy年MM月dd日", "yyyyMMdd"));
}
- if(!StringUtil.isEmpty(pointsName)){
+ if (!StringUtil.isEmpty(pointsName)) {
searchBean.setPointsName(pointsName);
}
return pointsService.getTPointsByname(searchBean);
@@ -182,7 +187,6 @@
try {
LevelBean levelBean = pointsService.getConpoints();
return JsonResult.ok().put("monthConsumeList", levelBean.getMonthList())
- .put("pointslimit", levelBean.getPointslimit())
.put("dayConsumeList", levelBean.getDayList());
} catch (Exception e) {
e.printStackTrace();
@@ -218,11 +222,10 @@
}
-
/*
- * 活动日管理
- *
- * */
+ * 活动日管理
+ *
+ * */
@GetMapping("/pointsActive/index")
public String pointsActiveIndex() {
return "system/level/pointsactiveindex";
@@ -265,11 +268,11 @@
if (operator != null) {
operator = operatorService.getOperatorByCode(operator.getOpercode());
}
- if( levelBean.getPointsActive()!=null){
+ if (levelBean.getPointsActive() != null) {
levelBean.getPointsActive().setUpdatetime(DateUtil.getNow());
levelBean.getPointsActive().setOperatorid(operator.getOpercode());
- return pointsService.saveActive( levelBean.getPointsActive());
- }else {
+ return pointsService.saveActive(levelBean.getPointsActive());
+ } else {
return JsonResult.error("参数不能为空");
}
}
@@ -279,4 +282,56 @@
return "system/level/pointsactiveadd";
}
+ @PostMapping("/pointsSet/add")
+ @PreAuthorize("hasPermission('/user/add','')")
+ @ResponseBody
+ public JsonResult addPointsSet(@RequestBody LevelBean levelBean) {
+
+ if (!StringUtils.isEmpty(levelBean.getDayPointsLi()) &&
+ !StringUtils.isEmpty(levelBean.getTaskPointsLi()) &&
+ !StringUtils.isEmpty(levelBean.getConsumePointsLi())) {
+ return pointsService.addPointsSet(levelBean);
+ } else {
+ return JsonResult.error("参数不能为空");
+ }
+ }
+
+ @GetMapping("/pointsSet/list")
+ @PreAuthorize("hasPermission('/user/add','')")
+ @ResponseBody
+ public JsonResult getPointsSet() {
+ try {
+ return JsonResult.ok().put("data", pointsService.getPointsSet());
+ } catch (Exception e) {
+ e.printStackTrace();
+ return JsonResult.error("系统查询错误");
+ }
+ }
+
+
+ /*
+ * 发放积分统计
+ *
+ * */
+ @GetMapping("/pointsReport/index")
+ public String pointsReportIndex() {
+ return "system/level/pointsreport";
+ }
+
+ @GetMapping("/pointsReport/list")
+ @PreAuthorize("hasPermission('/user/card','')")
+ @ResponseBody
+ public PageResult<LevelBean> getPointsReportList(
+ @RequestParam(value = "startdate", required = false) String startdate,
+ @RequestParam(value = "enddate", required = false) String enddate,
+ @RequestParam(value = "name", required = false) String name) {
+ try {
+ LevelBean levelBean = new LevelBean(name, startdate, enddate);
+ return pointsService.getPointsReportList(levelBean);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return new PageResult<>(99, "系统查询错误");
+ }
+ }
+
}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/service/PointsService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/PointsService.java
index c359f08..7da281c 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/service/PointsService.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/service/PointsService.java
@@ -97,4 +97,22 @@
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
JsonResult saveActive(TPointsActive tPointsActive);
+
+
+ /*
+ *
+ * 其他设置
+ * */
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+ JsonResult addPointsSet(LevelBean levelBean);
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+ LevelBean getPointsSet();
+
+
+ /*
+ *发放积分统计
+ *
+ * */
+ PageResult<LevelBean> getPointsReportList(LevelBean levelBean);
}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/PointsServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/PointsServiceImpl.java
index ab51abf..6204189 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/PointsServiceImpl.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/PointsServiceImpl.java
@@ -14,6 +14,7 @@
import com.supwisdom.dlpay.framework.util.StringUtil;
import com.supwisdom.dlpay.framework.util.TradeDict;
import com.supwisdom.dlpay.system.bean.LevelBean;
+import com.supwisdom.dlpay.system.service.ParamService;
import com.supwisdom.dlpay.system.service.PointsService;
import com.supwisdom.dlpay.util.ConstantUtil;
import org.slf4j.Logger;
@@ -25,6 +26,8 @@
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
@@ -34,6 +37,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
+import java.util.stream.Collectors;
@Service
public class PointsServiceImpl implements PointsService {
@@ -61,7 +65,12 @@
private PersondtlDao persondtlDao;
@Autowired
private PointsActiveDao pointsActiveDao;
-
+ @Autowired
+ private ParamService paramService;
+ @Autowired
+ private SysparaDao sysparaDao;
+ @Autowired
+ private BusinessparaDao businessparaDao;
@Override
public LevelBean getLevel() {
@@ -69,28 +78,11 @@
Sort sort = new Sort(Sort.Direction.ASC, "id");
List<TPersonLevel> list = personLevelDao.findAll(sort);
if (!StringUtil.isEmpty(list)) levelBean.settPersonLevels(list);
- List<TDictionary> tDictionaries = dictionaryDao.findAllByDicttype("pointsdate");
- if(tDictionaries!=null&&tDictionaries.size()>0){
- levelBean.setPointsdate(Integer.parseInt(tDictionaries.get(0).getDictval()));
- }
return levelBean;
}
@Override
public JsonResult saveLevel(LevelBean levelBean) {
- List<TDictionary> tDictionaries = dictionaryDao.findAllByDicttype("pointsdate");
- if(tDictionaries!=null&&tDictionaries.size()>0){
- tDictionaries.get(0).setDictval(levelBean.getPointsdate()+"");
- dictionaryDao.save(tDictionaries.get(0));
- }else {
- TDictionary tDictionary = new TDictionary();
- tDictionary.setDictcaption("积分中心的过期时间");
- tDictionary.setDicttype("pointsdate");
- tDictionary.setDicttypename("积分过期天数");
- tDictionary.setDictval(levelBean.getPointsdate()+"");
- tDictionary.setTenantId("{tenantid}");
- dictionaryDao.save(tDictionary);
- }
List<TPersonLevel> tPersonLevel = levelBean.gettPersonLevels();
personLevelDao.saveAll(tPersonLevel);
return JsonResult.ok("成功");
@@ -126,25 +118,25 @@
@Override
public PageResult getTPointsByname(LevelBean param) {
TCard tCard = cardDao.findCardByCardnoAndCardtype(param.getIdno(), ConstantUtil.CARDTYPE_CITIZENCARD);
- if(tCard==null||StringUtil.isEmpty(tCard.getUserid())){
+ if (tCard == null || StringUtil.isEmpty(tCard.getUserid())) {
return new PageResult<>(99, "未查询到该用户的信息");
}
- TPerson tPerson = personDao.findByUseridAndAndName(tCard.getUserid(),param.getName());
- if(tPerson==null){
+ TPerson tPerson = personDao.findByUseridAndAndName(tCard.getUserid(), param.getName());
+ if (tPerson == null) {
return new PageResult<>(99, "未查询到该用户的信息");
}
Optional<TPointsMain> pointsMain = pointsMainDao.findById(tCard.getUserid());
TPointsMain tPointsMain;
TPersonLevel tPersonLevel;
- if(pointsMain.orElse(null)==null){
+ if (pointsMain.orElse(null) == null) {
tPointsMain = new TPointsMain();
tPointsMain.setPoints(0);
tPointsMain.setUpdatetime(DateUtil.getNow("yyyy-MM-dd HH:mm:ss"));
tPersonLevel = personLevelDao.findTPersonLevelByPoints(tPointsMain.getPoints());
- if(tPersonLevel==null){
+ if (tPersonLevel == null) {
return new PageResult<>(99, "请设置0积分等级");
}
- }else{
+ } else {
tPointsMain = pointsMain.orElse(null);
tPointsMain.setUpdatetime(DateUtil.parseToDateFormat(tPointsMain.getUpdatetime()));
Optional<TPersonLevel> tPersonLeveltemp = personLevelDao.findById(tPointsMain.getLevelid());
@@ -162,7 +154,7 @@
public Predicate toPredicate(Root<TPointsdtl> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
List<Predicate> predicates = new ArrayList<>();
if (!StringUtil.isEmpty(tCard.getUserid())) {
- predicates.add(criteriaBuilder.equal(root.get("userid").as(String.class), tCard.getUserid().trim()));
+ predicates.add(criteriaBuilder.equal(root.get("userid").as(String.class), tCard.getUserid().trim()));
}
if (!StringUtil.isEmpty(param.getStartDate())) {
predicates.add(criteriaBuilder.ge(root.get("transdate").as(Long.class), Long.valueOf(DateUtil.unParseToDateFormat(param.getStartDate()))));
@@ -177,7 +169,7 @@
}
}, pageable);
- if(page.getContent()!=null&&page.getContent().size()>0){
+ if (page.getContent() != null && page.getContent().size() > 0) {
page.getContent().get(0).settPointsMain(tPointsMain);
}
return new PageResult<>(page);
@@ -186,21 +178,16 @@
@Override
public PageResult getTPointsdetailByname(LevelBean param) {
Pageable pageable = PageRequest.of(param.getPageNo() - 1, param.getPageSize());
- return new PageResult<>(pointsDtlDao.findAllByUserid(param.getUserid(),pageable));
+ return new PageResult<>(pointsDtlDao.findAllByUserid(param.getUserid(), pageable));
}
-
@Override
public LevelBean getConpoints() {
Sort sort = new Sort(Sort.Direction.ASC, "id");
- List<TConsumePoints> monthlist = consumePointsDao.findAllByAndRuletype("month",sort);
- List<TConsumePoints> daylist = consumePointsDao.findAllByAndRuletype("day",sort);
- List<TDictionary> tDictionaries = dictionaryDao.findAllByDicttype("pointslimit");
+ List<TConsumePoints> monthlist = consumePointsDao.findAllByAndRuletype("month", sort);
+ List<TConsumePoints> daylist = consumePointsDao.findAllByAndRuletype("day", sort);
LevelBean levelBean = new LevelBean();
- if(tDictionaries!=null&&tDictionaries.size()>0){
- levelBean.setPointslimit(Integer.parseInt(tDictionaries.get(0).getDictval()));
- }
if (!StringUtil.isEmpty(monthlist)) levelBean.setMonthList(monthlist);
if (!StringUtil.isEmpty(daylist)) levelBean.setDayList(daylist);
return levelBean;
@@ -208,19 +195,6 @@
@Override
public JsonResult saveConpoints(LevelBean levelBean) {
- List<TDictionary> tDictionaries = dictionaryDao.findAllByDicttype("pointslimit");
- if(tDictionaries!=null&&tDictionaries.size()>0){
- tDictionaries.get(0).setDictval(levelBean.getPointslimit()+"");
- dictionaryDao.save(tDictionaries.get(0));
- }else {
- TDictionary tDictionary = new TDictionary();
- tDictionary.setDictcaption("积分中心的单日积分上限");
- tDictionary.setDicttype("pointslimit");
- tDictionary.setDicttypename("单日积分上限");
- tDictionary.setDictval(levelBean.getPointslimit()+"");
- tDictionary.setTenantId("{tenantid}");
- dictionaryDao.save(tDictionary);
- }
List<TConsumePoints> consumePoints = levelBean.gettConsumePoints();
consumePointsDao.saveAll(consumePoints);
return JsonResult.ok("成功");
@@ -240,75 +214,75 @@
}
@Override
- public Boolean singleHandlePoints(String userid, Double amount,String billno) {
+ public Boolean singleHandlePoints(String userid, Double amount, String billno) {
int rate = 1;
// 1.根据当天日期判断当天是否该用户的特殊日期或者生日,得到实际倍率
- TPerson person = personDao.findByUseridAndIdtype(userid,"idcard");
- if(person!=null&&!StringUtil.isEmpty(person.getIdno())){
+ TPerson person = personDao.findByUseridAndIdtype(userid, "idcard");
+ if (person != null && !StringUtil.isEmpty(person.getIdno())) {
String nowDate = DateUtil.getNow("MMdd");
- String brithdate = person.getIdno().substring(10,4);
- if(nowDate.equals(brithdate)){
+ String brithdate = person.getIdno().substring(10, 4);
+ if (nowDate.equals(brithdate)) {
rate = 2;
}
}
//2. 查询用户的等级,获取单次消费获得积分的规则
TPersonLevel personLevel;
Optional<TPointsMain> pointsMain = pointsMainDao.findById(userid);
- if(pointsMain.orElse(null)!=null){
+ if (pointsMain.orElse(null) != null) {
Integer levelid = pointsMain.orElse(null).getLevelid();
- if(levelid!=null){
+ if (levelid != null) {
personLevel = personLevelDao.getOne(levelid);
- }else {
- if(pointsMain.orElse(null).getPoints()==null){
+ } else {
+ if (pointsMain.orElse(null).getPoints() == null) {
pointsMain.orElse(null).setPoints(0);
}
personLevel = personLevelDao.findTPersonLevelByPoints(pointsMain.orElse(null).getPoints());
}
- }else {
+ } else {
return false;
}
//3. 根据规则计算积分,得到的积分与当日积分上限进行比较,得到实际获得的积分
int resultPoints = 0;
- if(amount >= personLevel.getSingleConsumeAmount()){
+ if (amount >= personLevel.getSingleConsumeAmount()) {
BigDecimal bigDecimal = new BigDecimal(amount);
- BigDecimal result = bigDecimal.divide(new BigDecimal(personLevel.getSingleAmount()),0,BigDecimal.ROUND_DOWN);
+ BigDecimal result = bigDecimal.divide(new BigDecimal(personLevel.getSingleAmount()), 0, BigDecimal.ROUND_DOWN);
int resultInt = result.intValue();
//计算得到的积分
resultPoints = resultInt * personLevel.getSinglePoints();
//获得流水积分
- List<TPointsdtl> tPointsdtls = pointsDtlDao.findAllByUseridAndTypeAndFlagstatus(userid,"","in");
+ List<TPointsdtl> tPointsdtls = pointsDtlDao.findAllByUseridAndTypeAndFlagstatus(userid, "", "in");
int allPoints = tPointsdtls.stream().mapToInt(o -> Integer.parseInt(o.getPoints())).sum();
- List<TDictionary> tDictionaries = dictionaryDao.findAllByDicttype("pointslimit");
+ List<TDictionary> tDictionaries = dictionaryDao.findAllByDicttype("pointslimit");
int pointslimit = 0;
- if(tDictionaries!=null&&tDictionaries.size()>0){
+ if (tDictionaries != null && tDictionaries.size() > 0) {
pointslimit = Integer.parseInt(tDictionaries.get(0).getDictval());
}
- if(allPoints<pointslimit){
- if(allPoints+resultPoints>=pointslimit){
+ if (allPoints < pointslimit) {
+ if (allPoints + resultPoints >= pointslimit) {
resultPoints = pointslimit - allPoints;
}
}
}
//4. 对积分的主子表和流水表进行添加,查询用户的积分,得到的积分去查询等级表更新用户的等级
- insertDtl(userid, TradeDict.CONSUME_FLAG_SINGLE,resultPoints*rate,personLevel.getId(),billno);
+ insertDtl(userid, TradeDict.CONSUME_FLAG_SINGLE, resultPoints * rate, personLevel.getId(), billno);
return null;
}
@Override
- public Boolean dayHandlePoints(String userid,String billno) {
+ public Boolean dayHandlePoints(String userid, String billno) {
// 1.根据用户id查询积分流水表获得当日的消费金额
- List<TPersondtl> tPersondtl = persondtlDao.findAllByUseridAndTransdateAndReverseFlagAndStatus(userid, DateUtil.getNow("yyyyMMdd"),"none","success");
+ List<TPersondtl> tPersondtl = persondtlDao.findAllByUseridAndTransdateAndReverseFlagAndStatus(userid, DateUtil.getNow("yyyyMMdd"), "none", "success");
Double allConsume = tPersondtl.stream().mapToDouble(o -> o.getAmount()).sum();
// 2.循环日消费奖励规则
Sort sort = new Sort(Sort.Direction.ASC, "id");
- List<TConsumePoints> daylist = consumePointsDao.findAllByAndRuletype("day",sort);
- for(TConsumePoints temp:daylist){
+ List<TConsumePoints> daylist = consumePointsDao.findAllByAndRuletype("day", sort);
+ for (TConsumePoints temp : daylist) {
// 3.判断用户是否达到日消费奖励积分的额度,达到再次判断是否获得过该规则的奖励
- if(allConsume>Double.parseDouble(temp.getConsumeamount())){
+ if (allConsume > Double.parseDouble(temp.getConsumeamount())) {
TPointsdtl tPointsdtltemp = pointsDtlDao.findAllByUseridAndTransdateAndRefno(userid, DateUtil.getNow("yyyyMMdd"), temp.getId());
- if(tPointsdtltemp==null){
+ if (tPointsdtltemp == null) {
// 4.奖励的积分对积分主子表和流水表进行添加
- insertDtl(userid, TradeDict.CONSUME_FLAG_DAY,temp.getPoints(),temp.getId(),billno);
+ insertDtl(userid, TradeDict.CONSUME_FLAG_DAY, temp.getPoints(), temp.getId(), billno);
}
}
}
@@ -316,39 +290,39 @@
}
@Override
- public Boolean monthHandlePoints(String userid,String billno) {
+ public Boolean monthHandlePoints(String userid, String billno) {
// 1.根据用户id查询积分流水表获得当月的消费金额
- List<TPersondtl> tPersondtl = persondtlDao.findAllByUseridAndTransdateStartingWithAndReverseFlagAndStatus(userid, DateUtil.getNow("yyyyMM"),"none","success");
+ List<TPersondtl> tPersondtl = persondtlDao.findAllByUseridAndTransdateStartingWithAndReverseFlagAndStatus(userid, DateUtil.getNow("yyyyMM"), "none", "success");
Double allConsume = tPersondtl.stream().mapToDouble(o -> o.getAmount()).sum();
// 2.循环月消费奖励规则
Sort sort = new Sort(Sort.Direction.ASC, "id");
- List<TConsumePoints> monthlist = consumePointsDao.findAllByAndRuletype("month",sort);
- for(TConsumePoints temp:monthlist){
- // 3.判断用户是否达到月消费奖励积分的额度,达到再次判断是否获得过该规则的奖励
- if(allConsume>Double.parseDouble(temp.getConsumeamount())){
+ List<TConsumePoints> monthlist = consumePointsDao.findAllByAndRuletype("month", sort);
+ for (TConsumePoints temp : monthlist) {
+ // 3.判断用户是否达到月消费奖励积分的额度,达到再次判断是否获得过该规则的奖励
+ if (allConsume > Double.parseDouble(temp.getConsumeamount())) {
TPointsdtl tPointsdtltemp = pointsDtlDao.findAllByUseridAndTransdateAndRefno(userid, DateUtil.getNow("yyyyMMdd"), temp.getId());
- if(tPointsdtltemp==null){
+ if (tPointsdtltemp == null) {
// 4.奖励的积分对积分主子表和流水表进行添加
- insertDtl(userid, TradeDict.CONSUME_FLAG_DAY,temp.getPoints(),temp.getId(),billno);
+ insertDtl(userid, TradeDict.CONSUME_FLAG_DAY, temp.getPoints(), temp.getId(), billno);
}
}
}
return null;
}
- public Boolean insertDtl(String userid,String type,int points,Integer refno,String billno){
- //主表流水
+ public Boolean insertDtl(String userid, String type, int points, Integer refno, String billno) {
+ //主表流水
TPointsMain tPointsMain;
Optional<TPointsMain> pointsMain = pointsMainDao.findById(userid);
- if(pointsMain.orElse(null)!=null){
+ if (pointsMain.orElse(null) != null) {
tPointsMain = pointsMain.orElse(null);
- tPointsMain.setPoints(tPointsMain.getPoints()+points);
- tPointsMain.setAccumPoints(tPointsMain.getAccumPoints()+points);
+ tPointsMain.setPoints(tPointsMain.getPoints() + points);
+ tPointsMain.setAccumPoints(tPointsMain.getAccumPoints() + points);
TPersonLevel tPersonLevelByPoints = personLevelDao.findTPersonLevelByPoints(tPointsMain.getPoints());
- if(tPersonLevelByPoints.getId()>tPointsMain.getLevelid()){
+ if (tPersonLevelByPoints.getId() > tPointsMain.getLevelid()) {
tPointsMain.setLevelid(tPersonLevelByPoints.getId());
}
- }else{
+ } else {
tPointsMain = new TPointsMain();
tPointsMain.setUserid(userid);
tPointsMain.setPoints(points);
@@ -362,11 +336,11 @@
TPointsDetail tPointsDetail = new TPointsDetail();
tPointsDetail.setUserid(userid);
tPointsDetail.setPoints(points);
- List<TDictionary> tDictionaries = dictionaryDao.findAllByDicttype("pointsdate");
- if(tDictionaries!=null&&tDictionaries.size()>0){
+ List<TDictionary> tDictionaries = dictionaryDao.findAllByDicttype("pointsdate");
+ if (tDictionaries != null && tDictionaries.size() > 0) {
String outdate = DateUtil.getNowInterDay(Integer.parseInt(tDictionaries.get(0).getDictval()));
tPointsDetail.setOutDate(outdate);
- }else {
+ } else {
return false;
}
TPointsDetail tPointsDetailresult = pointsDetailDao.save(tPointsDetail);
@@ -375,7 +349,7 @@
tPointsdtl.setRefno(refno);
tPointsdtl.setType(type);
tPointsdtl.setUserid(userid);
- tPointsdtl.setPoints("+"+points);
+ tPointsdtl.setPoints("+" + points);
tPointsdtl.setStatus("init");
tPointsdtl.setAftpoints(tPointsMainResult.getPoints());
tPointsdtl.setBillno(billno);
@@ -392,19 +366,18 @@
}
-
@Override
public PageResult getActiveList(LevelBean param) {
- Pageable pageable = PageRequest.of(param.getPageNo() - 1, param.getPageSize(),Sort.by("id"));
+ Pageable pageable = PageRequest.of(param.getPageNo() - 1, param.getPageSize(), Sort.by("id"));
Page<TPointsActive> page = pointsActiveDao.findAll(new Specification<TPointsActive>() {
@Override
public Predicate toPredicate(Root<TPointsActive> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
List<Predicate> predicates = new ArrayList<>();
if (!StringUtil.isEmpty(param.getName())) {
- predicates.add(criteriaBuilder.like(root.get("name").as(String.class), "%" +param.getName().trim() + "%"));
+ predicates.add(criteriaBuilder.like(root.get("name").as(String.class), "%" + param.getName().trim() + "%"));
}
if (!StringUtil.isEmpty(param.getType())) {
- predicates.add(criteriaBuilder.equal(root.get("type").as(String.class), param.getType().trim()));
+ predicates.add(criteriaBuilder.equal(root.get("type").as(String.class), param.getType().trim()));
}
return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
}
@@ -423,17 +396,159 @@
@Override
public JsonResult saveActive(TPointsActive tPointsActive) {
- if("no".equals(tPointsActive.getType())){
+ if ("no".equals(tPointsActive.getType())) {
tPointsActive.setWeeknumber(null);
- tPointsActive.setStartdate(DateUtil.formatDateStr(tPointsActive.getStartdate(),"yyyy年MM月dd日","yyyyMMdd"));
- tPointsActive.setEnddate(DateUtil.formatDateStr(tPointsActive.getEnddate(),"yyyy年MM月dd日","yyyyMMdd"));
+ tPointsActive.setStartdate(DateUtil.formatDateStr(tPointsActive.getStartdate(), "yyyy年MM月dd日", "yyyyMMdd"));
+ tPointsActive.setEnddate(DateUtil.formatDateStr(tPointsActive.getEnddate(), "yyyy年MM月dd日", "yyyyMMdd"));
}
- if("year".equals(tPointsActive.getType())){
+ if ("year".equals(tPointsActive.getType())) {
tPointsActive.setWeeknumber(null);
- tPointsActive.setStartdate(DateUtil.formatDateStr(tPointsActive.getYearStartDate(),"MM月dd日","MMdd"));
- tPointsActive.setEnddate(DateUtil.formatDateStr(tPointsActive.getYearEndDate(),"MM月dd日","MMdd"));
+ tPointsActive.setStartdate(DateUtil.formatDateStr(tPointsActive.getYearStartDate(), "MM月dd日", "MMdd"));
+ tPointsActive.setEnddate(DateUtil.formatDateStr(tPointsActive.getYearEndDate(), "MM月dd日", "MMdd"));
}
pointsActiveDao.save(tPointsActive);
return JsonResult.ok("成功");
}
+
+ @Override
+ public JsonResult addPointsSet(LevelBean levelBean) {
+
+ TBusinesspara tBusinesspara = new TBusinesspara();
+ tBusinesspara.setTenantId("{tenantid}");
+ tBusinesspara.setParakey("dayPointsLi");
+ tBusinesspara.setParaval(levelBean.getDayPointsLi());
+ businessparaDao.save(tBusinesspara);
+ tBusinesspara.setParakey("taskPointsLi");
+ tBusinesspara.setParaval(levelBean.getTaskPointsLi());
+ businessparaDao.save(tBusinesspara);
+ tBusinesspara.setParakey("consumePointsLi");
+ tBusinesspara.setParaval(levelBean.getConsumePointsLi());
+ businessparaDao.save(tBusinesspara);
+ return JsonResult.ok();
+ }
+
+ @Override
+ public LevelBean getPointsSet() {
+ TBusinesspara dayPointsLi = businessparaDao.findByParakey("dayPointsLi");
+ TBusinesspara taskPointsLi = businessparaDao.findByParakey("taskPointsLi");
+ TBusinesspara consumePointsLi = businessparaDao.findByParakey("consumePointsLi");
+ LevelBean levelBean1 = new LevelBean();
+ if (dayPointsLi != null && !StringUtils.isEmpty(dayPointsLi.getParaval())) {
+ levelBean1.setDayPointsLi(dayPointsLi.getParaval());
+ }
+ if (taskPointsLi != null && !StringUtils.isEmpty(taskPointsLi.getParaval())) {
+ levelBean1.setTaskPointsLi(taskPointsLi.getParaval());
+ }
+ if (consumePointsLi != null && !StringUtils.isEmpty(consumePointsLi.getParaval())) {
+ levelBean1.setConsumePointsLi(consumePointsLi.getParaval());
+ }
+ return levelBean1;
+ }
+
+
+ @Override
+ public PageResult getPointsReportList(LevelBean param) {
+ List<LevelBean> levelBeans = new ArrayList<>();
+ if (!StringUtil.isEmpty(param.getName())) {
+ LevelBean levelBean = getPointsDtlByType(param);
+ levelBeans.add(levelBean);
+ return new PageResult<>(levelBeans);
+ } else {
+ //统计每个任务获取的积分
+ List<TPointsTask> all = pointsTaskDao.findAll();
+ all.stream().forEach( e -> {
+ LevelBean levelBeanTask = new LevelBean();
+ levelBeanTask.setStartDate(param.getStartDate());
+ levelBeanTask.setEndDate(param.getEndDate());
+ levelBeanTask.setRefno(e.getTaskid());
+ levelBeanTask.setType("task");
+ LevelBean levelBean1 = getPointsDtlByType(levelBeanTask);
+ levelBean1.setPointsName(e.getTaskname());
+ levelBeans.add(levelBean1);
+ });
+ Integer taskSum = levelBeans.stream().mapToInt(o -> o.getPointsSum()).sum();
+ Integer taskCount = levelBeans.stream().mapToInt(o -> o.getPointsCount()).sum();
+ LevelBean taskLevelBean = new LevelBean();
+ taskLevelBean.setPointsSum(taskSum);
+ taskLevelBean.setPointsCount(taskCount);
+ taskLevelBean.setPointsName("日常任务积分合计");
+ levelBeans.add(taskLevelBean);
+ //统计单次消费积分
+ List<TPersonLevel> personLevels = personLevelDao.findAll();
+ List<Integer> personLevelTemp = personLevels.stream().map(TPersonLevel::getId).collect(Collectors.toList());
+ LevelBean personLevelBean = new LevelBean();
+ personLevelBean.setStartDate(param.getStartDate());
+ personLevelBean.setEndDate(param.getEndDate());
+ // personLevelBean.setRefnoList(personLevelTemp);
+ personLevelBean.setType("consume");
+ LevelBean personLevelResult = getPointsDtlByType(personLevelBean);
+ personLevelResult.setPointsName("消费积分");
+ levelBeans.add(personLevelResult);
+ //统计日累计消费积分
+ Sort sort = new Sort(Sort.Direction.ASC, "id");
+ List<TConsumePoints> daylist = consumePointsDao.findAllByAndRuletype("day", sort);
+ List<Integer> dayTemp = daylist.stream().map(TConsumePoints::getId).collect(Collectors.toList());
+ LevelBean dayTempBean = new LevelBean();
+ dayTempBean.setStartDate(param.getStartDate());
+ dayTempBean.setEndDate(param.getEndDate());
+ // dayTempBean.setRefnoList(dayTemp);
+ dayTempBean.setType("consumeday");
+ LevelBean dayTempResult = getPointsDtlByType(dayTempBean);
+ dayTempResult.setPointsName("日累计奖励积分");
+ levelBeans.add(dayTempResult);
+ //统计月累计消费积分
+ List<TConsumePoints> monthlist = consumePointsDao.findAllByAndRuletype("month", sort);
+ List<Integer> monthTemp = monthlist.stream().map(TConsumePoints::getId).collect(Collectors.toList());
+ LevelBean monthTempBean = new LevelBean();
+ monthTempBean.setStartDate(param.getStartDate());
+ monthTempBean.setEndDate(param.getEndDate());
+ //monthTempBean.setRefnoList(monthTemp);
+ monthTempBean.setType("consumemonth");
+ LevelBean monthTempResult = getPointsDtlByType(monthTempBean);
+ monthTempResult.setPointsName("月累计奖励积分");
+ levelBeans.add(monthTempResult);
+ //消费积分合计
+ LevelBean consume = new LevelBean();
+ consume.setPointsSum(personLevelResult.getPointsSum()+dayTempResult.getPointsSum()+monthTempResult.getPointsSum());
+ consume.setPointsCount(personLevelResult.getPointsCount()+dayTempResult.getPointsCount()+monthTempResult.getPointsCount());
+ consume.setPointsName("消费积分合计");
+ levelBeans.add(consume);
+ //all.stream().map(TPointsTask::getTaskid).collect(Collectors.toList());
+ return new PageResult<>(levelBeans);
+ }
+ }
+
+ LevelBean getPointsDtlByType(LevelBean param) {
+ List<TPointsdtl> tPointsdtls = pointsDtlDao.findAll(new Specification<TPointsdtl>() {
+ @Override
+ public Predicate toPredicate(Root<TPointsdtl> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
+ List<Predicate> predicates = new ArrayList<>();
+ if (!StringUtil.isEmpty(param.getStartDate())) {
+ predicates.add(criteriaBuilder.ge(root.get("transdate").as(Long.class), Long.valueOf(DateUtil.unParseToDateFormat(param.getStartDate()))));
+ }
+ if (!StringUtil.isEmpty(param.getEndDate())) {
+ predicates.add(criteriaBuilder.le(root.get("transdate").as(Long.class), Long.valueOf(DateUtil.unParseToDateFormat(param.getEndDate()))));
+ }
+ if (param.getRefno()!=null) {
+ predicates.add(criteriaBuilder.equal(root.get("refno").as(Integer.class), param.getRefno()));
+ }
+ if (param.getType()!=null) {
+ predicates.add(criteriaBuilder.equal(root.get("type").as(String.class), param.getType()));
+ }
+ if (!CollectionUtils.isEmpty(param.getRefnoList())) {
+ CriteriaBuilder.In<Object> in = criteriaBuilder.in(root.get("refno"));
+ for (Integer refnoTemp:param.getRefnoList()){
+ in.value(refnoTemp);
+ }
+ predicates.add(criteriaBuilder.and(in));
+ }
+ return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
+ }
+ });
+ Integer allPoints = tPointsdtls.stream().mapToInt(o -> Integer.parseInt(o.getPoints())).sum();
+ LevelBean levelBean = new LevelBean();
+ levelBean.setPointsSum(allPoints);
+ levelBean.setPointsCount(tPointsdtls.size());
+ return levelBean;
+ }
}
diff --git a/payapi/src/main/resources/templates/system/level/index.html b/payapi/src/main/resources/templates/system/level/index.html
index 1766c08..ced51a0 100644
--- a/payapi/src/main/resources/templates/system/level/index.html
+++ b/payapi/src/main/resources/templates/system/level/index.html
@@ -3,6 +3,7 @@
<li class="layui-this">会员等级设置</li>
<li>日常任务积分设置</li>
<li>消费奖励积分设置</li>
+ <li>其他设置</li>
<span class="layui-breadcrumb pull-right">
<a href="#">积分中心</a>
<a><cite>积分规则管理</cite></a>
@@ -10,42 +11,69 @@
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show" style="background-color: white">
- <form id="level-form" lay-filter="user-form" class="layui-form model-form">
+ <form id="level-form" lay-filter="user-form" class="layui-form model-form layui-form-pane">
<div style="margin: 20px">
<button type="button" class="layui-btn" id="add">添加等级</button>
<button type="button" class="layui-btn" lay-filter="level-form-submit" lay-submit>保存
</button>
</div>
- <div style="margin: 20px;background-color: darkgray" id="levelstr" >
+ <div style="margin: 20px;background-color: darkgray" id="levelstr">
- <div class="levelclass layui-card" ><div class="layui-card-header">1级会员设置:</div>
+ <div class="levelclass layui-card">
+ <div class="layui-card-header" style="font-weight: 700">1级会员设置:</div>
<div class="layui-card-body">
- 会员名称为 <input type="text" name="name" required lay-verify="required" autocomplete="off"
- class="layui-input"
- style="width: 150px;display: inline;height: 35px;margin: 6px" id="lename">
- ,累计积分为
- <input type="number" name="pointsLower" required lay-verify="required"
- autocomplete="off"
- class="layui-input"
- style="width: 80px;display: inline;height: 35px;margin: 6px" id="lelow">---
- <input type="number" name="pointsUpper" required lay-verify="required"
- autocomplete="off"
- class="layui-input"
- style="width: 80px;display: inline;height: 35px;margin: 6px" id="leupp">分。
- <input type="text" name="levelid" id="levelid1" style="display: none"/>
- <div style="margin-left: 85px">订单实付金额满
- <input type="number" name="singleConsumeAmount" id="singleConsumeAmount" class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px" required lay-verify="required"/>元时,每消费
- <input type="number" name="singleAmount" id="singleAmount" class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px" required lay-verify="required"/>元,可获得
- <input type="number" name="singlePoints" id="singlePoints" class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px" required lay-verify="required"/>积分;
- </div>
+ <div style="display: flex;width: 398px;float: left;margin-left: 90px">
+ <div style="display: inline;margin-top: 8px;margin-right: 15px">会员名称</div>
+ <input type="text" name="name" required lay-verify="required"
+ autocomplete="off"
+ class="layui-input"
+ style="width: 210px;display: inline;height: 38px;text-align: center"
+ id="lename">
+ </div>
+ <div style="display: flex;width: 400px">
+ <div style="display: inline;margin-top: 8px;margin-right: 15px">累计积分</div>
+ <div class="layui-form-item" style="display: inline">
+ <label class="layui-form-label" style="width: 80px">大于</label>
+ <div class="layui-input-inline" style="margin-right: 0px;width: 150px">
+ <input type="number" name="pointsLower" required lay-verify="required"
+ autocomplete="off"
+ class="layui-input"
+ id="lelow" style="text-align: center">
+ </div>
+ <label class="layui-form-label" style="width: 60px">分</label>
+ </div>
+ </div>
+ <input type="text" name="levelid" id="levelid1" style="display: none"/>
+ <div style="display: flex;margin-left: 90px">
+ <div style="display: inline;margin-top: 8px;margin-right: 15px">单笔消费</div>
+ <div class="layui-form-item" style="display: inline">
+ <label class="layui-form-label" style="width: 80px">实付满</label>
+ <div class="layui-input-inline" style="margin-right: 0px;width: 110px">
+ <input type="number" name="singleConsumeAmount"
+ id="singleConsumeAmount" class="layui-input"
+ style="text-align: center" required lay-verify="required"/>
+ </div>
+ <label class="layui-form-label" style="width: 110px">元,每消费</label>
+ <div class="layui-input-inline" style="margin-right: 0px;width: 110px">
+ <input type="number" name="singleAmount" id="singleAmount"
+ class="layui-input" required style="text-align: center"
+ lay-verify="required"/>
+ </div>
+ <label class="layui-form-label" style="width: 110px">元,可获得</label>
+ <div class="layui-input-inline" style="margin-right: 0px;width: 110px">
+ <input type="number" name="singlePoints" id="singlePoints"
+ class="layui-input" required style="text-align: center"
+ lay-verify="required"/>
+ </div>
+ <label class="layui-form-label" style="width: 60px">分</label>
+ </div>
+ </div>
</div>
</div>
+
+
</div>
- <div style="margin: 20px">
- <div style="font-weight: 700">积分到期设置</div>
- <div>每隔<input type="number" name="pointsdate" id="pointsdate" class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px" required lay-verify="required"/>
- 日,清除积分。<span style="font-weight: 200">(不影响历史积分,从修改当日起生效。)</span></div>
- </div>
+
</form>
</div>
<div class="layui-tab-item" style="background-color: white">
@@ -77,13 +105,6 @@
<input type="text" name="conPointsid" id="conPointsid" style="display: none"/>
</div>
</div>
- <div>单日消费积分上限
- <input type="text" name="pointslimit" required lay-verify="required"
- autocomplete="off"
- class="layui-input"
- style="width: 60px;display: inline;height: 28px;margin: 6px"
- id="pointslimit">积分。
- </div>
</div>
</div>
<div style="margin: 20px">
@@ -113,10 +134,60 @@
</div>
</form>
</div>
+ <div class="layui-tab-item" style="background-color: white">
+ <form id="set-form" lay-filter="set-form" class="layui-form model-form layui-form-pane">
+ <button type="button" class="layui-btn" lay-filter="set-form-submit" lay-submit
+ style="margin-left: 20px">保存
+ </button>
+ <div class=" layui-card">
+ <div class="layui-card-header" style="font-weight: 700">积分上限设置</div>
+ <div class="layui-card-body">
+ <div style="display:flex;width: 400px">
+ <div style="display: inline;margin-top: 8px;margin-right: 15px">单日消费积分上限</div>
+ <div class="layui-form-item" style="display: inline">
+ <div class="layui-input-inline" style="margin-right: 0px;width: 150px">
+ <input type="number" required lay-verify="required" autocomplete="off" class="layui-input"
+ id="consumePointsLi" style="text-align: center">
+ </div>
+ <label class="layui-form-label" style="width: 60px">分</label>
+ </div>
+ </div>
+ <div style="display:flex;width: 400px">
+ <div style="display: inline;margin-top: 8px;margin-right: 15px">单日任务积分上限</div>
+ <div class="layui-form-item" style="display: inline">
+ <div class="layui-input-inline" style="margin-right: 0px;width: 150px">
+ <input type="number" required lay-verify="required" autocomplete="off"
+ class="layui-input"
+ id="taskPointsLi" style="text-align: center">
+ </div>
+ <label class="layui-form-label" style="width: 60px">分</label>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class=" layui-card">
+ <div class="layui-card-header" style="font-weight: 700">积分到期设置</div>
+ <div class="layui-card-body">
+ <div style="display:flex;width: 600px">
+ <div style="display: inline;margin-top: 8px;margin-right: 15px">每隔</div>
+ <div class="layui-form-item" style="display: inline">
+ <div class="layui-input-inline" style="margin-right: 0px;width: 150px">
+ <input type="number" required lay-verify="required" autocomplete="off"
+ class="layui-input" id="dayPointsLi" style="text-align: center">
+ </div>
+ <label class="layui-form-label" style="width: 60px">日</label>
+ </div>
+ <div style="display: inline;margin-top: 8px;margin-right: 15px">
+ 清除积分。<span style="font-weight: 200">(不影响历史积分,从修改当日起生效。)</span></div>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
</div>
</div>
<script>
- layui.use(['layer', 'upload', 'form', 'element', 'admin', 'table'], function () {
+ layui.use(['layer', 'upload', 'form', 'element', 'admin', 'table', 'layedit'], function () {
//
// 等级添加
//
@@ -159,8 +230,8 @@
});
tPersonLevels.push(tperson);
});
- let pointsdate = $("#pointsdate").val();
- var data = {'tPersonLevels': tPersonLevels,'pointsdate': pointsdate};
+
+ var data = {'tPersonLevels': tPersonLevels};
var url = '[[@{/level/add}]]';
layer.confirm('确认保存?', {
icon: 3, title: '提示'
@@ -181,7 +252,8 @@
layer.closeAll('loading');
if (result.code === 200) {
layer.msg(result.msg, {icon: 1});
- parent.location.reload();
+ admin.refresh();
+ // parent.location.reload();
} else if (result.code === 401) {
layer.msg(result.msg, {icon: 2, time: 1500}, function () {
location.replace('[[@{/login}]]');
@@ -202,24 +274,48 @@
});
var x = 2;
$("#add").click(function () {
- let str = ' <div class="levelclass layui-card" ><div class="layui-card-header"> ' + x +
- '级会员设置: </div>\n' +
- ' <div class="layui-card-body"> 会员名称为 ' +
- '<input type="text" name="name" required lay-verify="required" autocomplete="off"' +
- 'class="layui-input" style="width: 150px;display: inline;height: 35px;margin: 6px">' +
- ' ,累计积分为 ' +
- '<input type="number" name="pointsLower" required lay-verify="required" autocomplete="off" class="layui-input"' +
- 'style="width: 80px;display: inline;height: 35px;margin: 6px">--- ' +
- '<input type="number" name="pointsUpper" required lay-verify="required" autocomplete="off"' +
- 'class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px">分。 ' +
- ' <input type="number" name="levelid' + x + '" id="levelid" style="display: none"/> ' +
+ let str = ' <div class="levelclass layui-card"><div class="layui-card-header" style="font-weight: 700"> ' + x +
+ '级会员设置:</div> <div class="layui-card-body"><div style="display: flex;width: 398px;float: left;margin-left: 90px">' +
+ '<div style="display: inline;margin-top: 8px;margin-right: 15px"> 会员名称</div> ' +
+ '<input type="text" name="name" required lay-verify="required" autocomplete="off" class="layui-input" ' +
+ 'style="width: 210px;display: inline;height: 38px;text-align: center" id="lename"></div> ' +
+ '<div style="display: flex;width: 400px">\n' +
+ ' <div style="display: inline;margin-top: 8px;margin-right: 15px">累计积分</div>\n' +
+ ' <div class="layui-form-item" style="display: inline">\n' +
+ ' <label class="layui-form-label" style="width: 80px">大于</label>\n' +
+ ' <div class="layui-input-inline" style="margin-right: 0px;width: 150px">\n' +
+ ' <input type="number" name="pointsLower" required lay-verify="required"\n' +
+ ' autocomplete="off" style="text-align: center"' +
+ ' class="layui-input"\n' +
+ ' id="lelow">\n' +
+ ' </div>\n' +
+ ' <label class="layui-form-label" style="width: 60px">分</label>\n' +
+ ' </div>\n' +
+ ' </div>\n' +
+ ' <input type="text" name="levelid" id="levelid' + x + '" style="display: none"/>\n' +
+ ' <div style="display: flex;margin-left: 90px">\n' +
+ ' <div style="display: inline;margin-top: 8px;margin-right: 15px">单笔消费</div>\n' +
+ ' <div class="layui-form-item" style="display: inline">\n' +
+ ' <label class="layui-form-label" style="width: 80px">实付满</label>\n' +
+ ' <div class="layui-input-inline" style="margin-right: 0px;width: 110px">\n' +
+ ' <input type="number" name="singleConsumeAmount" id="singleConsumeAmount" class="layui-input" style="text-align: center" required lay-verify="required"/>\n' +
+ ' </div>\n' +
+ ' <label class="layui-form-label" style="width: 110px">元,每消费</label>\n' +
+ ' <div class="layui-input-inline" style="margin-right: 0px;width: 110px">\n' +
+ ' <input type="number" name="singleAmount" id="singleAmount" class="layui-input" required\n' +
+ ' lay-verify="required" style="text-align: center"/>\n' +
+ ' </div>\n' +
+ ' <label class="layui-form-label" style="width: 110px">元,可获得</label>\n' +
+ ' <div class="layui-input-inline" style="margin-right: 0px;width: 110px">\n' +
+ ' <input type="number" name="singlePoints" id="singlePoints" class="layui-input" required\n' +
+ ' lay-verify="required" style="text-align: center"/>\n' +
+ ' </div>\n' +
+ ' <label class="layui-form-label" style="width: 60px">分</label>\n' +
'<button type="button" class="layui-btn layui-btn-danger removeclass" id="removeid' + x + '" style="display: inline">删除</button>' +
- '<div style="margin-left: 85px">订单实付金额满\n' +
- '<input type="number" name="singleConsumeAmount" class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px" required lay-verify="required"/>元时,每消费\n' +
- '<input type="number" name="singleAmount" class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px" required lay-verify="required"/>元,可获得\n' +
- '<input type="number" name="singlePoints" class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px" required lay-verify="required"/>积分;\n' +
- '</div> </div>'
- '</div>';
+ ' </div>\n' +
+ ' </div>\n' +
+ ' </div>\n' +
+ ' </div>';
if (x !== 2) {
let temp = x - 1;
document.getElementById("removeid" + temp).style.display = "none";
@@ -254,7 +350,7 @@
if (tempp > 1) {
document.getElementById("removeid" + tempp).style.display = "inline";
}
- $(_this).parent().parent().remove();
+ $(_this).parent().parent().parent().parent().remove();
x--;
} else if (result.code === 401) {
layer.msg(result.msg, {icon: 2, time: 1500}, function () {
@@ -275,7 +371,7 @@
if (tempp > 1) {
document.getElementById("removeid" + tempp).style.display = "inline";
}
- $(_this).parent().parent().remove();
+ $(_this).parent().parent().parent().parent().remove();
x--;
}
layer.close(index);
@@ -308,27 +404,52 @@
$("#singleConsumeAmount").val(datalist[i].singleConsumeAmount);
$("#singleAmount").val(datalist[i].singleAmount);
$("#singlePoints").val(datalist[i].singlePoints);
- $("#pointsdate").val(result.pointsdate);
}
if (i > 0) {
- var strr = ' <div class="levelclass layui-card" ><div class="layui-card-header"> ' + x +
- '级会员设置: </div>\n' +
- ' <div class="layui-card-body"> 会员名称为 ' +
- '<input type="text" name="name" required lay-verify="required" autocomplete="off"' + 'value="' + datalist[i].name + '"' +
- 'class="layui-input" style="width: 150px;display: inline;height: 35px;margin: 6px">' +
- ' ,累计积分为 ' +
- '<input type="number" name="pointsLower" required lay-verify="required" autocomplete="off" class="layui-input"' + 'value="' + datalist[i].pointsLower + '"' +
- 'style="width: 80px;display: inline;height: 35px;margin: 6px">--- ' +
- '<input type="number" name="pointsUpper" required lay-verify="required" autocomplete="off"' + 'value="' + datalist[i].pointsUpper + '"' +
- 'class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px">分。 ' +
- ' <input type="text" name="levelid" id="levelid' + x + '" style="display: none" ' + 'value="' + datalist[i].id + '"/> ' +
+ var strr = ' <div class="levelclass layui-card"><div class="layui-card-header" style="font-weight: 700"> ' + x +
+ '级会员设置:</div> <div class="layui-card-body"><div style="display: flex;width: 398px;float: left;margin-left: 90px">' +
+ '<div style="display: inline;margin-top: 8px;margin-right: 15px"> 会员名称</div> ' +
+ '<input type="text" name="name" required lay-verify="required" autocomplete="off" ' + 'value="' + datalist[i].name + '"' +
+ ' class="layui-input" ' +
+ 'style="width: 210px;display: inline;height: 38px;text-align: center" id="lename"></div> ' +
+ '<div style="display: flex;width: 400px">\n' +
+ ' <div style="display: inline;margin-top: 8px;margin-right: 15px">累计积分</div>\n' +
+ ' <div class="layui-form-item" style="display: inline">\n' +
+ ' <label class="layui-form-label" style="width: 80px">大于</label>\n' +
+ ' <div class="layui-input-inline" style="margin-right: 0px;width: 150px">\n' +
+ ' <input type="number" name="pointsLower" required lay-verify="required"\n' + 'value="' + datalist[i].pointsLower + '"' +
+ ' autocomplete="off" style="text-align: center" \n' +
+ ' class="layui-input"\n' +
+ ' id="lelow">\n' +
+ ' </div>\n' +
+ ' <label class="layui-form-label" style="width: 60px">分</label>\n' +
+ ' </div>\n' +
+ ' </div>\n' +
+ ' <input type="text" name="levelid" id="levelid' + x + '" style="display: none"' + ' value="' + datalist[i].id + '"/> ' +
+ ' <div style="display: flex;margin-left: 90px">\n' +
+ ' <div style="display: inline;margin-top: 8px;margin-right: 15px">单笔消费</div>\n' +
+ ' <div class="layui-form-item" style="display: inline">\n' +
+ ' <label class="layui-form-label" style="width: 80px">实付满</label>\n' +
+ ' <div class="layui-input-inline" style="margin-right: 0px;width: 110px">\n' +
+ ' <input type="number" name="singleConsumeAmount" style="text-align: center" id="singleConsumeAmount" class="layui-input" ' + 'value="' + datalist[i].singleConsumeAmount + '" required lay-verify="required"/>\n' +
+ ' </div>\n' +
+ ' <label class="layui-form-label" style="width: 110px">元,每消费</label>\n' +
+ ' <div class="layui-input-inline" style="margin-right: 0px;width: 110px">\n' +
+ ' <input type="number" name="singleAmount" id="singleAmount" style="text-align: center" class="layui-input" ' + 'value="' + datalist[i].singleAmount + '" required\n' +
+ ' lay-verify="required"/>\n' +
+ ' </div>\n' +
+ ' <label class="layui-form-label" style="width: 110px">元,可获得</label>\n' +
+ ' <div class="layui-input-inline" style="margin-right: 0px;width: 110px">\n' +
+ ' <input type="number" name="singlePoints" id="singlePoints" class="layui-input" ' + 'value="' + datalist[i].singlePoints + '"required\n' +
+ ' lay-verify="required" style="text-align: center"/>\n' +
+ ' </div>\n' +
+ ' <label class="layui-form-label" style="width: 60px">分</label>\n' +
'<button type="button" class="layui-btn layui-btn-danger removeclass" id="removeid' + x + '" style="display: inline">删除</button>' +
- '<div style="margin-left: 85px">订单实付金额满\n' +
- '<input type="number" name="singleConsumeAmount" class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px" ' + 'value="' + datalist[i].singleConsumeAmount + '"required lay-verify="required" />元时,每消费\n' +
- '<input type="number" name="singleAmount" class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px" ' + 'value="' + datalist[i].singleAmount + '" required lay-verify="required"/>元,可获得\n' +
- '<input type="number" name="singlePoints" class="layui-input" style="width: 80px;display: inline;height: 35px;margin: 6px" ' + 'value="' + datalist[i].singlePoints + '" required lay-verify="required"/>积分;\n' +
- '</div></div>'
- '</div>';
+ ' </div>\n' +
+ ' </div>\n' +
+ ' </div>\n' +
+ ' </div>'
+ ;
if (x !== 2) {
let temp = x - 1;
document.getElementById("removeid" + temp).style.display = "none";
@@ -415,7 +536,6 @@
form.on('submit(consume-form-submit)', function (data) {
let token = $("meta[name='_csrf_token']").attr("value");
let tConsumePoints = [];
- let pointslimit;
$('.consumeclass').each(function (index, e) {
let tConsumePoint = {}
$(this).find('input[type="text"]').each(function (index, e) {
@@ -442,8 +562,7 @@
});
tConsumePoints.push(tConsumePoint);
});
- pointslimit = $("#pointslimit").val();
- var data = {'tConsumePoints': tConsumePoints,'pointslimit':pointslimit};
+ var data = {'tConsumePoints': tConsumePoints};
layer.confirm('确认保存?', {
icon: 3, title: '提示'
@@ -629,90 +748,179 @@
//
let monthConsumeList = [];
let dayConsumeList = [];
- let getrulelist = function(){
+ let getrulelist = function () {
$.ajax({
- type: "GET",
- dataType: "json",
- url: '[[@{/consume/rulelist}]]',
- headers: {
- 'Accept': 'application/json',
- 'Content-Type': 'application/json',
- },
- success: function (result) {
- layer.closeAll('loading');
- if (result.code === 200) {
- monthConsumeList = result.monthConsumeList
- dayConsumeList = result.dayConsumeList
- for(let temp=0;temp<=conx;temp++){
- $("#removecon"+temp).parent().remove();
- }
- for(let temp=0;temp<=conMonthx;temp++){
- $("#removeMonthcon"+temp).parent().remove();
- }
- conx = 2;
- conMonthx = 2;
- for (let i = 0; i < dayConsumeList.length; i++) {
- if (i === 0) {
- $("#conAmount").val(dayConsumeList[i].consumeamount);
- $("#conPoints").val(dayConsumeList[i].points);
- $("#conPointsid").val(dayConsumeList[i].id);
- $("#pointslimit").val(result.pointslimit);
+ type: "GET",
+ dataType: "json",
+ url: '[[@{/consume/rulelist}]]',
+ headers: {
+ 'Accept': 'application/json',
+ 'Content-Type': 'application/json',
+ },
+ success: function (result) {
+ layer.closeAll('loading');
+ if (result.code === 200) {
+ monthConsumeList = result.monthConsumeList
+ dayConsumeList = result.dayConsumeList
+ for (let temp = 0; temp <= conx; temp++) {
+ $("#removecon" + temp).parent().remove();
}
- if (i > 0) {
- let daystrr = ' <div class="consumeclass">当日累计消费金额满 ' +
- '<input type="text" name="conAmount" required lay-verify="required" autocomplete="off" ' + 'value="' + dayConsumeList[i].consumeamount + '"' +
- 'class="layui-input" style="width: 60px;display: inline;height: 28px;margin: 6px" id="lename">' +
- '元时,可额外获得 <input type="text" name="conPoints" required lay-verify="required" ' + 'value="' + dayConsumeList[i].points + '" ' +
- ' autocomplete="off" class="layui-input" ' +
- 'style="width: 60px;display: inline;height: 28px;margin: 6px" id="lelow">积分;' +
- ' <input type="text" name="conPointsid" id="conPointsid' + conx + '" style="display: none" ' + 'value="' + dayConsumeList[i].id + '"/> ' +
- '<button type="button" class="layui-btn layui-btn-danger removeconsume" id="removecon' + conx + '" style="display: inline">删除</button></div>';
- if (conx !== 2) {
- let temp = conx - 1;
- document.getElementById("removecon" + temp).style.display = "none";
+ for (let temp = 0; temp <= conMonthx; temp++) {
+ $("#removeMonthcon" + temp).parent().remove();
+ }
+ conx = 2;
+ conMonthx = 2;
+ for (let i = 0; i < dayConsumeList.length; i++) {
+ if (i === 0) {
+ $("#conAmount").val(dayConsumeList[i].consumeamount);
+ $("#conPoints").val(dayConsumeList[i].points);
+ $("#conPointsid").val(dayConsumeList[i].id);
}
- $("#consumeid").append(daystrr);
- conx++;
- }
- }
- for (let i = 0; i < monthConsumeList.length; i++) {
- if (i === 0) {
- $("#conMonthAmount").val(monthConsumeList[i].consumeamount);
- $("#conMonthPoints").val(monthConsumeList[i].points);
- $("#conMonthPointsid").val(monthConsumeList[i].id);
- }
- if (i > 0) {
- let monthstrr = ' <div class="consumeclass">当月累计消费金额满 ' +
- '<input type="text" name="conMonthAmount" required lay-verify="required" autocomplete="off" ' + 'value="' + monthConsumeList[i].consumeamount + '" ' +
- 'class="layui-input" style="width: 60px;display: inline;height: 28px;margin: 6px" id="lename">' +
- '元时,可额外获得 <input type="text" name="conMonthPoints" required lay-verify="required" ' + 'value="' + monthConsumeList[i].points + '"' +
- ' autocomplete="off" class="layui-input" ' +
- 'style="width: 60px;display: inline;height: 28px;margin: 6px" id="lelow">积分;' +
- ' <input type="text" name="conMonthPointsid" id="conMonthPointsid' + conMonthx + '" style="display: none" ' + 'value="' + monthConsumeList[i].id + '"/> ' +
- '<button type="button" class="layui-btn layui-btn-danger removeMonthconsume" id="removeMonthcon' + conMonthx + '" style="display: inline">删除</button></div>';
- if (conMonthx !== 2) {
- let temp = conMonthx - 1;
- document.getElementById("removeMonthcon" + temp).style.display = "none";
+ if (i > 0) {
+ let daystrr = ' <div class="consumeclass">当日累计消费金额满 ' +
+ '<input type="text" name="conAmount" required lay-verify="required" autocomplete="off" ' + 'value="' + dayConsumeList[i].consumeamount + '"' +
+ 'class="layui-input" style="width: 60px;display: inline;height: 28px;margin: 6px" id="lename">' +
+ '元时,可额外获得 <input type="text" name="conPoints" required lay-verify="required" ' + 'value="' + dayConsumeList[i].points + '" ' +
+ ' autocomplete="off" class="layui-input" ' +
+ 'style="width: 60px;display: inline;height: 28px;margin: 6px" id="lelow">积分;' +
+ ' <input type="text" name="conPointsid" id="conPointsid' + conx + '" style="display: none" ' + 'value="' + dayConsumeList[i].id + '"/> ' +
+ '<button type="button" class="layui-btn layui-btn-danger removeconsume" id="removecon' + conx + '" style="display: inline">删除</button></div>';
+ if (conx !== 2) {
+ let temp = conx - 1;
+ document.getElementById("removecon" + temp).style.display = "none";
+ }
+ $("#consumeid").append(daystrr);
+ conx++;
}
- $("#consumeMonthid").append(monthstrr);
- conMonthx++;
}
+ for (let i = 0; i < monthConsumeList.length; i++) {
+ if (i === 0) {
+ $("#conMonthAmount").val(monthConsumeList[i].consumeamount);
+ $("#conMonthPoints").val(monthConsumeList[i].points);
+ $("#conMonthPointsid").val(monthConsumeList[i].id);
+ }
+ if (i > 0) {
+ let monthstrr = ' <div class="consumeclass">当月累计消费金额满 ' +
+ '<input type="text" name="conMonthAmount" required lay-verify="required" autocomplete="off" ' + 'value="' + monthConsumeList[i].consumeamount + '" ' +
+ 'class="layui-input" style="width: 60px;display: inline;height: 28px;margin: 6px" id="lename">' +
+ '元时,可额外获得 <input type="text" name="conMonthPoints" required lay-verify="required" ' + 'value="' + monthConsumeList[i].points + '"' +
+ ' autocomplete="off" class="layui-input" ' +
+ 'style="width: 60px;display: inline;height: 28px;margin: 6px" id="lelow">积分;' +
+ ' <input type="text" name="conMonthPointsid" id="conMonthPointsid' + conMonthx + '" style="display: none" ' + 'value="' + monthConsumeList[i].id + '"/> ' +
+ '<button type="button" class="layui-btn layui-btn-danger removeMonthconsume" id="removeMonthcon' + conMonthx + '" style="display: inline">删除</button></div>';
+ if (conMonthx !== 2) {
+ let temp = conMonthx - 1;
+ document.getElementById("removeMonthcon" + temp).style.display = "none";
+ }
+ $("#consumeMonthid").append(monthstrr);
+ conMonthx++;
+ }
+ }
+ } else if (result.code === 401) {
+ layer.msg(result.msg, {icon: 2, time: 1500}, function () {
+ location.replace('[[@{/login}]]');
+ }, 1000);
+ } else {
+ console.log('err:' + result.code);
+ layer.msg(result.msg, {icon: 2});
}
- } else if (result.code === 401) {
- layer.msg(result.msg, {icon: 2, time: 1500}, function () {
- location.replace('[[@{/login}]]');
- }, 1000);
- } else {
- console.log('err:' + result.code);
- layer.msg(result.msg, {icon: 2});
+ },
+ error: function () {
+ layer.closeAll('loading');
+ layer.msg("请求服务器失败!", {icon: 2});
}
- },
- error: function () {
- layer.closeAll('loading');
- layer.msg("请求服务器失败!", {icon: 2});
- }
- });
+ });
}
getrulelist();
+
+
+
+ /*
+ * 其他设置
+ *
+ * */
+
+ /*
+ *
+ * 消费奖励积分设置
+ * */
+ form.on('submit(set-form-submit)', function (data) {
+ let token = $("meta[name='_csrf_token']").attr("value");
+ let consumePointsLi = $("#consumePointsLi").val();
+ let taskPointsLi = $("#taskPointsLi").val();
+ let dayPointsLi = $("#dayPointsLi").val();
+ var data = {'consumePointsLi': consumePointsLi, 'taskPointsLi': taskPointsLi,'dayPointsLi': dayPointsLi};
+ layer.confirm('确认保存?', {
+ icon: 3, title: '提示'
+
+ }, function (index) {
+ layer.load(2);
+ $.ajax({
+ type: "POST",
+ dataType: "json",
+ url: '[[@{/pointsSet/add}]]',
+ headers: {
+ 'Accept': 'application/json',
+ 'Content-Type': 'application/json',
+ 'X-CSRF-TOKEN': token,
+ },
+ data: JSON.stringify(data),
+ success: function (result) {
+ layer.closeAll('loading');
+ if (result.code === 200) {
+ layer.msg(result.msg, {icon: 1});
+ getPointsSet();
+ } else if (result.code === 401) {
+ layer.msg(result.msg, {icon: 2, time: 1500}, function () {
+ location.replace('[[@{/login}]]');
+ }, 1000);
+ } else {
+ console.log('err:' + result.code);
+ layer.msg(result.msg, {icon: 2});
+ }
+ },
+ error: function () {
+ layer.closeAll('loading');
+ layer.msg("请求服务器失败!", {icon: 2});
+ }
+ });
+ layer.close(index);
+ });
+ return false;
+ });
+
+ let getPointsSet = function () {
+ $.ajax({
+ type: "GET",
+ dataType: "json",
+ url: '[[@{/pointsSet/list}]]',
+ headers: {
+ 'Accept': 'application/json',
+ 'Content-Type': 'application/json',
+ },
+ success: function (result) {
+ layer.closeAll('loading');
+ if (result.code === 200) {
+ let dataSet = result.data;
+ console.log(dataSet)
+ $("#consumePointsLi").val(dataSet.consumePointsLi);
+ $("#taskPointsLi").val(dataSet.taskPointsLi);
+ $("#dayPointsLi").val(dataSet.dayPointsLi);
+ } else if (result.code === 401) {
+ layer.msg(result.msg, {icon: 2, time: 1500}, function () {
+ location.replace('[[@{/login}]]');
+ }, 1000);
+ } else {
+ console.log('err:' + result.code);
+ layer.msg(result.msg, {icon: 2});
+ }
+ },
+ error: function () {
+ layer.closeAll('loading');
+ layer.msg("请求服务器失败!", {icon: 2});
+ }
+ });
+ }
+ getPointsSet();
})
</script>
diff --git a/payapi/src/main/resources/templates/system/level/pointsdetail.html b/payapi/src/main/resources/templates/system/level/pointsdetail.html
deleted file mode 100644
index 29d326f..0000000
--- a/payapi/src/main/resources/templates/system/level/pointsdetail.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<table class="layui-table" id="pointsDetailTable" lay-filter="pointsDetailTable-filter"></table>
-<script>
- layui.use(['layer', 'table', 'admin', 'form', 'formSelects'], function () {
- var layer = layui.layer;
- var admin = layui.admin;
- var form = layui.form;
- var table = layui.table;
- var bean = admin.getTempData('t_bean');
- console.log(bean)
- if (bean) {
- table.render({
- elem: '#pointsDetailTable',
- url: '[[@{/pointsdetail/list}]]',
- page: true,
- where: {userid: bean.userid},
- cols: [
- [
- {
- field: 'type',
- title: '积分来源',
- width: 140,
- align: 'center',
- fixed: 'left',
- sort: true
- },
- {field: 'points', title: '积分变化', width: 130, align: 'center'},
- {
- field: 'transtime',
- title: '时间',
- width: 160,
- align: 'center',
- templet: function (item) {
- let datetemp = item.transdate + item.transtime;
- return admin.formatDate(datetemp);
- }
- }
- ]
- ]
- });
- }
- });
-</script>
diff --git a/payapi/src/main/resources/templates/system/level/pointsreport.html b/payapi/src/main/resources/templates/system/level/pointsreport.html
new file mode 100644
index 0000000..c326e0c
--- /dev/null
+++ b/payapi/src/main/resources/templates/system/level/pointsreport.html
@@ -0,0 +1,117 @@
+<div class="layui-card">
+ <div class="layui-card-header">
+ <h2 class="header-title">发放积分统计</h2>
+ <span class="layui-breadcrumb pull-right">
+ <a href="#">积分中心</a>
+ <a><cite>发放积分统计</cite></a>
+ </span>
+ </div>
+ <div class="layui-card-body">
+ <div class="layui-form toolbar">
+ <div class="layui-inline">
+ <label class="layui-form-label">积分日期</label>
+ <div class="layui-input-inline" style="width: 120px;">
+ <input type="text" name="startDate" id="startDate"
+ placeholder="开始日期"
+ autocomplete="off" class="layui-input"/>
+ </div>
+ -
+ <div class="layui-input-inline" style="width: 120px;">
+ <input type="text" name="endDate" id="endDate" placeholder="结束日期"
+ autocomplete="off"
+ class="layui-input"/>
+ </div>
+ </div>
+ 积分名称:
+ <select id="points-name">
+ <option value=""> 全部</option>
+ <option value="consume">消费获得</option>
+ <option value="task">任务获得</option>
+ </select>
+
+ <button id="btn-chkstatus-search" class="layui-btn icon-btn" data-type="search"><i
+ class="layui-icon"></i>搜索
+ </button>
+ <button id="btn-reset-sysparam" class="layui-btn layui-btn-primary" data-type="reset" ><i
+ class="layui-icon"></i>清 空
+ </button>
+ </div>
+ <table class="layui-table" id="pointsReportTable" lay-filter="pointsReportTable"></table>
+ </div>
+</div>
+
+<script type="text/html" id="subjectday-toolbar">
+ <div class="layui-btn-container">
+ <button class="layui-btn layui-btn-sm" id="btn-fold-subjectday" lay-event="subjectdayShowFold" style="color: #020202;background-color: #f2f2f2;font-weight: 700">
+ <div>累计获得积分:<span id="points" style="color: #0096f8">0</span> 累计失效积分:<span id="outPoints" style="color: #0096f8">0</span></div>
+ </button>
+ </div>
+</script>
+<script>
+ layui.use(['form', 'table', 'layer', 'admin', 'element', 'laydate'], function () {
+ var form = layui.form;
+ var table = layui.table;
+ var admin = layui.admin;
+ var laydate = layui.laydate;
+ form.render("select");
+ laydate.render({
+ elem: '#startDate'
+ ,format: 'yyyy年MM月dd日'
+ });
+ laydate.render({
+ elem: '#endDate'
+ ,format: 'yyyy年MM月dd日'
+ });
+ // 渲染表格
+ table.render({
+ elem: '#pointsReportTable',
+ url: '[[@{/pointsReport/list}]]',
+ page: false,
+ toolbar:'#subjectday-toolbar',
+ defaultToolbar: [],
+ where: {startdate: null, enddate: null},
+ cols: [
+ [
+ {
+ field: 'pointsName',
+ title: '积分名称',
+ width: 300,
+ align: 'center'
+
+ },
+ {
+ field: 'pointsCount',
+ title: '次数',
+ width: 320,
+ align: 'center'
+
+ },
+ {
+ field: 'pointsSum',
+ title: '积分',
+ width: 320,
+ align: 'center'
+
+ }
+
+ ]
+ ]
+ });
+
+ // 搜索按钮点击事件
+ $('#btn-chkstatus-search').click(function () {
+ let name = $("#search-chkstatus-searchkey").val();
+ let startDate = $("#startDate").val();
+ let endDate = $("#endDate").val();
+ table.reload('userPointsTable', {where: {name: name, startdate:startDate,enddate:endDate}});
+ });
+
+ $('#btn-reset-sysparam').click(function () {
+ $("#search-chkstatus-searchkey").val("");
+ $("#startDate").val("");
+ $("#endDate").val("");
+ });
+
+
+ });
+</script>