diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordercluster/OrderclusterService.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordercluster/OrderclusterService.java
index f9cafd2..616218d 100644
--- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordercluster/OrderclusterService.java
+++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordercluster/OrderclusterService.java
@@ -3,8 +3,11 @@ package com.cowr.ssjygl.order.ordercluster;
import com.cowr.common.Const;
import com.cowr.common.base.BaseService;
import com.cowr.common.enums.OrderStateEnum;
+import com.cowr.common.enums.UserTypeEnum;
import com.cowr.common.view.PageParam;
+import com.cowr.common.view.Result;
import com.cowr.model.Ordercluster;
+import com.cowr.model.Sysuser;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Page;
@@ -22,13 +25,26 @@ import java.util.Map;
* Remarks: 订单相关 - 订单
* PrimaryKey: id
*
- * ALTER TABLE `order_temp` ADD INDEX `order_sale_ordercluster_id`(`ordercluster_id`);
- * ALTER TABLE `order_temp` ADD INDEX `order_temp_ordercluster_id`(`ordercluster_id`);
- * ALTER TABLE `ordercluster` DROP COLUMN `over_weight`;
*/
public class OrderclusterService extends BaseService {
public static final OrderclusterService me = new OrderclusterService();
+ public Result get(Integer id, Sysuser sysuser){
+ Ordercluster ordercluster = Ordercluster.dao.findById(id);
+
+ if (ordercluster == null) {
+ return Result.failed("未找到订单记录");
+ } else if (sysuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()
+ && ordercluster.getCustomerId() != null
+ && sysuser.getEntityId() != null
+ && !sysuser.getEntityId().equals(ordercluster.getCustomerId())
+ ) {
+ return Result.failed("登录用户和订单信息不匹配");
+ }
+
+ return Result.success(ordercluster);
+ }
+
public Page find(PageParam pp,
Integer supermarket_id,
Integer trans_co_id,
diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordertemp/OrderTempService.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordertemp/OrderTempService.java
index a293469..0264bd5 100644
--- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordertemp/OrderTempService.java
+++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordertemp/OrderTempService.java
@@ -2,9 +2,11 @@ package com.cowr.ssjygl.order.ordertemp;
import com.cowr.common.Const;
import com.cowr.common.base.BaseService;
+import com.cowr.common.enums.UserTypeEnum;
import com.cowr.common.view.PageParam;
import com.cowr.common.view.Result;
import com.cowr.model.OrderTemp;
+import com.cowr.model.Sysuser;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Page;
@@ -22,6 +24,22 @@ import java.util.List;
public class OrderTempService extends BaseService {
public static final OrderTempService me = new OrderTempService();
+ public Result get(String sn, Sysuser sysuser) {
+ Record record = get(sn);
+
+ if (record == null) {
+ return Result.failed("未找到订单记录");
+ } else if (sysuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()
+ && record.get("customer_id") != null
+ && sysuser.getEntityId() != null
+ && !sysuser.getEntityId().equals(record.getInt("customer_id"))
+ ) {
+ return Result.failed("登录用户和订单信息不匹配");
+ }
+
+ return Result.success(record);
+ }
+
/**
* 按 sn 查询单个订单信息
*
@@ -29,7 +47,7 @@ public class OrderTempService extends BaseService {
* @return
*/
public Record get(String sn) {
- return Db.findFirst("select t.*" +
+ return Db.findFirst("select t.*" +
", p.order_sn \n" +
", p.in_time, p.out_time, p.in_which, p.out_which, p.in_mode, p.out_mode \n" +
", p.first_weight, p.second_weight, p.first_weigh_mode, p.second_weight_mode \n" +
@@ -53,7 +71,7 @@ public class OrderTempService extends BaseService {
Integer product_id,
Integer state
) {
- String selectsql = "select t.* " +
+ String selectsql = "select t.* " +
", p.order_sn \n" +
", p.in_time, p.out_time, p.in_which, p.out_which, p.in_mode, p.out_mode \n" +
", p.first_weight, p.second_weight, p.first_weigh_mode, p.second_weight_mode \n" +
diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/prepaytruck/PrepayTruckService.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/prepaytruck/PrepayTruckService.java
index bb7b368..af5f363 100644
--- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/prepaytruck/PrepayTruckService.java
+++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/prepaytruck/PrepayTruckService.java
@@ -34,93 +34,6 @@ public class PrepayTruckService extends BaseService {
};
public static final PrepayTruckService me = new PrepayTruckService();
- public Result save(PrepayTruck model, Sysuser sysuser) {
- try {
- String[] tls = model.getTruckLicense().split(",");
- List list = Truck.dao.find("select t.license, t.trans_co_id from truck t where t.del = 0"); // 只返回需要的字段
- Map map = new HashMap<>();
- for(Truck t : list){
- map.put(t.getLicense(), t.getTransCoId());
- }
-
- if(model.getValidDate() == null){
- model.setValidDate(new Date());
- }
-
- model.setCreateUserId(sysuser.getId());
-
- List pts = new ArrayList<>();
- model.remove("truck_license");
-
- for(String truck_license: tls){
- Record record = DataUtil.cloneRecord(model.toRecord());
- record.set("truck_license", truck_license);
- record.set("trans_co_id", map.get(truck_license));
-
- pts.add(record);
- }
-
- if(pts.isEmpty()){
- return Result.failed("truck_license 参数错误");
- }
-
- boolean ret = Db.tx(new IAtom() {
- @Override
- public boolean run() throws SQLException {
- int[] ret = Db.batchSave(PrepayTruck.tablename, pts, pts.size());
-
- return ret.length == pts.size();
- }
- });
-
- return ret ? Result.success() : Result.failed(false, "新增失败");
- } catch (Exception e) {
- if(e.getMessage().contains("prepay_truck_license_customer")){
- return Result.failed("同一辆车同一天只能分配给一个客户");
- }
-
- log.error(e.getMessage(), e);
- return Result.failed(false, e.getMessage());
- }
- }
-
- /**
- * 删除
- *
- * @param model PrepayTruck
- * @return Result
- */
- public Result delete(PrepayTruck model) {
- try {
- // 如果存在逻辑删除字段 del,则只做逻辑删除,不做物理删除
- if (model.hasDelKey()) {
- return logicDel(model);
- }
-
- PrepayTruck old = model.findByPk();
-
- if(old == null){
- return Result.failed(false, "按主键未找到对应记录");
- }else{
- Date oldtm = old.getValidDate();
- Calendar c = Calendar.getInstance();
- c.set(Calendar.HOUR_OF_DAY, 0);
- c.set(Calendar.MINUTE, 0);
- c.set(Calendar.SECOND, 0);
- c.set(Calendar.MILLISECOND, 0);
-
- if(oldtm.before(c.getTime())){
- return Result.failed(false, "当前日期之前的记录不能解绑");
- }
- }
-
- return Result.object(model.delete());
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- return Result.failed(false, "删除失败");
- }
- }
-
public Page find(PageParam pp, Integer customer_id, Integer supermarket_id, Integer trans_co_id, String truck_license, String valid_date) {
String selectsql = "select t.id, t.customer_id, c.name customer_name, t.truck_license, " +
" co.name trans_co_name, t.supermarket_id, s.name supermarket_name, t.valid_date, t.create_user_id, u.name create_user_name\n";
diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/stat/sale/OrderStatService.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/stat/sale/OrderStatService.java
index 88c088d..6b4676e 100644
--- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/stat/sale/OrderStatService.java
+++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/stat/sale/OrderStatService.java
@@ -1237,7 +1237,7 @@ public class OrderStatService {
* @param isprepaid 是否预付费
* @return
*/
- public List statCustomer(String tm, String stm, String etm, Integer supermarket_id, boolean stat_product, Integer product_id, Integer isprepaid) {
+ public List statCustomer(String tm, String stm, String etm, Integer supermarket_id, Integer customer_id, boolean stat_product, Integer product_id, Integer isprepaid) {
String sale_sql = " select t.customer_id, sum(t.weight) weight, sum(t.total_price) total_price, count(t.sn) orderCount ";
String temp_sql = " select t.customer_id, ifnull(sum(t.weight), 0) weight, ifnull(sum(t.total_price), 0) total_price, count(t.sn) orderCount ";
@@ -1266,6 +1266,14 @@ public class OrderStatService {
paraTemp.add(supermarket_id);
}
+ if (customer_id != null) {
+ sale_sql += " and t.customer_id = ? \n";
+ paraSale.add(customer_id);
+
+ temp_sql += " and t.customer_id = ? \n";
+ paraTemp.add(customer_id);
+ }
+
if (tm == null) {
if (!StrKit.notBlank(stm, etm)) {
log.error("参数错误");
@@ -1287,14 +1295,13 @@ public class OrderStatService {
paraTemp.add(tm + "%");
}
- if (isprepaid != null) {
- sale_sql += " and t.isprepaid = ? \n";
- paraSale.add(isprepaid);
-
- temp_sql += " and t.isprepaid = ? \n";
- paraTemp.add(isprepaid);
- }
+ if (isprepaid != null) {
+ sale_sql += " and t.isprepaid = ? \n";
+ paraSale.add(isprepaid);
+ temp_sql += " and t.isprepaid = ? \n";
+ paraTemp.add(isprepaid);
+ }
if (stat_product) {
if (product_id != null) {
@@ -1306,7 +1313,7 @@ public class OrderStatService {
}
sale_sql += " group by t.customer_id, t.product_id \n";
temp_sql += " group by t.customer_id, t.product_id \n";
- }else {
+ } else {
sale_sql += " group by t.customer_id \n";
temp_sql += " group by t.customer_id \n";
}
@@ -1335,11 +1342,11 @@ public class OrderStatService {
return list;
}
- public Workbook statCustomerExport(String name, String tm, String stm, String etm, Integer supermarket_id, boolean stat_product, Integer product_id, Integer isprepaid) {
+ public Workbook statCustomerExport(String name, String tm, String stm, String etm, Integer supermarket_id, Integer customer_id, boolean stat_product, Integer product_id, Integer isprepaid) {
Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet(name);
- List list = statCustomer(tm, stm, etm, supermarket_id, stat_product, product_id, isprepaid);
+ List list = statCustomer(tm, stm, etm, supermarket_id, customer_id, stat_product, product_id, isprepaid);
int datalen = list.size();
int end_col = stat_product ? 6 : 5; // 数据共有几列
@@ -1381,9 +1388,9 @@ public class OrderStatService {
row.createCell(a++).setCellValue("备注");
// 表头 end
- double sum_weight = 0.0;
- double sum_price = 0.0;
- int sum_cnt = 0;
+ double sum_weight = 0.0;
+ double sum_price = 0.0;
+ int sum_cnt = 0;
for (int i = 0; i < datalen; i++) {
Record order = list.get(i);
diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java
index 6561304..7c3a920 100644
--- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java
+++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java
@@ -44,9 +44,9 @@ import com.cowr.local.ssjygl.truck.TruckController;
import com.cowr.model.Supermarket;
import com.cowr.ssjygl.CacheData;
import com.cowr.ssjygl.cctv.CctvController;
-import com.cowr.ssjygl.prepay.PrepayController;
+import com.cowr.local.ssjygl.prepay.PrepayController;
import com.cowr.ssjygl.stat.purchase.OrderPurchaseStatController;
-import com.cowr.ssjygl.stat.sale.OrderStatController;
+import com.cowr.local.ssjygl.stat.sale.OrderStatController;
import com.cowr.ssjygl.stat.transfer.OrderTransferStatController;
import com.cowr.local.ssjygl.system.sysuser.SysuserController;
import com.cowr.ssjygl.transportcompany.TransportCompanyService;
diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/PrepayController.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/prepay/PrepayController.java
similarity index 97%
rename from ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/PrepayController.java
rename to ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/prepay/PrepayController.java
index d9cdfa1..2443279 100644
--- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/PrepayController.java
+++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/prepay/PrepayController.java
@@ -1,11 +1,11 @@
-package com.cowr.ssjygl.prepay;
+package com.cowr.local.ssjygl.prepay;
import com.cowr.common.base.BaseController;
-import com.cowr.common.validator.CustomerIdValidator;
import com.cowr.common.validator.StartAndEndTimeValidator;
import com.cowr.common.view.ExcelRender;
import com.cowr.common.view.PageParam;
import com.cowr.common.view.Result;
+import com.cowr.ssjygl.prepay.PrepayService;
import com.cowr.ssjygl.prepay.prepaydetail.PrepayDetailService;
import com.jfinal.aop.Before;
import org.apache.poi.ss.usermodel.Workbook;
@@ -14,6 +14,7 @@ public class PrepayController extends BaseController {
public void find() {
String name = get("name");
Integer customer_id = getInt("customer_id");
+
Integer supermarket_id = getInt("supermarket_id");
String stm = get("stm");
String etm = get("etm");
diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/stat/sale/OrderStatController.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/stat/sale/OrderStatController.java
similarity index 89%
rename from ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/stat/sale/OrderStatController.java
rename to ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/stat/sale/OrderStatController.java
index ebd0799..30c6e0e 100644
--- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/stat/sale/OrderStatController.java
+++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/stat/sale/OrderStatController.java
@@ -1,4 +1,4 @@
-package com.cowr.ssjygl.stat.sale;
+package com.cowr.local.ssjygl.stat.sale;
import com.cowr.common.base.BaseController;
import com.cowr.common.validator.DayValidator;
@@ -6,7 +6,7 @@ import com.cowr.common.validator.MonthValidator;
import com.cowr.common.validator.StartAndEndintervalValidator;
import com.cowr.common.view.ExcelRender;
import com.cowr.common.view.Result;
-import com.cowr.ssjygl.supermarket.SupermarketIdValidator;
+import com.cowr.ssjygl.stat.sale.OrderStatService;
import com.jfinal.aop.Before;
import org.apache.poi.ss.usermodel.Workbook;
@@ -199,8 +199,8 @@ public class OrderStatController extends BaseController {
@Before(StartAndEndintervalValidator.class)
public void statRangeTrans() {
- String stm = get("stm"); // 前端将 YYYY-MM-DD 后面补 " 00:00:00"
- String etm = get("etm"); // 前端将 YYYY-MM-DD 后面补 " 23:59:59"
+ String stm = get("stm"); // 前端将 YYYY-MM-DD 后面补 " 00:00:00"
+ String etm = get("etm"); // 前端将 YYYY-MM-DD 后面补 " 23:59:59"
int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
Integer supermarket_id = getInt("supermarket_id");
Integer product_id = getInt("product_id");
@@ -210,7 +210,7 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statTrans(null, stm, etm, supermarket_id, stat_product, product_id, isprepaid)));
} else {
- Workbook wb = OrderStatService.me.statTransExport("超市时段销售汇总表",null, stm, etm, supermarket_id, stat_product, product_id, isprepaid);
+ Workbook wb = OrderStatService.me.statTransExport("超市时段销售汇总表", null, stm, etm, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(stm + "_" + etm + "_超市" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@@ -224,14 +224,15 @@ public class OrderStatController extends BaseController {
String tm = get("tm");
int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
Integer supermarket_id = getInt("supermarket_id");
+ Integer customer_id = getInt("customer_id");
Integer product_id = getInt("product_id");
boolean stat_product = getBoolean("stat_product", false);
Integer isprepaid = getInt("isprepaid");
if (export == 0) {
- renderJson(Result.object(OrderStatService.me.statCustomer(tm, null, null, supermarket_id, stat_product, product_id, isprepaid)));
+ renderJson(Result.object(OrderStatService.me.statCustomer(tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
} else {
- Workbook wb = OrderStatService.me.statCustomerExport("超市日销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
+ Workbook wb = OrderStatService.me.statCustomerExport("超市日销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_超市日" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@@ -244,32 +245,34 @@ public class OrderStatController extends BaseController {
String tm = get("tm");
int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
Integer supermarket_id = getInt("supermarket_id");
+ Integer customer_id = getInt("customer_id");
Integer product_id = getInt("product_id");
boolean stat_product = getBoolean("stat_product", false);
Integer isprepaid = getInt("isprepaid");
if (export == 0) {
- renderJson(Result.object(OrderStatService.me.statCustomer(tm, null, null, supermarket_id, stat_product, product_id, isprepaid)));
+ renderJson(Result.object(OrderStatService.me.statCustomer(tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
} else {
- Workbook wb = OrderStatService.me.statCustomerExport("超市月销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
+ Workbook wb = OrderStatService.me.statCustomerExport("超市月销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_超市月" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@Before(StartAndEndintervalValidator.class)
public void statRangeCustomer() {
- String stm = get("stm"); // 前端将 YYYY-MM-DD 后面补 " 00:00:00"
- String etm = get("etm"); // 前端将 YYYY-MM-DD 后面补 " 23:59:59"
+ String stm = get("stm"); // 前端将 YYYY-MM-DD 后面补 " 00:00:00"
+ String etm = get("etm"); // 前端将 YYYY-MM-DD 后面补 " 23:59:59"
int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
Integer supermarket_id = getInt("supermarket_id");
+ Integer customer_id = getInt("customer_id");
Integer product_id = getInt("product_id");
boolean stat_product = getBoolean("stat_product", false);
Integer isprepaid = getInt("isprepaid");
if (export == 0) {
- renderJson(Result.object(OrderStatService.me.statCustomer(null, stm, etm, supermarket_id, stat_product, product_id, isprepaid)));
+ renderJson(Result.object(OrderStatService.me.statCustomer(null, stm, etm, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
} else {
- Workbook wb = OrderStatService.me.statCustomerExport("超市时段销售汇总表",null, stm, etm, supermarket_id, stat_product, product_id, isprepaid);
+ Workbook wb = OrderStatService.me.statCustomerExport("超市时段销售汇总表", null, stm, etm, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(stm + "_" + etm + "_超市" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/AuthInterceptor.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/AuthInterceptor.java
index fbf2841..5d3456c 100644
--- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/AuthInterceptor.java
+++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/AuthInterceptor.java
@@ -1,5 +1,6 @@
package com.cowr.service.ssjygl.main;
+import com.cowr.common.enums.UserTypeEnum;
import com.cowr.common.view.Result;
import com.cowr.model.Sysuser;
import com.cowr.service.ssjygl.system.sysuser.SysuserSyncService;
@@ -9,12 +10,39 @@ import com.jfinal.core.Controller;
import com.jfinal.log.Log;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
public class AuthInterceptor implements Interceptor {
private static Log log = Log.getLog(AuthInterceptor.class);
private String ENV;
+ private static Map> userTypeUrlMap;
+
+ static {
+ userTypeUrlMap = new HashMap<>();
+ userTypeUrlMap.put(UserTypeEnum.CUSTOMER.getTypeid(), new ArrayList() {{
+ add("/order/ordercluster/find");
+ add("/order/ordercluster/get");
+ add("/order/ordercluster/findChildren");
+
+ add("/order/temp/find");
+ add("/order/temp/get");
+
+ add("/stat/sale/statDayCustomer");
+ add("/stat/sale/daydetail");
+
+ add("/prepay/find");
+ add("/prepay/consumption");
+ add("/prepay/flow");
+ add("/prepay/prepaydetail");
+ add("/prepaytruck/find");
+ add("/prepaytruck/save");
+ add("/prepaytruck/del");
+ }});
+ }
+
public AuthInterceptor(String ENV) {
this.ENV = ENV;
}
@@ -22,41 +50,48 @@ public class AuthInterceptor implements Interceptor {
@Override
public void intercept(Invocation inv) {
try {
- if ("dev".equals(this.ENV)) {
- inv.invoke();
- } else {
- Controller c = inv.getController();
- String token = c.get("token");
+// if ("dev".equals(this.ENV)) {
+// inv.invoke();
+// } else {
+ Controller c = inv.getController();
+ String token = c.get("token");
- //避免有提交文件的获取不到 token
- if (token == null) {
- try {
- c.getFile();
- } catch (Exception ignored) {
+ //避免有提交文件的获取不到 token
+ if (token == null) {
+ try {
+ c.getFile();
+ } catch (Exception ignored) {
- }
}
-
- if (token == null) {
- c.renderJson(Result.noauth());
- return;
- }
-
- Sysuser sysuser = SysuserSyncService.me.getSysuserByToken(token);
-
- if (sysuser == null) {
- c.renderJson(Result.noauth());
- return;
- }
-
- // 有有效的 token 了,还要验证当前的 token 可不可以访问当前的 url
- System.out.println("inv.getController().getRequest().getRequestURI():" + inv.getController().getRequest().getRequestURI());
-
- inv.invoke();
}
+
+ if (token == null) {
+ c.renderJson(Result.noauth());
+ return;
+ }
+
+ Sysuser sysuser = SysuserSyncService.me.getSysuserByToken(token);
+
+ if (sysuser == null) {
+ c.renderJson(Result.noauth());
+ return;
+ }
+
+ // 有有效的 token 了,还要验证当前的 token 可不可以访问当前的 url
+ System.out.println("inv.getController().getRequest().getRequestURI():" + inv.getController().getRequest().getRequestURI());
+ // 对客户账户的访问进行限制
+ if (userTypeUrlMap.containsKey(sysuser.getType())
+ && !userTypeUrlMap.get(sysuser.getType()).contains(inv.getController().getRequest().getRequestURI())
+ ) {
+ c.renderJson(Result.permissionDenied());
+ return;
+ }
+
+ inv.invoke();
+// }
} catch (Exception e) {
log.error(e.getMessage(), e);
- inv.getController().renderJson(Result.failedstr("服务端异常: %s", e.getMessage() ));
+ inv.getController().renderJson(Result.failedstr("服务端异常: %s", e.getMessage()));
}
}
}
diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java
index 38e9b73..d0bb5f1 100644
--- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java
+++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java
@@ -38,9 +38,9 @@ import com.cowr.ssjygl.CacheData;
import com.cowr.common.Const;
import com.cowr.common.plugin.QuartzPlugin;
import com.cowr.ssjygl.cctv.CctvController;
-import com.cowr.ssjygl.prepay.PrepayController;
+import com.cowr.service.ssjygl.prepay.PrepayController;
import com.cowr.ssjygl.stat.purchase.OrderPurchaseStatController;
-import com.cowr.ssjygl.stat.sale.OrderStatController;
+import com.cowr.service.ssjygl.stat.sale.OrderStatController;
import com.cowr.ssjygl.stat.transfer.OrderTransferStatController;
import com.cowr.ssjygl.transportcompany.TransportCompanyService;
import com.cowr.ssjygl.transprice.TransPriceService;
diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordercluster/OrderclusterController.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordercluster/OrderclusterController.java
index 14fd047..07c8a31 100644
--- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordercluster/OrderclusterController.java
+++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordercluster/OrderclusterController.java
@@ -1,6 +1,8 @@
package com.cowr.service.ssjygl.order.ordercluster;
import com.cowr.common.base.BaseController;
+import com.cowr.common.enums.RoleEnum;
+import com.cowr.common.enums.UserTypeEnum;
import com.cowr.common.view.PageParam;
import com.cowr.common.view.Result;
import com.cowr.model.Ordercluster;
@@ -18,7 +20,7 @@ public class OrderclusterController extends BaseController {
* 新增 ordercluster 订单簇 - 集团客户订单
*/
@Before(OrderclusterValidator.class)
- public void save(){
+ public void save() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
@@ -34,7 +36,7 @@ public class OrderclusterController extends BaseController {
* 修改 ordercluster 订单簇 - 集团客户订单
*/
@Before(OrderclusterEditValidator.class)
- public void edit(){
+ public void edit() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
@@ -49,17 +51,28 @@ public class OrderclusterController extends BaseController {
/**
* 分页查找 ordercluster 订单簇 - 集团客户订单
*/
- public void find(){
- PageParam pp = getBean(PageParam.class, "", true);
- String stm = get("stm");
- String etm = get("etm");
- String customer_name = get("customer_name");
- Integer supermarket_id = getInt("supermarket_id");
- Integer customer_id = getInt("customer_id");
- Integer state = getInt("state");
- Integer product_id = getInt("product_id");
+ public void find() {
+ PageParam pp = getBean(PageParam.class, "", true);
+ String stm = get("stm");
+ String etm = get("etm");
+ String customer_name = get("customer_name");
+ Integer supermarket_id = getInt("supermarket_id");
+ Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
+ Integer state = getInt("state");
+ Integer product_id = getInt("product_id");
Integer trans_co_id = getInt("trans_co_id");
- renderJson(Result.object(OrderclusterService.me.find(pp, supermarket_id, trans_co_id, customer_id, customer_name, stm, etm, product_id, state)));
+ renderJson(Result.object(OrderclusterService.me.find(pp, supermarket_id, trans_co_id, customer_id, customer_name, stm, etm, product_id, state)));
}
public void findChildren() {
@@ -79,12 +92,19 @@ public class OrderclusterController extends BaseController {
* 按主键查找单个对象 ordercluster 订单簇 - 集团客户订单
*/
@Before(OrderclusterPKValidator.class)
- public void get(){
- Ordercluster model = getModel(Ordercluster.class, "", true); // 忽略不在model中的字段
- renderJson(OrderclusterService.me.findByPk(model));
+ public void get() {
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ }
+
+ renderJson(OrderclusterService.me.get(getInt("id"), tokenuser));
}
- public void cancel(){
+ public void cancel() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
@@ -97,7 +117,7 @@ public class OrderclusterController extends BaseController {
renderJson(Result.object(OrderclusterSyncService.me.cancel(ordercluster_id, tokenuser)));
}
- public void complete(){
+ public void complete() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordersale/OrderSaleController.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordersale/OrderSaleController.java
index e0055c4..960ca40 100644
--- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordersale/OrderSaleController.java
+++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordersale/OrderSaleController.java
@@ -1,8 +1,11 @@
package com.cowr.service.ssjygl.order.ordersale;
import com.cowr.common.base.BaseController;
+import com.cowr.common.enums.UserTypeEnum;
import com.cowr.common.view.PageParam;
import com.cowr.common.view.Result;
+import com.cowr.model.Sysuser;
+import com.cowr.service.ssjygl.system.sysuser.SysuserSyncService;
import com.cowr.ssjygl.order.ordersale.OrderSalePKValidator;
import com.cowr.ssjygl.order.ordersale.OrderSaleService;
import com.jfinal.aop.Before;
@@ -29,6 +32,17 @@ public class OrderSaleController extends BaseController {
Integer trans_co_id = getInt("trans_co_id");
Integer isprepaid = getInt("isprepaid");
Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
renderJson(Result.object(OrderSaleService.me.find(pp, sn, truck_license, supermarket_id, trans_co_id, customer_id, customer_name, stm, etm, isprepaid, product_id, state)));
}
}
diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordertemp/OrderTempController.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordertemp/OrderTempController.java
index 33f0b60..258144c 100644
--- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordertemp/OrderTempController.java
+++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordertemp/OrderTempController.java
@@ -1,8 +1,11 @@
package com.cowr.service.ssjygl.order.ordertemp;
import com.cowr.common.base.BaseController;
+import com.cowr.common.enums.UserTypeEnum;
import com.cowr.common.view.PageParam;
import com.cowr.common.view.Result;
+import com.cowr.model.Sysuser;
+import com.cowr.service.ssjygl.system.sysuser.SysuserSyncService;
import com.cowr.ssjygl.order.ordertemp.OrderTempPKValidator;
import com.cowr.ssjygl.order.ordertemp.OrderTempService;
import com.jfinal.aop.Before;
@@ -10,7 +13,15 @@ import com.jfinal.aop.Before;
public class OrderTempController extends BaseController {
@Before(OrderTempPKValidator.class)
public void get() {
- renderJson(Result.object(OrderTempService.me.get(get("sn"))));
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ }
+
+ renderJson(OrderTempService.me.get(get("sn"), tokenuser));
}
/**
@@ -28,6 +39,17 @@ public class OrderTempController extends BaseController {
Integer supermarket_id = getInt("supermarket_id");
Integer isprepaid = getInt("isprepaid");
Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
renderJson(Result.object(OrderTempService.me.find(pp, sn, truck_license, supermarket_id, customer_id, customer_name, stm, etm, isprepaid, product_id, state)));
}
}
diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/PrepayController.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/PrepayController.java
new file mode 100644
index 0000000..4f9a5d8
--- /dev/null
+++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/PrepayController.java
@@ -0,0 +1,121 @@
+package com.cowr.service.ssjygl.prepay;
+
+import com.cowr.common.base.BaseController;
+import com.cowr.common.enums.UserTypeEnum;
+import com.cowr.common.validator.StartAndEndTimeValidator;
+import com.cowr.common.view.ExcelRender;
+import com.cowr.common.view.PageParam;
+import com.cowr.common.view.Result;
+import com.cowr.model.Sysuser;
+import com.cowr.service.ssjygl.system.sysuser.SysuserSyncService;
+import com.cowr.ssjygl.prepay.PrepayService;
+import com.cowr.ssjygl.prepay.prepaydetail.PrepayDetailService;
+import com.jfinal.aop.Before;
+import org.apache.poi.ss.usermodel.Workbook;
+
+public class PrepayController extends BaseController {
+ public void find() {
+ String name = get("name");
+ Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
+ Integer supermarket_id = getInt("supermarket_id");
+ String stm = get("stm");
+ String etm = get("etm");
+ Double start = getParaToDouble("start");
+ Double end = getParaToDouble("end");
+ PageParam pp = getBean(PageParam.class, "", true);
+ renderJson(Result.object(PrepayService.me.find(pp, name, customer_id, supermarket_id, stm, etm, start, end)));
+ }
+
+ @Before(StartAndEndTimeValidator.class)
+ public void consumption() {
+ int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
+ Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
+ Integer supermarket_id = getInt("supermarket_id");
+ String stm = get("stm");
+ String etm = get("etm");
+
+ if (export == 0) {
+ renderJson(Result.success(PrepayService.me.consumption(customer_id, supermarket_id, stm, etm)));
+ } else {
+ Workbook wb = PrepayService.me.consumptionExport(customer_id, supermarket_id, stm, etm);
+ render(new ExcelRender("消费记录_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ @Before(StartAndEndTimeValidator.class)
+ public void flow() {
+ int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
+ Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
+ String stm = get("stm");
+ String etm = get("etm");
+
+ if (export == 0) {
+ renderJson(Result.success(PrepayService.me.flow(customer_id, stm, etm)));
+ } else {
+ Workbook wb = PrepayService.me.flowExport(customer_id, stm, etm);
+ render(new ExcelRender("客户流水_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ /**
+ * 返回 prepay_detail 预付费客户付费详情
+ */
+ @Before(StartAndEndTimeValidator.class)
+ public void prepaydetail() {
+ int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
+ Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
+ String stm = get("stm");
+ String etm = get("etm");
+
+ if (export == 0) {
+ renderJson(Result.object(PrepayDetailService.me.list(customer_id, stm, etm)));
+ } else {
+ Workbook wb = PrepayDetailService.me.listExport(customer_id, stm, etm);
+ render(new ExcelRender("付费详情_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+}
diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaytruck/PrepayTruckController.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaytruck/PrepayTruckController.java
index 4ec3d59..a27318d 100644
--- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaytruck/PrepayTruckController.java
+++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaytruck/PrepayTruckController.java
@@ -2,6 +2,7 @@ package com.cowr.service.ssjygl.prepay.prepaytruck;
import com.alibaba.fastjson.JSONArray;
import com.cowr.common.base.BaseController;
+import com.cowr.common.enums.UserTypeEnum;
import com.cowr.common.view.PageParam;
import com.cowr.common.view.Result;
import com.cowr.model.PrepayTruck;
@@ -42,15 +43,19 @@ public class PrepayTruckController extends BaseController {
*/
@Before(PrepayTruckValidator.class)
public void save() {
+ Integer customer_id = getInt("customer_id");
+
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+ // 是客户账户
if (tokenuser == null) {
renderJson(Result.noauth());
return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
}
String trucks = get("trucks");
- int customer_id = getInt("customer_id");
int supermarket_id = getInt("supermarket_id");
Date valid_date = getDate("valid_date");
@@ -79,6 +84,17 @@ public class PrepayTruckController extends BaseController {
@Before(DayValidator.class)
public void find() {
Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
Integer supermarket_id = getInt("supermarket_id");
Integer trans_co_id = getInt("trans_co_id");
String truck_license = getUpperCaseVal("truck_license");
@@ -110,6 +126,17 @@ public class PrepayTruckController extends BaseController {
*/
public void list() {
Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
Integer supermarket_id = getInt("supermarket_id");
Integer trans_co_id = getInt("trans_co_id");
String truck_license = getUpperCaseVal("truck_license");
diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaytruck/PrepayTruckSyncService.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaytruck/PrepayTruckSyncService.java
index 5e0a769..b52479f 100644
--- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaytruck/PrepayTruckSyncService.java
+++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaytruck/PrepayTruckSyncService.java
@@ -2,6 +2,7 @@ package com.cowr.service.ssjygl.prepay.prepaytruck;
import com.cowr.common.enums.Enums;
import com.cowr.common.enums.OrderTypeEnum;
+import com.cowr.common.enums.UserTypeEnum;
import com.cowr.common.utils.DateTimeUtil;
import com.cowr.common.view.Result;
import com.cowr.model.*;
@@ -154,6 +155,12 @@ public class PrepayTruckSyncService extends BaseSyncService {
return Result.failed("未找到记录");
}
+ if (sysuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()
+ && !sysuser.getEntityId().equals(old.getCustomerId())
+ ) {
+ return Result.failed("操作失败");
+ }
+
String valid_date = DateTimeUtil.sdf.get().format(old.getValidDate());
List undonlist = OrderclusterService.me.undonlist(old.getSupermarketId(), old.getCustomerId(), valid_date);
diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/stat/sale/OrderStatController.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/stat/sale/OrderStatController.java
new file mode 100644
index 0000000..2b8152f
--- /dev/null
+++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/stat/sale/OrderStatController.java
@@ -0,0 +1,337 @@
+package com.cowr.service.ssjygl.stat.sale;
+
+import com.cowr.common.base.BaseController;
+import com.cowr.common.enums.UserTypeEnum;
+import com.cowr.common.validator.DayValidator;
+import com.cowr.common.validator.MonthValidator;
+import com.cowr.common.validator.StartAndEndintervalValidator;
+import com.cowr.common.view.ExcelRender;
+import com.cowr.common.view.Result;
+import com.cowr.model.Sysuser;
+import com.cowr.service.ssjygl.system.sysuser.SysuserSyncService;
+import com.cowr.ssjygl.stat.sale.OrderStatService;
+import com.jfinal.aop.Before;
+import org.apache.poi.ss.usermodel.Workbook;
+
+public class OrderStatController extends BaseController {
+
+ /**
+ * 日销售明细
+ */
+ @Before(DayValidator.class)
+ public void daydetail() {
+ String tm = get("tm");
+ String customer_name = get("customer_name");
+ String truck_license = getUpperCaseVal("truck_license");
+ String sn = get("sn");
+ Integer supermarket_id = getInt("supermarket_id");
+ Integer trans_co_id = getInt("trans_co_id");
+ Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
+ Integer type = getInt("type");
+ Integer isprepaid = getInt("isprepaid");
+ Integer product_id = getInt("product_id");
+
+ int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
+
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.daydetail(
+ tm,
+ supermarket_id,
+ trans_co_id,
+ customer_id,
+ customer_name,
+ type,
+ truck_license,
+ isprepaid,
+ product_id,
+ sn
+ )));
+ } else {
+ Workbook wb = OrderStatService.me.daydetailExport(
+ tm,
+ supermarket_id,
+ trans_co_id,
+ customer_id,
+ customer_name,
+ type,
+ truck_license,
+ isprepaid,
+ product_id,
+ sn
+ );
+ render(new ExcelRender(tm + "_日销售明细_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ /**
+ * 销售月统计,超市/客户的矩阵
+ */
+ @Before(MonthValidator.class)
+ public void monthgrid() {
+ Integer supermarket_id = getInt("supermarket_id");
+ Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
+ String tm = get("tm");
+ int export = getInt("export", 0);
+
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.monthgrid(tm, supermarket_id, customer_id)));
+ } else {
+ Workbook wb = OrderStatService.me.monthgridExport(tm, supermarket_id, customer_id);
+ render(new ExcelRender(tm + "_销售月汇总_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+
+ /**
+ * 销售日统计
+ */
+ @Before(DayValidator.class)
+ public void daystat() {
+ String tm = get("tm");
+ int export = getInt("export", 0);
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.salestat(tm)));
+ } else {
+ Workbook wb = OrderStatService.me.daysalestatExport(tm);
+ render(new ExcelRender(tm + "_销售日统计_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ /**
+ * 销售月统计
+ */
+ @Before(MonthValidator.class)
+ public void monthstat() {
+ String tm = get("tm");
+ int export = getInt("export", 0);
+
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.salestat(tm)));
+ } else {
+ Workbook wb = OrderStatService.me.monthsalestatExport(tm);
+ render(new ExcelRender(tm + "_销售月统计_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ /**
+ * 销售日统计
+ */
+ @Before(DayValidator.class)
+ public void daystatCustomer() {
+ String tm = get("tm");
+ int export = getInt("export", 0);
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.salestatCustomer(tm)));
+ } else {
+ Workbook wb = OrderStatService.me.daysalestatCustomerExport(tm);
+ render(new ExcelRender(tm + "_销售日统计_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ /**
+ * 销售月统计
+ */
+ @Before(MonthValidator.class)
+ public void monthstatCustomer() {
+ String tm = get("tm");
+ int export = getInt("export", 0);
+
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.salestatCustomer(tm)));
+ } else {
+ Workbook wb = OrderStatService.me.monthsalestatCustomerExport(tm);
+ render(new ExcelRender(tm + "_销售月统计_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ /**
+ * 销售月逐日统计
+ */
+ @Before(MonthValidator.class)
+ public void mdstat() {
+ String tm = get("tm");
+ int export = getInt("export", 0);
+
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.mdstat(tm)));
+ } else {
+ Workbook wb = OrderStatService.me.mdstatExport(tm);
+ render(new ExcelRender(tm + "_销售月逐日统计_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ /**
+ * 日销售汇总
+ */
+ @Before(DayValidator.class)
+ public void statDayTrans() {
+ String tm = get("tm");
+ int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
+ Integer supermarket_id = getInt("supermarket_id");
+ Integer product_id = getInt("product_id");
+ boolean stat_product = getBoolean("stat_product", false);
+ Integer isprepaid = getInt("isprepaid");
+
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.statTrans(tm, null, null, supermarket_id, stat_product, product_id, isprepaid)));
+ } else {
+ Workbook wb = OrderStatService.me.statTransExport("超市日销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
+ render(new ExcelRender(tm + "_超市日" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ /**
+ * 月销售统计
+ */
+ @Before(MonthValidator.class)
+ public void statMonthTrans() {
+ String tm = get("tm");
+ int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
+ Integer supermarket_id = getInt("supermarket_id");
+ Integer product_id = getInt("product_id");
+ boolean stat_product = getBoolean("stat_product", false);
+ Integer isprepaid = getInt("isprepaid");
+
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.statTrans(tm, null, null, supermarket_id, stat_product, product_id, isprepaid)));
+ } else {
+ Workbook wb = OrderStatService.me.statTransExport("超市月销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
+ render(new ExcelRender(tm + "_超市月" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ @Before(StartAndEndintervalValidator.class)
+ public void statRangeTrans() {
+ String stm = get("stm"); // 前端将 YYYY-MM-DD 后面补 " 00:00:00"
+ String etm = get("etm"); // 前端将 YYYY-MM-DD 后面补 " 23:59:59"
+ int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
+ Integer supermarket_id = getInt("supermarket_id");
+ Integer product_id = getInt("product_id");
+ boolean stat_product = getBoolean("stat_product", false);
+ Integer isprepaid = getInt("isprepaid");
+
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.statTrans(null, stm, etm, supermarket_id, stat_product, product_id, isprepaid)));
+ } else {
+ Workbook wb = OrderStatService.me.statTransExport("超市时段销售汇总表",null, stm, etm, supermarket_id, stat_product, product_id, isprepaid);
+ render(new ExcelRender(stm + "_" + etm + "_超市" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+
+ /**
+ * 日销售汇总,按客户
+ */
+ @Before(DayValidator.class)
+ public void statDayCustomer() {
+ String tm = get("tm");
+ int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
+ Integer supermarket_id = getInt("supermarket_id");
+ Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
+ Integer product_id = getInt("product_id");
+ boolean stat_product = getBoolean("stat_product", false);
+ Integer isprepaid = getInt("isprepaid");
+
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.statCustomer(tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
+ } else {
+ Workbook wb = OrderStatService.me.statCustomerExport("超市日销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
+ render(new ExcelRender(tm + "_超市日" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ /**
+ * 月销售统计
+ */
+ @Before(MonthValidator.class)
+ public void statMonthCustomer() {
+ String tm = get("tm");
+ int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
+ Integer supermarket_id = getInt("supermarket_id");
+ Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
+ Integer product_id = getInt("product_id");
+ boolean stat_product = getBoolean("stat_product", false);
+ Integer isprepaid = getInt("isprepaid");
+
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.statCustomer(tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
+ } else {
+ Workbook wb = OrderStatService.me.statCustomerExport("超市月销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
+ render(new ExcelRender(tm + "_超市月" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+
+ @Before(StartAndEndintervalValidator.class)
+ public void statRangeCustomer() {
+ String stm = get("stm"); // 前端将 YYYY-MM-DD 后面补 " 00:00:00"
+ String etm = get("etm"); // 前端将 YYYY-MM-DD 后面补 " 23:59:59"
+ int export = getInt("export", 0); // 是否导出为exce 0 不导出,1 导出
+ Integer supermarket_id = getInt("supermarket_id");
+ Integer customer_id = getInt("customer_id");
+
+ Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
+
+ // 是客户账户
+ if (tokenuser == null) {
+ renderJson(Result.noauth());
+ return;
+ } else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ customer_id = tokenuser.getEntityId();
+ }
+
+ Integer product_id = getInt("product_id");
+ boolean stat_product = getBoolean("stat_product", false);
+ Integer isprepaid = getInt("isprepaid");
+
+ if (export == 0) {
+ renderJson(Result.object(OrderStatService.me.statCustomer(null, stm, etm, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
+ } else {
+ Workbook wb = OrderStatService.me.statCustomerExport("超市时段销售汇总表",null, stm, etm, supermarket_id, customer_id, stat_product, product_id, isprepaid);
+ render(new ExcelRender(stm + "_" + etm + "_超市" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
+ }
+ }
+}
diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/system/sysuser/SysuserSyncService.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/system/sysuser/SysuserSyncService.java
index 2a355b3..864949a 100644
--- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/system/sysuser/SysuserSyncService.java
+++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/system/sysuser/SysuserSyncService.java
@@ -34,13 +34,13 @@ import java.util.regex.Pattern;
* PrimaryKey: id
*/
public class SysuserSyncService extends BaseSyncService {
- private static Log log = Log.getLog(SysuserSyncService.class);
- private static final String pwdkey = "sysuser";
- public static final String tablename = "sysuser";
- public static final SysuserSyncService me = new SysuserSyncService();
- private static final Pattern rolepattern = Pattern.compile("[0-2]{3}");
- // private static int expireAt = 24 * 60 * 60; // 超时时间,单位秒
- private static int expireAt = 24 * 60 * 60; // 超时时间,单位秒
+ private static Log log = Log.getLog(SysuserSyncService.class);
+ private static final String pwdkey = "sysuser";
+ public static final String tablename = "sysuser";
+ public static final SysuserSyncService me = new SysuserSyncService();
+ private static final Pattern rolepattern = Pattern.compile("[0-2]{3}");
+ private static int expireAt = 24 * 60 * 60; // 超时时间,单位秒
+ private static int customerExpireAt = 30 * 60; // 超时时间,单位秒,客户账户 token 有效时间
public String redisbasekey() {
return Config.dbprop.get("redis.basekey") + Const.REDIS_SEPARATE + tablename + Const.REDIS_SEPARATE;
@@ -246,13 +246,13 @@ public class SysuserSyncService extends BaseSyncService {
model.setPassword(getPwdMD5(model.getPhone(), Const.DEFAULT_PASSWORD));
model.remove("id"); // 避免前端传 id
- boolean ret =Db.tx(new IAtom() {
+ boolean ret = Db.tx(new IAtom() {
@Override
public boolean run() throws SQLException {
try {
return model.save() && SyncTaskService.me.save(new SyncTask().addSaveData(model))
&& ModifyLogService.me.save(model, null, Enums.DataOpType.SAVE.getId(), tokenuser);
- }catch (Exception e){
+ } catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
@@ -314,14 +314,14 @@ public class SysuserSyncService extends BaseSyncService {
}
// TODO: 修改手机号码,必须重置密码
- if(model.getPhone() != null && !model.getPhone().equals(chkobj.getPhone())){
+ if (model.getPhone() != null && !model.getPhone().equals(chkobj.getPhone())) {
chkobj.setPassword(getPwdMD5(model.getPhone(), Const.DEFAULT_PASSWORD));
}
model.remove("password"); // 更新用户信息,不更新密码
- for(String key : model._getAttrNames()){
- if(model.get(key) != null){
+ for (String key : model._getAttrNames()) {
+ if (model.get(key) != null) {
chkobj.set(key, model.get(key));
}
}
@@ -371,7 +371,7 @@ public class SysuserSyncService extends BaseSyncService {
}
Sysuser sysuser = Sysuser.dao.findById(model.get("id"));
- Sysuser old = sysuser.clone();
+ Sysuser old = sysuser.clone();
sysuser.set(Const.LOGIC_DEL_KEY, Const.LOGIC_DEL_VALID); // 逻辑删除字段统一用 del
@@ -562,7 +562,11 @@ public class SysuserSyncService extends BaseSyncService {
out.set("tm", System.currentTimeMillis());
out.set("user", sysuser);
- Redis.use().setex(tokenrediskey(token), expireAt, sysuser);
+ if (sysuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ Redis.use().setex(tokenrediskey(token), customerExpireAt, sysuser);
+ }else{
+ Redis.use().setex(tokenrediskey(token), expireAt, sysuser);
+ }
return Result.success(new AuthResult(token, sysuser));
} catch (Exception e) {
@@ -581,7 +585,11 @@ public class SysuserSyncService extends BaseSyncService {
Sysuser sysuser = Redis.use().get(tokenrediskey(token));
if (sysuser != null) {
- Redis.use().setex(tokenrediskey(token), expireAt, sysuser); // 刷新token
+ if (sysuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
+ Redis.use().setex(tokenrediskey(token), customerExpireAt, sysuser); // 刷新token
+ } else {
+ Redis.use().setex(tokenrediskey(token), expireAt, sysuser); // 刷新token
+ }
}
return sysuser;
@@ -683,28 +691,28 @@ public class SysuserSyncService extends BaseSyncService {
return Db.find("select * " + sqlbuf.toString(), paraList.toArray());
}
- public Result register(Sysuser sysuser, Customer customer, CustomerReceiver receiver){
- if(sysuser.checkDuplicate("phone")){
+ public Result register(Sysuser sysuser, Customer customer, CustomerReceiver receiver) {
+ if (sysuser.checkDuplicate("phone")) {
return Result.failedstr("手机号 %s 已存在", sysuser.getPhone());
}
customer.setName(customer.getTexpayerName());
- if(customer.checkDuplicate("name")){
+ if (customer.checkDuplicate("name")) {
return Result.failed("用户已存在");
}
- if(customer.checkDuplicate("texpayer_name")){
+ if (customer.checkDuplicate("texpayer_name")) {
return Result.failed("用户已存在");
}
// 开专票的,必填验证
- if(customer.getInvoiceType() == 2){
- if(customer.checkDuplicate("texpayer_num")){
+ if (customer.getInvoiceType() == 2) {
+ if (customer.checkDuplicate("texpayer_num")) {
return Result.failed("用户已存在");
}
- if(customer.checkDuplicate("bank_account")){
+ if (customer.checkDuplicate("bank_account")) {
return Result.failed("用户已存在");
}
}
@@ -715,10 +723,10 @@ public class SysuserSyncService extends BaseSyncService {
boolean ret = Db.tx(new IAtom() {
@Override
public boolean run() {
- try{
+ try {
boolean ret = customer.save();
- if(!ret){
+ if (!ret) {
log.debug("客户信息保存失败");
return false;
}
@@ -730,7 +738,7 @@ public class SysuserSyncService extends BaseSyncService {
ret = sysuser.save() && receiver.save();
- if(!ret){
+ if (!ret) {
log.debug("用户或者收获信息保存失败");
return false;
}
@@ -741,7 +749,7 @@ public class SysuserSyncService extends BaseSyncService {
synctask.addSaveData(receiver);
return SyncTaskService.me.save(synctask);
- }catch (Exception e){
+ } catch (Exception e) {
log.error(e.getMessage(), e);
}