diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/common/utils/DateTimeUtil.java b/ssjygl-xsx-common/src/main/java/com/cowr/common/utils/DateTimeUtil.java index a5279a6..3d1227c 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/common/utils/DateTimeUtil.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/common/utils/DateTimeUtil.java @@ -90,4 +90,16 @@ public class DateTimeUtil { public static boolean isEarlyToday(String date){ return isEarlyDate(date, new Date()); } + + /** + * 是当天的时间 + * @return + */ + public static boolean isToday(Date date){ + Calendar calendar = Calendar.getInstance(); + long now = System.currentTimeMillis() - calendar.get(Calendar.HOUR_OF_DAY) * 60 * 60 * 1000; + calendar.setTime(date); + + return now == date.getTime() - calendar.get(Calendar.HOUR_OF_DAY) * 60 * 60 * 1000; + } } diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BaseBlacklist.java b/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BaseBlacklist.java index 73bbc31..222c50c 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BaseBlacklist.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BaseBlacklist.java @@ -5,7 +5,7 @@ import com.jfinal.plugin.activerecord.IBean; import com.alibaba.fastjson.annotation.JSONField; /** - * Generated by COWR Fri Apr 17 16:59:35 CST 2020 + * Generated by COWR Fri Aug 21 09:50:08 CST 2020 * TableName: blacklist * Remarks: 基础配置 - 车辆黑名单 * PrimaryKey: id @@ -29,7 +29,7 @@ public abstract class BaseBlacklist> extends BaseMode * @param id 使用uuid */ @JSONField(name="id") - public void setId(java.lang.String id) { + public void setId(String id) { set("id", id); } @@ -38,7 +38,7 @@ public abstract class BaseBlacklist> extends BaseMode * @return id 使用uuid */ @JSONField(name="id") - public java.lang.String getId() { + public String getId() { return getStr("id"); } @@ -51,7 +51,7 @@ public abstract class BaseBlacklist> extends BaseMode * @param truckLicense 车牌号 */ @JSONField(name="truck_license") - public void setTruckLicense(java.lang.String truckLicense) { + public void setTruckLicense(String truckLicense) { set("truck_license", truckLicense); } @@ -60,7 +60,7 @@ public abstract class BaseBlacklist> extends BaseMode * @return truck_license 车牌号 */ @JSONField(name="truck_license") - public java.lang.String getTruckLicense() { + public String getTruckLicense() { return getStr("truck_license"); } @@ -73,7 +73,7 @@ public abstract class BaseBlacklist> extends BaseMode * @param driverName 司机姓名 */ @JSONField(name="driver_name") - public void setDriverName(java.lang.String driverName) { + public void setDriverName(String driverName) { set("driver_name", driverName); } @@ -82,7 +82,7 @@ public abstract class BaseBlacklist> extends BaseMode * @return driver_name 司机姓名 */ @JSONField(name="driver_name") - public java.lang.String getDriverName() { + public String getDriverName() { return getStr("driver_name"); } @@ -95,7 +95,7 @@ public abstract class BaseBlacklist> extends BaseMode * @param driverPhone 司机手机号 */ @JSONField(name="driver_phone") - public void setDriverPhone(java.lang.String driverPhone) { + public void setDriverPhone(String driverPhone) { set("driver_phone", driverPhone); } @@ -104,7 +104,7 @@ public abstract class BaseBlacklist> extends BaseMode * @return driver_phone 司机手机号 */ @JSONField(name="driver_phone") - public java.lang.String getDriverPhone() { + public String getDriverPhone() { return getStr("driver_phone"); } @@ -117,7 +117,7 @@ public abstract class BaseBlacklist> extends BaseMode * @param orderSn 关联的订单 */ @JSONField(name="order_sn") - public void setOrderSn(java.lang.String orderSn) { + public void setOrderSn(String orderSn) { set("order_sn", orderSn); } @@ -126,7 +126,7 @@ public abstract class BaseBlacklist> extends BaseMode * @return order_sn 关联的订单 */ @JSONField(name="order_sn") - public java.lang.String getOrderSn() { + public String getOrderSn() { return getStr("order_sn"); } @@ -161,7 +161,7 @@ public abstract class BaseBlacklist> extends BaseMode * @param setUserId */ @JSONField(name="set_user_id") - public void setSetUserId(java.lang.Integer setUserId) { + public void setSetUserId(Integer setUserId) { set("set_user_id", setUserId); } @@ -170,10 +170,32 @@ public abstract class BaseBlacklist> extends BaseMode * @return set_user_id */ @JSONField(name="set_user_id") - public java.lang.Integer getSetUserId() { + public Integer getSetUserId() { return getInt("set_user_id"); } + /** + * name: set_user_name + * type: VARCHAR(20) + * isNullable: YES + * isPrimaryKey: NO + * defaultValue: + * @param setUserName + */ + @JSONField(name="set_user_name") + public void setSetUserName(String setUserName) { + set("set_user_name", setUserName); + } + + + /** + * @return set_user_name + */ + @JSONField(name="set_user_name") + public String getSetUserName() { + return getStr("set_user_name"); + } + /** * name: remove_time * type: DATETIME(19) @@ -205,7 +227,7 @@ public abstract class BaseBlacklist> extends BaseMode * @param removeUserId remove_user_id 为空的,表示该车辆还在黑名单中,不能进场 */ @JSONField(name="remove_user_id") - public void setRemoveUserId(java.lang.Integer removeUserId) { + public void setRemoveUserId(Integer removeUserId) { set("remove_user_id", removeUserId); } @@ -214,10 +236,32 @@ public abstract class BaseBlacklist> extends BaseMode * @return remove_user_id remove_user_id 为空的,表示该车辆还在黑名单中,不能进场 */ @JSONField(name="remove_user_id") - public java.lang.Integer getRemoveUserId() { + public Integer getRemoveUserId() { return getInt("remove_user_id"); } + /** + * name: remove_user_name + * type: VARCHAR(20) + * isNullable: YES + * isPrimaryKey: NO + * defaultValue: + * @param removeUserName + */ + @JSONField(name="remove_user_name") + public void setRemoveUserName(String removeUserName) { + set("remove_user_name", removeUserName); + } + + + /** + * @return remove_user_name + */ + @JSONField(name="remove_user_name") + public String getRemoveUserName() { + return getStr("remove_user_name"); + } + /** * name: reason_type * type: INT(10) @@ -229,7 +273,7 @@ public abstract class BaseBlacklist> extends BaseMode 9,其他 */ @JSONField(name="reason_type") - public void setReasonType(java.lang.Integer reasonType) { + public void setReasonType(Integer reasonType) { set("reason_type", reasonType); } @@ -240,7 +284,7 @@ public abstract class BaseBlacklist> extends BaseMode 9,其他 */ @JSONField(name="reason_type") - public java.lang.Integer getReasonType() { + public Integer getReasonType() { return getInt("reason_type"); } @@ -253,7 +297,7 @@ public abstract class BaseBlacklist> extends BaseMode * @param reasonDetail */ @JSONField(name="reason_detail") - public void setReasonDetail(java.lang.String reasonDetail) { + public void setReasonDetail(String reasonDetail) { set("reason_detail", reasonDetail); } @@ -262,7 +306,7 @@ public abstract class BaseBlacklist> extends BaseMode * @return reason_detail */ @JSONField(name="reason_detail") - public java.lang.String getReasonDetail() { + public String getReasonDetail() { return getStr("reason_detail"); } diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BasePrepayTruck.java b/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BasePrepayTruck.java index bc1d102..6a0637b 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BasePrepayTruck.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BasePrepayTruck.java @@ -5,7 +5,7 @@ import com.jfinal.plugin.activerecord.IBean; import com.alibaba.fastjson.annotation.JSONField; /** - * Generated by COWR Sun May 17 21:43:18 CST 2020 + * Generated by COWR Fri Aug 21 09:56:12 CST 2020 * TableName: prepay_truck * Remarks: 客户相关 - 预付费车辆 * PrimaryKey: id @@ -22,24 +22,24 @@ public abstract class BasePrepayTruck> extends Base /** * name: id - * type: INT(10) + * type: CHAR(32) * isNullable: NO * isPrimaryKey: YES * defaultValue: - * @param id + * @param id uuid */ @JSONField(name="id") - public void setId(Integer id) { + public void setId(String id) { set("id", id); } /** - * @return id + * @return id uuid */ @JSONField(name="id") - public Integer getId() { - return getInt("id"); + public String getId() { + return getStr("id"); } /** @@ -180,7 +180,7 @@ public abstract class BasePrepayTruck> extends Base * isNullable: NO * isPrimaryKey: NO * defaultValue: - * @param createUserId + * @param createUserId 创建用户id */ @JSONField(name="create_user_id") public void setCreateUserId(Integer createUserId) { @@ -189,13 +189,35 @@ public abstract class BasePrepayTruck> extends Base /** - * @return create_user_id + * @return create_user_id 创建用户id */ @JSONField(name="create_user_id") public Integer getCreateUserId() { return getInt("create_user_id"); } + /** + * name: create_user_name + * type: VARCHAR(20) + * isNullable: NO + * isPrimaryKey: NO + * defaultValue: + * @param createUserName 创建用户名称 + */ + @JSONField(name="create_user_name") + public void setCreateUserName(String createUserName) { + set("create_user_name", createUserName); + } + + + /** + * @return create_user_name 创建用户名称 + */ + @JSONField(name="create_user_name") + public String getCreateUserName() { + return getStr("create_user_name"); + } + /** * name: type * type: INT(10) 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 422c78a..f9cafd2 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 @@ -114,14 +114,14 @@ public class OrderclusterService extends BaseService { * @param customer_id * @return */ - public List undonlist(int supermarket_id, Integer customer_id, String date) { + public List undonlist(int supermarket_id, Integer customer_id, String date) { String sql = "select * from ordercluster t \n" + " where t.state < ? \n" + " and t.supermarket_id = ? \n" + " and t.customer_id = ? \n" + " and t.cutoff_time like ? \n"; - return Db.find(sql, OrderStateEnum.RECEIVED.getStateid(), supermarket_id, customer_id, date + "%"); + return Ordercluster.dao.find(sql, OrderStateEnum.RECEIVED.getStateid(), supermarket_id, customer_id, date + "%"); } /** diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/prepaytruck/PrepayTruckValidator.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/prepaytruck/PrepayTruckValidator.java index 5821012..7953a89 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/prepaytruck/PrepayTruckValidator.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/prepaytruck/PrepayTruckValidator.java @@ -23,6 +23,9 @@ public class PrepayTruckValidator extends CrudParamValidator { } validateRequired("trucks", "trucks", "trucks 必填"); + validateInteger("customer_id", 1, 2147483647, "customer_id", "customer_id 范围 1~2147483647"); + validateInteger("supermarket_id", 1, 2147483647, "supermarket_id", "supermarket_id 范围 1~2147483647"); + validateDate("valid_date", "yyyy-MM-dd","valid_date","valid_date 格式必须为 yyyy-MM-dd"); // 使用 model 更新时,model 不能只有主键有值 // 这里用 getActionMethodName 写死,判断是 update 时,才做验证 diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/transprice/TransPriceService.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/transprice/TransPriceService.java index 6fb5b16..87ceeae 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/transprice/TransPriceService.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/transprice/TransPriceService.java @@ -26,7 +26,6 @@ public class TransPriceService { List list = TransPriceConfigSale.dao.find("select * from trans_price_config_sale order by id"); if(list == null || list.isEmpty()){ - log.error("initOrderTransPriceConfig 失败"); return; } @@ -44,7 +43,6 @@ public class TransPriceService { List list = TransPriceConfigTransfer.dao.find("select * from trans_price_config_transfer order by id"); if(list == null || list.isEmpty()){ - log.error("initTransferTransPriceConfig 失败"); return; } @@ -62,7 +60,6 @@ public class TransPriceService { List list = TransPriceConfigTrash.dao.find("select * from trans_price_config_trash order by id"); if(list == null || list.isEmpty()){ - log.error("initTransPriceConfigTrash 失败"); return; } diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/blacklist/BlacklistSyncService.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/blacklist/BlacklistSyncService.java index 4287bfb..1058e72 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/blacklist/BlacklistSyncService.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/blacklist/BlacklistSyncService.java @@ -30,6 +30,7 @@ public class BlacklistSyncService extends BaseSyncService { model.setId(StrKit.getRandomUUID()); model.setSetTime(new Date()); model.setSetUserId(sysuser.getId()); + model.setSetUserName(sysuser.getName()); SyncTask synctask = new SyncTask(); @@ -96,6 +97,7 @@ public class BlacklistSyncService extends BaseSyncService { try { model.setRemoveTime(new Date()); model.setRemoveUserId(sysuser.getId()); + model.setRemoveUserName(sysuser.getName()); SyncTask synctask = new SyncTask(); synctask.addUpdateData(model); diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java index 430bfe1..8237d82 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java @@ -15,7 +15,6 @@ import com.cowr.local.ssjygl.system.sysuser.SysuserSyncService; import com.cowr.model.*; import com.cowr.ssjygl.modifylog.ModifyLogService; import com.cowr.ssjygl.prepay.prepaycustomer.PrepayCustomerService; -import com.cowr.ssjygl.supermarket.SupermarketService; import com.cowr.ssjygl.transprice.TransPriceService; import com.jfinal.kit.StrKit; import com.jfinal.log.Log; @@ -238,6 +237,10 @@ public class OrderTempSyncService { return Result.failedstr("集团订单【%s】信息不存在", ordercluster_id); } + if(!DateTimeUtil.isToday(ordercluster.getCutoffTime())){ + return Result.failedstr("集团订单只能在%s使用", DateTimeUtil.sdfymd.get().format(ordercluster.getCutoffTime())); + } + Customer customer = Customer.dao.findById(ordercluster.getCustomerId()); if (customer == null) { return Result.failedstr("客户信息【%s】信息不存在", ordercluster.getCustomerId()); @@ -499,6 +502,10 @@ public class OrderTempSyncService { return Result.failedstr("集团订单【%s】已完结,请重新下单", ordercluster_id); } + if(!DateTimeUtil.isToday(ordercluster.getCutoffTime())){ + return Result.failedstr("集团订单只能在%s使用", DateTimeUtil.sdfymd.get().format(ordercluster.getCutoffTime())); + } + customer = Customer.dao.findById(ordercluster.getCustomerId()); product = Product.dao.findById(ordercluster.getProductId()); diff --git a/ssjygl-xsx-local/src/main/resources/dev/db.properties b/ssjygl-xsx-local/src/main/resources/dev/db.properties index bf6c619..2f161a5 100644 --- a/ssjygl-xsx-local/src/main/resources/dev/db.properties +++ b/ssjygl-xsx-local/src/main/resources/dev/db.properties @@ -1,12 +1,12 @@ # mysql # GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.119' IDENTIFIED BY 'Local_1' WITH GRANT OPTION; -jdbcUrl=jdbc:mysql://rm-wz9wa070076b2uge2ro.mysql.rds.aliyuncs.com:3306/ssjy_xsx_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true -user=ssjy_xsx -password=Ssjy_xs_890 +#jdbcUrl=jdbc:mysql://rm-wz9wa070076b2uge2ro.mysql.rds.aliyuncs.com:3306/ssjy_xsx_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true +#user=ssjy_xsx +#password=Ssjy_xs_890 -#jdbcUrl=jdbc:mysql://192.168.1.119:3306/ssjy_xsx_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true -#user=root -#password=Local_1 +jdbcUrl=jdbc:mysql://192.168.1.119:3306/ssjy_xsx_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true +user=root +password=Local_1 # redis redis.basekey=ssjcgl_xsx_dev diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/blacklist/BlacklistSyncService.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/blacklist/BlacklistSyncService.java index 13ea5d9..13de340 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/blacklist/BlacklistSyncService.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/blacklist/BlacklistSyncService.java @@ -30,6 +30,7 @@ public class BlacklistSyncService extends BaseSyncService { model.setId(StrKit.getRandomUUID()); model.setSetTime(new Date()); model.setSetUserId(sysuser.getId()); + model.setSetUserName(sysuser.getName()); SyncTask synctask = new SyncTask(); synctask.addSaveData(model); @@ -95,6 +96,7 @@ public class BlacklistSyncService extends BaseSyncService { try { model.setRemoveTime(new Date()); model.setRemoveUserId(sysuser.getId()); + model.setRemoveUserName(sysuser.getName()); SyncTask synctask = new SyncTask(); synctask.addUpdateData(model); 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 b888e5e..d0c3318 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 @@ -14,6 +14,8 @@ import com.cowr.ssjygl.prepay.prepaytruck.PrepayTruckValidator; import com.jfinal.aop.Before; import com.jfinal.log.Log; +import java.util.Date; + /** * Generated by COWR Sun Feb 23 21:22:12 CST 2020 * TableName: prepay_truck @@ -38,7 +40,7 @@ public class PrepayTruckController extends BaseController { /** * 新增 prepay_truck 每日超市指定预付费车辆 */ - @Before(com.cowr.ssjygl.prepay.prepaytruck.PrepayTruckValidator.class) + @Before(PrepayTruckValidator.class) public void save() { Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token")); @@ -47,20 +49,12 @@ public class PrepayTruckController extends BaseController { return; } + String trucks = get("trucks"); + int customer_id = getInt("customer_id"); + int supermarket_id = getInt("supermarket_id"); + Date valid_date = getDate("valid_date"); - try { - String trucks = get("trucks"); - JSONArray truckarr = JSONArray.parseArray(trucks); - - if (truckarr == null) { - renderJson(Result.failed("trucks 参数格式错误")); - } else { -// renderJson(PrepayTruckSyncService.me.save(truckarr, tokenuser)); - } - } catch (Exception e) { - log.error(e.getMessage(), e); - renderJson(Result.failed("参数解析格式不正确")); - } + renderJson(PrepayTruckSyncService.me.save(customer_id, trucks, valid_date, supermarket_id, tokenuser)); } /** 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 db3e401..ca4fcba 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 @@ -1,11 +1,14 @@ package com.cowr.service.ssjygl.prepay.prepaytruck; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; +import com.cowr.common.enums.Enums; +import com.cowr.common.enums.OrderStateEnum; +import com.cowr.common.enums.OrderTypeEnum; import com.cowr.common.utils.DateTimeUtil; import com.cowr.common.view.Result; import com.cowr.model.*; import com.cowr.service.ssjygl.base.BaseSyncService; +import com.cowr.service.ssjygl.synctask.SyncTaskService; +import com.cowr.ssjygl.modifylog.ModifyLogService; import com.cowr.ssjygl.order.ordercluster.OrderclusterService; import com.jfinal.kit.StrKit; import com.jfinal.log.Log; @@ -13,7 +16,6 @@ import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.IAtom; import com.jfinal.plugin.activerecord.Record; -import java.sql.SQLException; import java.util.*; public class PrepayTruckSyncService extends BaseSyncService { @@ -21,19 +23,11 @@ public class PrepayTruckSyncService extends BaseSyncService { private static Log log = Log.getLog(PrepayTruckSyncService.class); /** - * @param truckarr [ - * { - * customer_id - * truck_license - * supermarket_id - * valid_date - * type - * } - * ] + * @param truckstr truck_license,truck_license,truck_license * @param sysuser * @return */ - public Result save(int customer_id, String truckarr, Date valid_date, int supermarket_id, Sysuser sysuser) { + public Result save(int customer_id, String truckstr, Date valid_date, int supermarket_id, Sysuser sysuser) { try { Customer customer = Customer.dao.findById(customer_id); if (customer == null) { @@ -45,95 +39,98 @@ public class PrepayTruckSyncService extends BaseSyncService { return Result.failed("超市信息无效"); } - List list = OrderclusterService.me.undonlist(supermarket_id, customer_id, DateTimeUtil.sdf.get().format(valid_date)); + List undonlist = OrderclusterService.me.undonlist(supermarket_id, customer_id, DateTimeUtil.sdf.get().format(valid_date)); - if(list == null || list.isEmpty()){ + if(undonlist == null || undonlist.isEmpty()){ return Result.failed("未找到有效的集团订单信息"); } - // TODO: 过期订单怎么处理?顺延?取消 + Ordercluster lastcluster = undonlist.get(0); + List old = PrepayTruck.dao.find("select * from prepay_truck t\n" + + " where t.supermarket_id = ? \n" + + " and t.customer_id = ? \n" + + " and t.valid_date = ? ", supermarket_id, customer_id, valid_date); -// -// List ts = new ArrayList<>(); -// List tsql = new ArrayList<>(); -// -// Map co_trucks = new HashMap<>(); // 物流公司车辆 -// List co_tsql = new ArrayList<>(); -// -// List pts = new ArrayList<>(); -// -// for (int i = 0; i < truckarr.size(); i++) { -// JSONObject obj = truckarr.getJSONObject(i); -// -// ts.add(obj.getString("truck_license")); -// tsql.add("?"); -// -// if (obj.getIntValue("type") == 1) { -// co_trucks.put(obj.getString("truck_license"), true); -// co_tsql.add("?"); -// } -// } -// -// List list = Blacklist.dao.find( -// "select * from blacklist \n" + -// " where remove_user_id is null \n" + -// " and truck_license in (" + StrKit.join(tsql, ",") + ")", ts.toArray()); -// -// if (list != null && !list.isEmpty()) { -// ts = new ArrayList<>(); -// -// for (Blacklist bl : list) { -// ts.add(bl.getTruckLicense()); -// } -// -// return Result.failed(StrKit.join(ts, ",") + " 车牌号在黑名单中"); -// } -// -// if (!co_trucks.isEmpty()) { -// List trucks = Truck.dao.find( -// "select * from truck where license in (" -// + StrKit.join(co_tsql, ",") + ")", co_trucks.keySet().toArray()); -// -// if (trucks != null && !trucks.isEmpty()) { -// for (Truck bl : trucks) { -// co_trucks.remove(bl.getLicense()); -// } -// -// ts = new ArrayList<>(); -// -// for (String s : co_trucks.keySet()) { -// ts.add(s); -// } -// } -// -// if (!co_trucks.isEmpty()) { -// return Result.failed(StrKit.join(ts, ",") + " 车牌不是物流公司车辆"); -// } -// } -// -// for (int i = 0; i < truckarr.size(); i++) { -// JSONObject obj = truckarr.getJSONObject(i); -// Record record = new Record().setColumns(obj.getInnerMap()); -// record.set("create_user_id", sysuser.getId()); -// pts.add(record); -// } -// -// if (pts.isEmpty()) { -// return Result.failed("truck_license 参数错误"); -// } -// -// // TODO: 这里要不要加入同步,上传到服务端。预付费车辆只再本超市使用 -// 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(); -// } -// }); + String[] truckarr = truckstr.split(","); -// return ret ? Result.success() : Result.failed(false, "新增失败"); - return null; + if(truckarr.length + old.size() < lastcluster.getMiniTruck()){ + return Result.failedstr("安排车辆总数不能小于 %d", lastcluster.getMiniTruck()); + } + + List ts = new ArrayList<>(); + List tsql = new ArrayList<>(); + + List pts = new ArrayList<>(); + + for (int i = 0; i < truckarr.length; i++) { + String truck_license = truckarr[i]; + + ts.add(truck_license); + tsql.add("?"); + } + + List list = Blacklist.dao.find( + "select * from blacklist \n" + + " where remove_user_id is null \n" + + " and truck_license in (" + StrKit.join(tsql, ",") + ")", ts.toArray()); + + if (list != null && !list.isEmpty()) { + ts = new ArrayList<>(); + + for (Blacklist bl : list) { + ts.add(bl.getTruckLicense()); + } + + return Result.failed(StrKit.join(ts, ",") + " 车牌号在黑名单中"); + } + + SyncTask synctask = new SyncTask(); + + for (int i = 0; i < truckarr.length; i++) { + String truck_license = truckarr[i]; + + PrepayTruck pt = new PrepayTruck(); + pt.setId(StrKit.getRandomUUID()); + pt.setCustomerId(customer_id); + pt.setTruckLicense(truck_license); + pt.setSupermarketId(supermarket_id); + pt.setValidDate(valid_date); + pt.setCreateUserId(sysuser.getId()); + pt.setCreateUserName(sysuser.getName()); + pt.setType(OrderTypeEnum.TEMP.getTypeid()); + + synctask.addSaveData(pt); + pts.add(pt); + } + + if (pts.isEmpty()) { + return Result.failed("truck_license 参数错误"); + } + + Record logrecord = new Record(); + logrecord.set("customer_id", customer_id); + logrecord.set("truckstr", truckstr); + logrecord.set("valid_date", valid_date); + logrecord.set("supermarket_id", supermarket_id); + + boolean ret = Db.tx(new IAtom() { + @Override + public boolean run() { + int[] ret = Db.batchSave(pts, pts.size()); + + for (int i : ret) { + // 必须是每条 sql 修改一条记录 + if (i != 1) { + return false; + } + } + + return SyncTaskService.me.save(synctask, supermarket_id) + && ModifyLogService.me.save(PrepayTruck.tablename, "id", logrecord.toJson(), Enums.DataOpType.SAVE.getId(), sysuser); + } + }); + + return ret ? Result.success() : Result.failed(false, "新增失败"); } catch (Exception e) { if (e.getMessage().contains("prepay_truck_license_customer")) { return Result.failed("同一辆车同一天只能分配一次"); diff --git a/ssjygl-xsx-service/src/main/resources/dev/db.properties b/ssjygl-xsx-service/src/main/resources/dev/db.properties index 67eef3b..a6e46c3 100644 --- a/ssjygl-xsx-service/src/main/resources/dev/db.properties +++ b/ssjygl-xsx-service/src/main/resources/dev/db.properties @@ -1,12 +1,12 @@ # mysql -jdbcUrl=jdbc:mysql://rm-wz9wa070076b2uge2ro.mysql.rds.aliyuncs.com:3306/ssjy_xsx_service_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true -user=ssjy_xsx -password=Ssjy_xs_890 +#jdbcUrl=jdbc:mysql://rm-wz9wa070076b2uge2ro.mysql.rds.aliyuncs.com:3306/ssjy_xsx_service_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true +#user=ssjy_xsx +#password=Ssjy_xs_890 # mysql -#jdbcUrl=jdbc:mysql://192.168.1.165:3306/ssjy_xsx_service_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true -#user=root -#password=Local_1 +jdbcUrl=jdbc:mysql://192.168.1.165:3306/ssjy_xsx_service_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true +user=root +password=Local_1 # redis redis.basekey=ssjcgl_xsx_dev