diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/customer/CustomerValidator.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/customer/CustomerValidator.java index 1b3eefd..9503b65 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/customer/CustomerValidator.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/customer/CustomerValidator.java @@ -22,10 +22,10 @@ public class CustomerValidator extends CrudParamValidator { validateInteger("id", 1, 2147483647, "id", "id 范围 1~2147483647"); } - validateString("name", 1, 128, "name", "name 长度 1~128"); + validateString("name", 0, 128, "name", "name 长度 1~128"); validateString("address", 0, 256, "address", "address 长度 0~256"); - validateString("phone", 0, 11, "phone", "phone 长度 0~11"); - validateString("texpayer_name", 1, 128, "texpayer_name", "texpayer_name 长度 0~128"); + validateString("phone", 0, 20, "phone", "phone 长度 0~20"); + validateString("texpayer_name", 0, 128, "texpayer_name", "texpayer_name 长度 0~128"); validateString("texpayer_num", 0, 20, "texpayer_num", "texpayer_num 长度 0~20"); validateString("bank_name", 0, 128, "bank_name", "bank_name 长度 0~128"); diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/system/sysuser/SysuserValidator.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/system/sysuser/SysuserValidator.java index 9745d57..48c41d3 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/system/sysuser/SysuserValidator.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/system/sysuser/SysuserValidator.java @@ -29,6 +29,7 @@ public class SysuserValidator extends CrudParamValidator { if ("save".equals(getActionMethodName())) { validateInIntegerArray("type", chktype, "type", "type 范围 1~4"); + validateRegex("role", "[0-9]{2,3}", "role", "role 值错误"); } validateRegex("phone", StrUtil.regphone, "phone", "phone 必须为手机号格式"); @@ -38,13 +39,15 @@ public class SysuserValidator extends CrudParamValidator { validateInteger("entity_id", 1, 2147483647, "entity_id", "entity_id 范围 1~2147483647"); } - validateRegex("role", "[0-9]{2,3}", "role", "role 值错误"); - // 使用 model 更新时,model 不能只有主键有值 // 这里用 getActionMethodName 写死,判断是 update 时,才做验证 // 如果确实是需要将主键外的字段置为 null,可以在代码生成后删掉这段 if ("edit".equals(getActionMethodName())) { validateUpdateModel(Sysuser.class, "", true); // 忽略不在model中的字段 + + if (StrKit.notBlank(c.get("role"))) { + validateRegex("role", "[0-9]{2,3}", "role", "role 值错误"); + } } } diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/customer/CustomerSyncService.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/customer/CustomerSyncService.java index 0845eba..4d4a354 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/customer/CustomerSyncService.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/customer/CustomerSyncService.java @@ -139,29 +139,31 @@ public class CustomerSyncService extends BaseSyncService { // 将修改后的对象返回 String[] keys = model._getAttrNames(); for (String key : keys) { - oldobj.set(key, model.get(key)); + if(model.get(key) != null){ + oldobj.set(key, model.get(key)); + } } boolean ret = Db.tx(new IAtom() { @Override public boolean run() { try { - boolean ret = model.update(); + boolean ret = oldobj.update(); if (!ret) { return false; } SyncTask synctask = new SyncTask(); - synctask.addUpdateData(model); + synctask.addUpdateData(oldobj); if (StrKit.notBlank(receiver_name, receiver_phone, receiver_address)) { CustomerReceiver receiver = CustomerReceiver.dao.findFirst( - "select * from customer_receiver t where t.customer_id = ? limit 1", model.getId()); + "select * from customer_receiver t where t.customer_id = ? limit 1", oldobj.getId()); if (receiver == null) { receiver = new CustomerReceiver(); - receiver.setCustomerId(model.getId()); + receiver.setCustomerId(oldobj.getId()); receiver.setName(receiver_name); receiver.setPhone(receiver_phone); receiver.setAddress(receiver_address); @@ -185,8 +187,8 @@ public class CustomerSyncService extends BaseSyncService { } } - return SyncTaskService.me.save(new SyncTask().addUpdateData(oldobj)) - && ModifyLogService.me.save(model, saveold, Enums.DataOpType.UPDATE.getId(), sysuser); + return SyncTaskService.me.save(synctask) + && ModifyLogService.me.save(oldobj, saveold, Enums.DataOpType.UPDATE.getId(), sysuser); } catch (Exception e) { log.error(e.getMessage(), e); return false; 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 649d3cc..aa2d9ce 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 @@ -45,7 +45,9 @@ public class AuthInterceptor implements Interceptor { add("/orderclustertruck/del"); add("/customer/get"); - add("/customer/update"); + add("/customer/edit"); + + add("/sysuser/edit"); }}); } 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 ea99f59..ce2eedb 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 @@ -296,24 +296,15 @@ public class SysuserSyncService extends BaseSyncService { return Result.failed(false, "按主键未找到对应记录"); } + if (chkobj.getType() == UserTypeEnum.CUSTOMER.getTypeid() && !tokenuser.getId().equals(model.getId())) { + return Result.failed("客户账户只能修改自己的登录信息"); + } + // 按手机号查出来的记录,不是当前更新的记录 if (old != null && !old.getId().equals(model.getId())) { return Result.failed(false, "手机号已存在"); } - BaseModel baseModel = checkEntityId(model); - - if (isTreasurer(model.getRole()) || isPresident(model.getRole())) { - if (model.getEntityId() == null) { // 没有从前端获取到 entity_id - model.setEntityId(null); // 如果不设置,upate 时,不会更新 entity_id, 如果要清空 entity_id 值,就需要手动设置为 null - } - } else { - // 不是财务、经理的时候,按照原来的规则检查 - if (baseModel == null) { - return Result.failed(false, "entity_id 未找到对应值"); - } - } - // TODO: 修改手机号码,必须重置密码 if (model.getPhone() != null && !model.getPhone().equals(chkobj.getPhone())) { chkobj.setPassword(getPwdMD5(model.getPhone(), Const.DEFAULT_PASSWORD)); @@ -401,7 +392,7 @@ public class SysuserSyncService extends BaseSyncService { return false; } - if(StrKit.notBlank(receiver_name, receiver_phone, receiver_address)){ + if (StrKit.notBlank(receiver_name, receiver_phone, receiver_address)) { CustomerReceiver receiver = new CustomerReceiver(); receiver.setCustomerId(model.getId()); receiver.setName(receiver_name); @@ -412,7 +403,7 @@ public class SysuserSyncService extends BaseSyncService { ret = receiver.save() && ModifyLogService.me.save(receiver, null, Enums.DataOpType.SAVE.getId(), tokenuser); - if(!ret){ + if (!ret) { return false; } } @@ -511,7 +502,7 @@ public class SysuserSyncService extends BaseSyncService { synctask.addUpdateData(chkobj); synctask.addUpdateData(customer); - if(StrKit.notBlank(receiver_name, receiver_phone, receiver_address)) { + if (StrKit.notBlank(receiver_name, receiver_phone, receiver_address)) { CustomerReceiver receiver = CustomerReceiver.dao.findFirst( "select * from customer_receiver t where t.customer_id = ? limit 1", customer.getId());