diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/web/CustomersAnalysisController.java b/src/main/java/au/com/royalpay/payment/manage/analysis/web/CustomersAnalysisController.java index 23d872e9e..99d38b75d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/web/CustomersAnalysisController.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/web/CustomersAnalysisController.java @@ -3,15 +3,22 @@ package au.com.royalpay.payment.manage.analysis.web; import au.com.royalpay.payment.manage.analysis.beans.AnalysisBean; import au.com.royalpay.payment.manage.analysis.core.CustomersAnalysisService; import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; -import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.manage.tradelog.beans.TradeLogQuery; import au.com.royalpay.payment.tools.CommonConsts; +import au.com.royalpay.payment.tools.permission.enums.ManagerRole; + import com.alibaba.fastjson.JSONObject; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PathVariable; +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; + /** * Created by yishuqian on 10/11/2016. */ @@ -82,6 +89,7 @@ public class CustomersAnalysisController { public JSONObject getCustomerOrders(@PathVariable String customer_id, TradeLogQuery tradeLogQuery, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { JSONObject params = tradeLogQuery.toParams(null); params.put("customer_id",customer_id); + params.put("status",5); if (manager.getInteger("org_id") != null) { params.put("org_id", manager.getIntValue("org_id")); } diff --git a/src/main/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImpl.java b/src/main/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImpl.java index 1288bbc83..fce4fd986 100644 --- a/src/main/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImpl.java @@ -1,6 +1,7 @@ package au.com.royalpay.payment.manage.apps.core.impls; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -54,19 +55,33 @@ public class CustomerImpressionImpl implements CustomerImpression { } JSONObject params = new JSONObject(); params.put("customer_id", customer_id); + params.put("include_success_status",4); + List paymentInfos = new ArrayList<>(); PageList ordersLast = orderMapper.listOrderByCustomer(params, new PageBounds(1, 1, Order.formString("create_time.desc"))); if (!CollectionUtils.isEmpty(ordersLast)) { JSONObject order = ordersLast.get(0); - customer.put("last_pay_time", DateFormatUtils.format(order.getDate("create_time"), "yyyy-MM-dd HH:mm:ss")); - customer.put("last_pay_location", lookupService.getLocation(order.getString("customer_ip")).city); + JSONObject paymentInfo = new JSONObject(); + paymentInfo.put("pay_time", DateFormatUtils.format(order.getDate("create_time"), "yyyy-MM-dd HH:mm:ss")); + String city = lookupService.getLocation(order.getString("customer_ip")).city; + if(!StringUtils.isEmpty(city)){ + paymentInfo.put("pay_location", city); + } + + paymentInfos.add(paymentInfo); + } PageList ordersFirst = orderMapper.listOrderByCustomer(params, new PageBounds(1, 1, Order.formString("create_time.asc"))); if (!CollectionUtils.isEmpty(ordersFirst)) { JSONObject order = ordersFirst.get(0); - customer.put("first_pay_time", DateFormatUtils.format(order.getDate("create_time"), "yyyy-MM-dd HH:mm:ss")); - customer.put("first_pay_location", lookupService.getLocation(order.getString("customer_ip")).city); - + JSONObject paymentInfo = new JSONObject(); + paymentInfo.put("pay_time", DateFormatUtils.format(order.getDate("create_time"), "yyyy-MM-dd HH:mm:ss")); + String city = lookupService.getLocation(order.getString("customer_ip")).city; + if(!StringUtils.isEmpty(city)){ + paymentInfo.put("pay_location", city); + } + paymentInfos.add(paymentInfo); } + customer.put("payment_info",paymentInfos); return customer; } @@ -75,6 +90,7 @@ public class CustomerImpressionImpl implements CustomerImpression { public void generate(int client_id) { JSONObject params = new JSONObject(); params.put("client_id", client_id); + params.put("include_success_status",4); PageList lastRecord = clientCustomersMapper.listCustomerInfo(params, new PageBounds(1, 1, Order.formString("update_time.desc"))); if (!CollectionUtils.isEmpty(lastRecord)) { params.put("confirm_time", lastRecord.get(0).getDate("update_time")); @@ -102,6 +118,7 @@ public class CustomerImpressionImpl implements CustomerImpression { client_customer.put("payment_times", order.getIntValue("payment_times")); client_customer.put("total_amount", order.getBigDecimal("total_amount")); client_customer.put("update_time", now); + client_customer.put("last_payment_time",order.getDate("confirm_time")); clientCustomersMapper.insert(client_customer); } else { clientCustomerInfo.put("payment_times", clientCustomerInfo.getIntValue("payment_times") + order.getIntValue("payment_times")); @@ -122,6 +139,7 @@ public class CustomerImpressionImpl implements CustomerImpression { clientCustomerInfo.put("channel", order.getString("channel")); clientCustomerInfo.put("tag","不活跃用户"); clientCustomerInfo.put("update_time",now); + clientCustomerInfo.put("last_payment_time",order.getDate("confirm_time")); clientCustomersMapper.update(clientCustomerInfo); } } diff --git a/src/main/java/au/com/royalpay/payment/manage/apps/web/CustomerImpressionController.java b/src/main/java/au/com/royalpay/payment/manage/apps/web/CustomerImpressionController.java index b57203804..acc9b2ed7 100644 --- a/src/main/java/au/com/royalpay/payment/manage/apps/web/CustomerImpressionController.java +++ b/src/main/java/au/com/royalpay/payment/manage/apps/web/CustomerImpressionController.java @@ -1,9 +1,9 @@ package au.com.royalpay.payment.manage.apps.web; -import au.com.royalpay.payment.manage.apps.AppController; import au.com.royalpay.payment.manage.apps.bean.CustomerImpressionQuery; import au.com.royalpay.payment.manage.apps.core.CustomerImpression; import au.com.royalpay.payment.tools.CommonConsts; +import au.com.royalpay.payment.tools.device.advise.AppClientController; import com.alibaba.fastjson.JSONObject; @@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; -@AppController +@AppClientController @RequestMapping(value = "/customers/impression") public class CustomerImpressionController { @Resource @@ -24,7 +24,7 @@ public class CustomerImpressionController { @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody - public JSONObject list(CustomerImpressionQuery customerImpressionQuery,@ModelAttribute(CommonConsts.APP_INFO) JSONObject app) { + public JSONObject list(CustomerImpressionQuery customerImpressionQuery,@ModelAttribute(CommonConsts.RETAIL_DEVICE) JSONObject app) { customerImpressionQuery.setClient_id(app.getInteger("client_id")); return customerImpression.listPageble(customerImpressionQuery); } @@ -32,13 +32,13 @@ public class CustomerImpressionController { @RequestMapping(value = "/{customer_id}", method = RequestMethod.GET) @ResponseBody - public JSONObject find(@PathVariable String customer_id,@ModelAttribute(CommonConsts.APP_INFO) JSONObject app) { + public JSONObject find(@PathVariable String customer_id,@ModelAttribute(CommonConsts.RETAIL_DEVICE) JSONObject app) { return customerImpression.findOne(app.getIntValue("client_id"),customer_id); } @RequestMapping(value = "/{customer_id}", method = RequestMethod.PUT) @ResponseBody - public void modifyNameRemark(@PathVariable String customer_id, @RequestBody JSONObject customerInfo,@ModelAttribute(CommonConsts.APP_INFO) JSONObject app) { + public void modifyNameRemark(@PathVariable String customer_id, @RequestBody JSONObject customerInfo,@ModelAttribute(CommonConsts.RETAIL_DEVICE) JSONObject app) { customerImpression.modifyNameRemark(app.getIntValue("client_id"),customer_id,customerInfo.getString("name_remark")); } } diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/client/ClientCustomersMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/client/ClientCustomersMapper.xml index dfd1e3c25..780110af8 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/client/ClientCustomersMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/client/ClientCustomersMapper.xml @@ -3,7 +3,7 @@