From f48ccb53255f0572b327c324da4e138b4d890666 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Mon, 12 Mar 2018 14:51:46 +0800 Subject: [PATCH 01/31] add contract analysis webview --- .../mappers/system/ClientsContractMapper.java | 4 ++ .../system/core/ClientContractService.java | 3 + .../core/impl/ClientContractServiceImpl.java | 5 ++ .../manage/system/web/contractController.java | 26 +++++++ src/main/ui/manage.html | 6 ++ src/main/ui/static/sys/contract.js | 23 ++++++ .../static/sys/templates/contract_sign.html | 70 +++++++++++++++++++ 7 files changed, 137 insertions(+) create mode 100644 src/main/java/au/com/royalpay/payment/manage/system/web/contractController.java create mode 100644 src/main/ui/static/sys/contract.js create mode 100644 src/main/ui/static/sys/templates/contract_sign.html diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsContractMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsContractMapper.java index 043079965..17c9620d1 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsContractMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsContractMapper.java @@ -1,5 +1,6 @@ package au.com.royalpay.payment.manage.mappers.system; +import java.sql.SQLType; import java.util.List; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,7 @@ public interface ClientsContractMapper { JSONObject findByClientId(@Param("client_id") int clientId); + @AutoSql(type = SqlType.SELECT) + List list(); + } diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/ClientContractService.java b/src/main/java/au/com/royalpay/payment/manage/system/core/ClientContractService.java index 9f57b23ea..902ef5e0f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/ClientContractService.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/ClientContractService.java @@ -2,6 +2,8 @@ package au.com.royalpay.payment.manage.system.core; import com.alibaba.fastjson.JSONObject; +import java.util.List; + public interface ClientContractService { JSONObject getOrGenerateSourceAgreement(int client_id,String channel); @@ -12,4 +14,5 @@ public interface ClientContractService { JSONObject getClientContractExpire(int client_id); + List list(); } diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/ClientContractServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/ClientContractServiceImpl.java index 20d66a08d..ded7830fc 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/ClientContractServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/ClientContractServiceImpl.java @@ -186,4 +186,9 @@ public class ClientContractServiceImpl implements ClientContractService { return result; } + + @Override + public List list() { + return clientsContractMapper.list(); + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/system/web/contractController.java b/src/main/java/au/com/royalpay/payment/manage/system/web/contractController.java new file mode 100644 index 000000000..2d688dfe8 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/system/web/contractController.java @@ -0,0 +1,26 @@ +package au.com.royalpay.payment.manage.system.web; + +import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; +import au.com.royalpay.payment.manage.system.core.ClientContractService; + +import com.alibaba.fastjson.JSONObject; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +import javax.annotation.Resource; + +@RestController +@RequestMapping(value = "/manage/contract") +public class contractController { + @Resource + private ClientContractService clientContractService; + + @ManagerMapping(value = "/list",method = RequestMethod.GET) + public List list(){ + return clientContractService.list(); + } +} diff --git a/src/main/ui/manage.html b/src/main/ui/manage.html index ab8e0d12a..eb9f00859 100644 --- a/src/main/ui/manage.html +++ b/src/main/ui/manage.html @@ -328,6 +328,12 @@ margin-bottom: 10%;"/> 周末费率减半活动 +
  • + + 合同签约情况 + +
  • +
  • diff --git a/src/main/ui/static/sys/contract.js b/src/main/ui/static/sys/contract.js new file mode 100644 index 000000000..2ce9fba49 --- /dev/null +++ b/src/main/ui/static/sys/contract.js @@ -0,0 +1,23 @@ +/** + * Created by yishuqian on 01/06/2017. + */ +define(['angular'], function (angular) { + 'use strict'; + var app = angular.module('contractApp', ['ui.router']); + app.config(['$stateProvider', function ($stateProvider) { + $stateProvider.state('contract', { + url: '/contract', + templateUrl: '/static/sys/templates/contract_sign.html', + controller: 'contractAnalysisCtrl' + }) + }]); + app.controller('contractAnalysisCtrl', ['$scope', '$http', '$state', '$filter', 'commonDialog', function ($scope, $http, $state, $filter, commonDialog) { + $scope.getContractAnalysis = function () { + $http.get('/manage/contract/list').then(function (resp) { + $scope.contract_analysis = resp.data; + }); + }; + $scope.getContractAnalysis(); + }]); + return app; +}); \ No newline at end of file diff --git a/src/main/ui/static/sys/templates/contract_sign.html b/src/main/ui/static/sys/templates/contract_sign.html new file mode 100644 index 000000000..ca4349457 --- /dev/null +++ b/src/main/ui/static/sys/templates/contract_sign.html @@ -0,0 +1,70 @@ + + + \ No newline at end of file From 5589d83f0d1fc6580070d52d4564d3060fd09285 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 13 Mar 2018 15:14:15 +0800 Subject: [PATCH 02/31] add exchange rate cache --- .../core/impls/DashboardServiceImpl.java | 50 ++++++++++--------- .../web/ClearingConfigController.java | 16 ++++-- .../mappers/system/ExchangeRateMapper.java | 29 +++++++++++ .../mappers/system/ExchangeRateMapper.xml | 19 +++++++ 4 files changed, 86 insertions(+), 28 deletions(-) create mode 100644 src/main/java/au/com/royalpay/payment/manage/mappers/system/ExchangeRateMapper.java create mode 100644 src/main/resources/au/com/royalpay/payment/manage/mappers/system/ExchangeRateMapper.xml diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java index 67b3206ca..248197b91 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java @@ -1,5 +1,28 @@ package au.com.royalpay.payment.manage.analysis.core.impls; +import au.com.royalpay.payment.core.exceptions.ParamInvalidException; +import au.com.royalpay.payment.manage.analysis.beans.AnalysisBean; +import au.com.royalpay.payment.manage.analysis.core.DashboardAnalysisTask; +import au.com.royalpay.payment.manage.analysis.core.DashboardService; +import au.com.royalpay.payment.manage.analysis.mappers.ClientAnalysisMapper; +import au.com.royalpay.payment.manage.analysis.mappers.CustomerAndOrdersStatisticsMapper; +import au.com.royalpay.payment.manage.analysis.mappers.TransactionAnalysisMapper; +import au.com.royalpay.payment.manage.mappers.system.ClientMapper; +import au.com.royalpay.payment.manage.mappers.system.ExchangeRateMapper; +import au.com.royalpay.payment.manage.merchants.core.ClientManager; +import au.com.royalpay.payment.tools.defines.TradeType; + +import com.alibaba.fastjson.JSONObject; +import com.github.miemiedev.mybatis.paginator.domain.Order; +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; + +import org.apache.commons.lang3.time.DateUtils; +import org.apache.commons.lang3.time.DurationFormatUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; + import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -12,28 +35,6 @@ import java.util.TreeMap; import javax.annotation.Resource; -import org.apache.commons.lang3.time.DateUtils; -import org.apache.commons.lang3.time.DurationFormatUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; - -import com.alibaba.fastjson.JSONObject; -import com.github.miemiedev.mybatis.paginator.domain.Order; -import com.github.miemiedev.mybatis.paginator.domain.PageBounds; - -import au.com.royalpay.payment.core.exceptions.ParamInvalidException; -import au.com.royalpay.payment.manage.analysis.beans.AnalysisBean; -import au.com.royalpay.payment.manage.analysis.core.DashboardAnalysisTask; -import au.com.royalpay.payment.manage.analysis.core.DashboardService; -import au.com.royalpay.payment.manage.analysis.mappers.ClientAnalysisMapper; -import au.com.royalpay.payment.manage.analysis.mappers.CustomerAndOrdersStatisticsMapper; -import au.com.royalpay.payment.manage.analysis.mappers.TransactionAnalysisMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientMapper; -import au.com.royalpay.payment.manage.merchants.core.ClientManager; -import au.com.royalpay.payment.tools.defines.TradeType; - /** * Created by davep on 2016-07-28. */ @@ -50,6 +51,8 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT private ClientMapper clientMapper; @Resource private CustomerAndOrdersStatisticsMapper customerAndOrdersStatisticsMapper; + @Resource + private ExchangeRateMapper exchangeRateMapper; @Override public JSONObject getCommonAnalysis1(JSONObject params) { @@ -323,7 +326,8 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT } public void channelsExchangeRate(Date beginDate,Date endDate,Map exchangeRateMap, String channel){ - List channelRates = transactionAnalysisMapper.listExchangeRates(beginDate, endDate,channel); + + List channelRates = exchangeRateMapper.listExchangeRates(beginDate, endDate,channel); for (JSONObject analysisItem:channelRates){ Date date = analysisItem.getDate("date"); JSONObject dataItem = exchangeRateMap.get(date); diff --git a/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/ClearingConfigController.java b/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/ClearingConfigController.java index fda50ec79..89a9e4a61 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/ClearingConfigController.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/ClearingConfigController.java @@ -4,7 +4,12 @@ import au.com.royalpay.payment.manage.management.clearing.core.CleanService; import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.tools.CommonConsts; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; + +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -18,13 +23,14 @@ public class ClearingConfigController { @Resource private CleanService cleanService; - @ManagerMapping(value = "/rate_warnings",method = RequestMethod.GET,role = {ManagerRole.ADMIN,ManagerRole.OPERATOR, ManagerRole.FINANCIAL_STAFF}) - public JSONObject getRateWarnings(){ + @ManagerMapping(value = "/rate_warnings", method = RequestMethod.GET, role = { ManagerRole.ADMIN, ManagerRole.OPERATOR, ManagerRole.FINANCIAL_STAFF }) + public JSONObject getRateWarnings() { return cleanService.rateWarnings(); } - @ManagerMapping(value = "/clients/{clientMoniker}/auto_rate",method = RequestMethod.PUT,role = {ManagerRole.ADMIN,ManagerRole.OPERATOR}) - public JSONObject generateRateAutomatically(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager){ - return cleanService.autoGenerateRate(clientMoniker,manager); + @ManagerMapping(value = "/clients/{clientMoniker}/auto_rate", method = RequestMethod.PUT, role = { ManagerRole.ADMIN, ManagerRole.OPERATOR }) + public JSONObject generateRateAutomatically(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + return cleanService.autoGenerateRate(clientMoniker, manager); } + } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ExchangeRateMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ExchangeRateMapper.java new file mode 100644 index 000000000..dc086e7d7 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ExchangeRateMapper.java @@ -0,0 +1,29 @@ +package au.com.royalpay.payment.manage.mappers.system; + +import java.util.Date; +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +import com.alibaba.fastjson.JSONObject; + +import cn.yixblog.support.mybatis.autosql.annotations.AdvanceSelect; +import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; +import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; +import cn.yixblog.support.mybatis.autosql.annotations.SqlType; + +/** + * Create by yixian at 2017-12-19 19:09 + */ +@AutoMapper(tablename = "sys_exchange_rate", pkName = "id") +public interface ExchangeRateMapper { + @AutoSql(type = SqlType.SELECT) + @AdvanceSelect(addonWhereClause = "type = 1") + JSONObject findMaxRate(@Param("create_date") Date create_time); + + @AutoSql(type = SqlType.SELECT) + @AdvanceSelect(addonWhereClause = "type = 2") + JSONObject findMinRate(@Param("create_date") Date create_time); + + List listExchangeRates(@Param("begin") Date begin, @Param("end") Date end, @Param("channel") String channel); +} diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ExchangeRateMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ExchangeRateMapper.xml new file mode 100644 index 000000000..1c552bbf8 --- /dev/null +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ExchangeRateMapper.xml @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file From fbec5fbd561b54ef8a68721bbf72d435971bec20 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 20 Mar 2018 09:38:26 +0800 Subject: [PATCH 03/31] update --- .../templates/activity/mondelay/mondelay.html | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/main/resources/templates/activity/mondelay/mondelay.html b/src/main/resources/templates/activity/mondelay/mondelay.html index d2350f0ff..6cf9c91e8 100644 --- a/src/main/resources/templates/activity/mondelay/mondelay.html +++ b/src/main/resources/templates/activity/mondelay/mondelay.html @@ -124,13 +124,10 @@ if(operation_pause){ return; } - var u = navigator.userAgent; - var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); - if(is_weixin()){ - + return; } else if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { - appCmd('{\"type\":\"cmd_join_mondelay\"'); + window.webkit.messageHandlers.appCmd.postMessage({type:'cmd_join_mondelay'}); } else if (/(Android)/i.test(navigator.userAgent)) { android.appCmd('{\"type\":\"cmd_join_mondelay\"}'); } else { @@ -141,18 +138,16 @@ if(operation_pause){ return; } - var u = navigator.userAgent; - var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); - if(is_weixin()){ - + return; } else if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { - appCmd('{\"type\":\"cmd_cancel_mondelay\"'); + window.webkit.messageHandlers.appCmd.postMessage({type:'cmd_cancel_mondelay'}); } else if (/(Android)/i.test(navigator.userAgent)) { android.appCmd('{\"type\":\"cmd_cancel_mondelay\"}'); } else { } + }); }) \ No newline at end of file From c6ba497390f2722250280a81a7c8d3e951874863 Mon Sep 17 00:00:00 2001 From: yuan <1551130722@qq.com> Date: Tue, 20 Mar 2018 13:54:02 +0800 Subject: [PATCH 04/31] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app_index/beans/AppActBean.java | 86 ++++++++++++------- src/main/ui/static/actapp/app_act_list.js | 18 ++++ .../actapp/templates/act_app_detail.html | 37 +++++++- .../static/actapp/templates/act_app_list.html | 8 +- 4 files changed, 112 insertions(+), 37 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/beans/AppActBean.java b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/beans/AppActBean.java index 1ede5f853..e312f2dde 100644 --- a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/beans/AppActBean.java +++ b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/beans/AppActBean.java @@ -28,37 +28,27 @@ public class AppActBean { private String active_date; private String expire_date; private String banner_img; + private String msg_start_date; + private String msg_end_date; + private String msg_interval; public JSONObject toJsonParam(){ JSONObject params = new JSONObject(); - if(StringUtils.isNotEmpty(act_name)){ - params.put("act_name",act_name); - } - if(StringUtils.isNotEmpty(act_url)){ - params.put("act_url",act_url); - } - if(StringUtils.isNotEmpty(params_json)){ - params.put("params_json",params_json); - } - if(StringUtils.isNotEmpty(desc)){ - params.put("desc",desc); - } - if(StringUtils.isNotEmpty(act_content)){ - params.put("act_content",act_content); - } - if(StringUtils.isNotEmpty(show_type)){ - params.put("show_type",show_type); - } - if(StringUtils.isNotEmpty(act_img)){ - params.put("act_img",act_img); - } - if(StringUtils.isNotEmpty(window_img)){ - params.put("window_img",window_img); - } - if(StringUtils.isNotEmpty(banner_img)){ - params.put("banner_img",banner_img); - } + params.put("act_name",act_name); + params.put("act_url",act_url); + params.put("params_json",params_json); + params.put("desc",desc); + params.put("act_content",act_content); + params.put("show_type",show_type); + params.put("act_img",act_img); + params.put("window_img",window_img); + params.put("banner_img",banner_img); + params.put("msg_interval",msg_interval); + params.put("is_show_window",is_show_window); + params.put("is_valid",is_valid); + params.put("msg_start_date", msg_start_date); + params.put("msg_end_date", msg_end_date); if (active_date != null) { try { Date fromDate = DateUtils.parseDate(active_date, DATE_PATTERNS); @@ -75,8 +65,22 @@ public class AppActBean { throw new ParamInvalidException("expire_date", "error.payment.valid.invalid_date_format"); } } - params.put("is_show_window",is_show_window); - params.put("is_valid",is_valid); + if (msg_start_date != null) { + try { + Date fromDate = DateUtils.parseDate(msg_start_date, DATE_PATTERNS); + params.put("msg_start_date", fromDate); + } catch (ParseException e) { + throw new ParamInvalidException("msg_start_date", "error.payment.valid.invalid_date_format"); + } + } + if (msg_end_date != null) { + try { + Date fromDate = DateUtils.parseDate(msg_end_date, DATE_PATTERNS); + params.put("msg_end_date", fromDate); + } catch (ParseException e) { + throw new ParamInvalidException("msg_end_date", "error.payment.valid.invalid_date_format"); + } + } return params; } @@ -183,4 +187,28 @@ public class AppActBean { public void setBanner_img(String banner_img) { this.banner_img = banner_img; } + + public String getMsg_start_date() { + return msg_start_date; + } + + public void setMsg_start_date(String msg_start_date) { + this.msg_start_date = msg_start_date; + } + + public String getMsg_end_date() { + return msg_end_date; + } + + public void setMsg_end_date(String msg_end_date) { + this.msg_end_date = msg_end_date; + } + + public String getMsg_interval() { + return msg_interval; + } + + public void setMsg_interval(String msg_interval) { + this.msg_interval = msg_interval; + } } diff --git a/src/main/ui/static/actapp/app_act_list.js b/src/main/ui/static/actapp/app_act_list.js index 35cc04915..2f5751a63 100644 --- a/src/main/ui/static/actapp/app_act_list.js +++ b/src/main/ui/static/actapp/app_act_list.js @@ -65,6 +65,12 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS if ($scope.actDetail.expire_date) { $scope.actDetail.expire_date = $filter('date')($scope.actDetail.expire_date, 'yyyy-MM-dd'); } + if ($scope.actDetail.msg_start_date) { + $scope.actDetail.msg_start_date = $filter('date')($scope.actDetail.msg_start_date, 'yyyy-MM-dd'); + } + if ($scope.actDetail.msg_end_date) { + $scope.actDetail.msg_end_date = $filter('date')($scope.actDetail.msg_end_date, 'yyyy-MM-dd'); + } $http.put('/manager/app/act/new', $scope.actDetail).then(function (resp) { commonDialog.alert({title: 'Success', content: '新增成功', type: 'success'}); $state.go('^.detail',{act_id:resp.data.act_id},{reload:true}); @@ -78,6 +84,12 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS $scope.ctrl = {dateInput: false}; $scope.actDetail.active_date = new Date($scope.actDetail.active_date); $scope.actDetail.expire_date = new Date($scope.actDetail.expire_date); + if($scope.actDetail.msg_start_date){ + $scope.actDetail.msg_start_date = new Date($scope.actDetail.msg_start_date); + } + if($scope.actDetail.msg_end_date){ + $scope.actDetail.msg_end_date = new Date($scope.actDetail.msg_end_date); + } $scope.submit = function () { if ($scope.actDetail.active_date) { $scope.actDetail.active_date = $filter('date')($scope.actDetail.active_date, 'yyyy-MM-dd'); @@ -85,6 +97,12 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS if ($scope.actDetail.expire_date) { $scope.actDetail.expire_date = $filter('date')($scope.actDetail.expire_date, 'yyyy-MM-dd'); } + if ($scope.actDetail.msg_start_date) { + $scope.actDetail.msg_start_date = $filter('date')($scope.actDetail.msg_start_date, 'yyyy-MM-dd'); + } + if ($scope.actDetail.msg_end_date) { + $scope.actDetail.msg_end_date = $filter('date')($scope.actDetail.msg_end_date, 'yyyy-MM-dd'); + } $http.put('/manager/app/act/' + $scope.actDetail.act_id, $scope.actDetail).then(function (resp) { commonDialog.alert({title: 'Success', content: '修改成功', type: 'success'}); $state.reload(); diff --git a/src/main/ui/static/actapp/templates/act_app_detail.html b/src/main/ui/static/actapp/templates/act_app_detail.html index 920accbcf..8f85a0f7e 100644 --- a/src/main/ui/static/actapp/templates/act_app_detail.html +++ b/src/main/ui/static/actapp/templates/act_app_detail.html @@ -3,9 +3,9 @@

    APP_ACTIVITY

    @@ -44,8 +44,7 @@
    - +
    +
    + +
    +
    + +
    + ~ +
    + +
    +
    +
    + +
    + +
    +
    + + H +
    +
    +
    - +
    Date: Tue, 20 Mar 2018 17:12:12 +0800 Subject: [PATCH 08/31] update --- .../activities/app_index/beans/AppActBean.java | 9 ++++----- .../activities/app_index/web/AppActController.java | 12 +++++++++--- src/main/ui/static/actapp/app_act_list.js | 2 +- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/beans/AppActBean.java b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/beans/AppActBean.java index e312f2dde..6ed065c33 100644 --- a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/beans/AppActBean.java +++ b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/beans/AppActBean.java @@ -1,12 +1,11 @@ package au.com.royalpay.payment.manage.activities.app_index.beans; import au.com.royalpay.payment.core.exceptions.ParamInvalidException; + import com.alibaba.fastjson.JSONObject; -import org.apache.commons.lang3.StringUtils; + import org.apache.commons.lang3.time.DateUtils; -import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; -import javax.xml.crypto.Data; import java.text.ParseException; import java.util.Date; @@ -18,11 +17,11 @@ public class AppActBean { private String act_name; private String act_url; private String params_json; - private Boolean is_valid = true; + private boolean is_valid = true; private String desc; private String act_content; private String show_type; - private Boolean is_show_window; + private boolean is_show_window; private String act_img; private String window_img; private String active_date; diff --git a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/web/AppActController.java b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/web/AppActController.java index bd9d190b6..f9bbbfdb2 100644 --- a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/web/AppActController.java +++ b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/web/AppActController.java @@ -3,15 +3,21 @@ package au.com.royalpay.payment.manage.activities.app_index.web; import au.com.royalpay.payment.manage.activities.app_index.beans.AppActBean; import au.com.royalpay.payment.manage.activities.app_index.beans.AppActQueryBean; import au.com.royalpay.payment.manage.activities.app_index.core.AppActService; -import au.com.royalpay.payment.manage.activities.monsettledelay.beans.MonDelayBean; import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; import au.com.royalpay.payment.tools.CommonConsts; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.tools.utils.PageListUtils; + import com.alibaba.fastjson.JSONObject; import com.github.miemiedev.mybatis.paginator.domain.PageList; + import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/manager/app/act") @@ -31,7 +37,7 @@ public class AppActController { return appActService.getActDetail(manager,act_id); } - @ManagerMapping(value = "/new",method = RequestMethod.PUT,role = ManagerRole.SITE_MANAGER) + @ManagerMapping(method = RequestMethod.PUT,role = ManagerRole.SITE_MANAGER) public JSONObject newAppAct(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @RequestBody AppActBean appActBean){ return appActService.newAppAct(manager,appActBean); } diff --git a/src/main/ui/static/actapp/app_act_list.js b/src/main/ui/static/actapp/app_act_list.js index 2f5751a63..5129eba17 100644 --- a/src/main/ui/static/actapp/app_act_list.js +++ b/src/main/ui/static/actapp/app_act_list.js @@ -71,7 +71,7 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS if ($scope.actDetail.msg_end_date) { $scope.actDetail.msg_end_date = $filter('date')($scope.actDetail.msg_end_date, 'yyyy-MM-dd'); } - $http.put('/manager/app/act/new', $scope.actDetail).then(function (resp) { + $http.put('/manager/app/act', $scope.actDetail).then(function (resp) { commonDialog.alert({title: 'Success', content: '新增成功', type: 'success'}); $state.go('^.detail',{act_id:resp.data.act_id},{reload:true}); }, function (resp) { From 41bdbdfe3c0e6b322deaa3d511e3ff44b1c0fad6 Mon Sep 17 00:00:00 2001 From: yuan <1551130722@qq.com> Date: Tue, 20 Mar 2018 17:49:17 +0800 Subject: [PATCH 09/31] fix bug --- .../manage/activities/app_index/core/AppActService.java | 2 ++ .../app_index/core/impls/AppActServiceImp.java | 9 +++++++++ .../activities/app_index/web/AppActController.java | 5 +++++ src/main/ui/static/actapp/app_act_list.js | 2 +- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/core/AppActService.java b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/core/AppActService.java index 39f1f771e..ba05e6552 100644 --- a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/core/AppActService.java +++ b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/core/AppActService.java @@ -20,4 +20,6 @@ public interface AppActService { void updateAct(JSONObject manager,String act_id,AppActBean appActBean); JSONObject getLatestWindowNotice(); + + void published(JSONObject manager,String act_id,boolean is_valid); } diff --git a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/core/impls/AppActServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/core/impls/AppActServiceImp.java index f100e4d72..741f07747 100644 --- a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/core/impls/AppActServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/core/impls/AppActServiceImp.java @@ -67,4 +67,13 @@ public class AppActServiceImp implements AppActService { actAppMapper.newAppAct(params); return params; } + + @Override + public void published(JSONObject manager, String act_id, boolean is_valid) { + JSONObject params = new JSONObject(); + params.put("act_id",act_id); + params.put("is_valid",is_valid); + params.put("update_time",new Date()); + actAppMapper.updateAct(params); + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/web/AppActController.java b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/web/AppActController.java index f9bbbfdb2..1bd08b431 100644 --- a/src/main/java/au/com/royalpay/payment/manage/activities/app_index/web/AppActController.java +++ b/src/main/java/au/com/royalpay/payment/manage/activities/app_index/web/AppActController.java @@ -45,4 +45,9 @@ public class AppActController { public void updateAppAct(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String act_id,@RequestBody AppActBean appActBean){ appActService.updateAct(manager,act_id,appActBean); } + + @ManagerMapping(value = "/published/{act_id}",method = RequestMethod.PUT,role = ManagerRole.SITE_MANAGER) + public void publishedAppAct(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String act_id,@RequestBody boolean is_valid){ + appActService.published(manager,act_id,is_valid); + } } diff --git a/src/main/ui/static/actapp/app_act_list.js b/src/main/ui/static/actapp/app_act_list.js index 5129eba17..95af59c10 100644 --- a/src/main/ui/static/actapp/app_act_list.js +++ b/src/main/ui/static/actapp/app_act_list.js @@ -36,7 +36,7 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS $scope.act = {}; $scope.act.act_id = act.act_id; $scope.act.is_valid = !act.is_valid; - $http.put('/manager/app/act/' + $scope.act.act_id, $scope.act).then(function (resp) { + $http.put('/manager/app/act/published/'+$scope.act.act_id, $scope.act.is_valid).then(function (resp) { commonDialog.alert({title: 'Success', content: '修改成功', type: 'success'}); $scope.loadActAppList(1); }, function (resp) { From 0a87728a9626de6e22de02198d0d2abf4e93e3b0 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 20 Mar 2018 18:09:03 +0800 Subject: [PATCH 10/31] update --- .../core/impls/ActMonDelaySettleServiceImp.java | 16 +++++++++------- src/main/resources/i18n/msg_en.properties | 5 ++++- src/main/resources/i18n/msg_zh.properties | 4 +++- .../templates/activity/mondelay/mondelay.html | 4 +++- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/activities/monsettledelay/core/impls/ActMonDelaySettleServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/activities/monsettledelay/core/impls/ActMonDelaySettleServiceImp.java index 931257f48..5b0e9fc65 100644 --- a/src/main/java/au/com/royalpay/payment/manage/activities/monsettledelay/core/impls/ActMonDelaySettleServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/activities/monsettledelay/core/impls/ActMonDelaySettleServiceImp.java @@ -9,6 +9,7 @@ import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.tools.device.DeviceSupport; import au.com.royalpay.payment.tools.env.PlatformEnvironment; +import au.com.royalpay.payment.tools.env.RequestEnvironment; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.permission.enums.PartnerRole; @@ -19,6 +20,7 @@ import com.github.miemiedev.mybatis.paginator.domain.Order; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import com.github.miemiedev.mybatis.paginator.domain.PageList; +import org.springframework.context.MessageSource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; @@ -47,11 +49,11 @@ public class ActMonDelaySettleServiceImp implements ActMonDelaySettleService { private ClientsOperationLogMapper clientsOperationLogMapper; @Resource private ClientManager clientManager; + @Resource + private MessageSource messageSource; @Override public JSONObject getActNotice(JSONObject device) { - String clientType = device.getString("client_type"); - deviceSupport.findRegister(clientType); int client_id = device.getIntValue("client_id"); BigDecimal total_redpack = actMonDelaySettleRedPackMapper.getTotalRedPack(client_id); JSONObject res = new JSONObject(); @@ -68,15 +70,14 @@ public class ActMonDelaySettleServiceImp implements ActMonDelaySettleService { if (!act.getBoolean("is_valid")) { throw new BadRequestException("Activity is not valid"); } - String clientType = device.getString("client_type"); - deviceSupport.findRegister(clientType); int client_id = device.getIntValue("client_id"); List clientLogs = actMonDelaySettleMapper.clientLog(client_id); JSONObject res = new JSONObject(); res.put("operation_pause",false); - Boolean apply = false; - if (!clientLogs.isEmpty()) { - apply = true; + Boolean apply = true; + if (clientLogs.isEmpty()) { + apply = false; + res.put("cancel_waring",messageSource.getMessage("sys.mondelay.cancel.waring", null, RequestEnvironment.getLocale())); } if (new Date().compareTo(act.getDate("active_date")) < 0) { res.put("active", false); @@ -98,6 +99,7 @@ public class ActMonDelaySettleServiceImp implements ActMonDelaySettleService { res.put("apply", apply); res.put("total_redpack", total_redpack); res.put("list", list); + return res; } diff --git a/src/main/resources/i18n/msg_en.properties b/src/main/resources/i18n/msg_en.properties index 1ea334469..88903aca8 100644 --- a/src/main/resources/i18n/msg_en.properties +++ b/src/main/resources/i18n/msg_en.properties @@ -104,4 +104,7 @@ app.label.coupons=Available Coupons sys.contract.ordinary.info=Dear merchant, your service contract with ROYALPAY has expired. In order not to affect your normal use, please contact your supervisor or use your administrator account as soon as possible for service renewal. sys.contract.ordinary.waring=Dear merchant, your service contract with ROYALPAY expires in {0} days. In order not to affect your normal use, please contact your supervisor or use your administrator account as soon as possible in order to renew your service contract. sys.contract.waring=Dear merchant, your service contract with ROYALPAY is due to expire in {0} days. In order not to affect your normal use, please see the latest service agreement for renewal. -sys.contract.info=Dear merchant, your service contract with ROYALPAY has expired. Please check the latest service agreement to renew your contract so as not to affect your normal use. \ No newline at end of file +sys.contract.info=Dear merchant, your service contract with ROYALPAY has expired. Please check the latest service agreement to renew your contract so as not to affect your normal use. + + +sys.mondelay.cancel.waring=this is mondelay cancel waring \ No newline at end of file diff --git a/src/main/resources/i18n/msg_zh.properties b/src/main/resources/i18n/msg_zh.properties index a2a041316..20964d285 100644 --- a/src/main/resources/i18n/msg_zh.properties +++ b/src/main/resources/i18n/msg_zh.properties @@ -98,4 +98,6 @@ app.label.coupons=可用优惠券 sys.contract.ordinary.info=尊敬的商户,您与ROYALPAY的服务合同已到期,为了不影响您的正常使用,请尽快联系您的主管或使用管理员账户登录以便进行服务续约 sys.contract.ordinary.waring=尊敬的商户,您与ROYALPAY的服务合同还有{0}天到期,为了不影响您的正常使用,请尽快联系您的主管或使用管理员账户登录以便进行服务续约 sys.contract.waring=尊敬的商户,您与ROYALPAY的服务合同还有{0}天到期,为了不影响您的正常使用,请查看最新服务协议进行续约。 -sys.contract.info=尊敬的商户,您与ROYALPAY的服务合同已到期,为了不影响您的正常使用,请查看最新服务协议进行续约。 \ No newline at end of file +sys.contract.info=尊敬的商户,您与ROYALPAY的服务合同已到期,为了不影响您的正常使用,请查看最新服务协议进行续约。 + +sys.mondelay.cancel.waring=商户取消活动警告 \ No newline at end of file diff --git a/src/main/resources/templates/activity/mondelay/mondelay.html b/src/main/resources/templates/activity/mondelay/mondelay.html index 6cf9c91e8..2fc2237b4 100644 --- a/src/main/resources/templates/activity/mondelay/mondelay.html +++ b/src/main/resources/templates/activity/mondelay/mondelay.html @@ -111,6 +111,8 @@