dev
parent
8ecb4619e1
commit
2e02bcda4a
|
|
@ -25,7 +25,7 @@ public class CustomerValidator extends CrudParamValidator {
|
|||
validateString("name", 1, 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, 255, "texpayer_name", "texpayer_name 长度 0~255");
|
||||
validateString("texpayer_name", 1, 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");
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public class TransportCompanyValidator extends CrudParamValidator {
|
|||
|
||||
validateString("address", 0, 256, "address", "address 长度 0~256");
|
||||
validateString("phone", 0, 11, "phone", "phone 长度 0~11");
|
||||
validateString("texpayer_name", 0, 255, "texpayer_name", "texpayer_name 长度 0~255");
|
||||
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");
|
||||
validateString("bank_account", 0, 20, "bank_account", "bank_account 长度 0~20");
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ import com.jfinal.log.Log;
|
|||
import com.jfinal.plugin.activerecord.Db;
|
||||
import com.jfinal.plugin.activerecord.IAtom;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class InvoiceReceiveSyncService extends BaseSyncService {
|
||||
private static Log log = Log.getLog(InvoiceReceiveSyncService.class);
|
||||
public static InvoiceReceiveSyncService me = new InvoiceReceiveSyncService();
|
||||
|
|
|
|||
|
|
@ -51,6 +51,29 @@ public class SysuserController extends Controller {
|
|||
renderJson(SysuserSyncService.me.save(model, tokenuser));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增 sysuser
|
||||
*/
|
||||
@Before(SysuserCustomerValidator.class)
|
||||
public void saveCustomer() {
|
||||
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
|
||||
|
||||
if (tokenuser == null) {
|
||||
renderJson(Result.noauth());
|
||||
return;
|
||||
}
|
||||
|
||||
Sysuser model = getModel(Sysuser.class, "", true); // 忽略不在model中的字段
|
||||
|
||||
String texpayer_name = get("texpayer_name");
|
||||
String receiver_name = get("receiver_name");
|
||||
String receiver_phone = get("receiver_phone");
|
||||
String receiver_address = get("receiver_address");
|
||||
|
||||
renderJson(SysuserSyncService.me.saveCustomer(model, texpayer_name, receiver_name, receiver_phone, receiver_address, tokenuser));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除 sysuser
|
||||
*/
|
||||
|
|
@ -99,6 +122,24 @@ public class SysuserController extends Controller {
|
|||
renderJson(SysuserSyncService.me.update(model, tokenuser));
|
||||
}
|
||||
|
||||
@Before(SysuserCustomerValidator.class)
|
||||
public void editCustomer() {
|
||||
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
|
||||
|
||||
if (tokenuser == null) {
|
||||
renderJson(Result.noauth());
|
||||
return;
|
||||
}
|
||||
|
||||
String texpayer_name = get("texpayer_name");
|
||||
String receiver_name = get("receiver_name");
|
||||
String receiver_phone = get("receiver_phone");
|
||||
String receiver_address = get("receiver_address");
|
||||
|
||||
Sysuser model = getModel(Sysuser.class, "", true); // 忽略不在model中的字段
|
||||
renderJson(SysuserSyncService.me.updateCustomer(model, texpayer_name, receiver_name, receiver_phone, receiver_address, tokenuser));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查找 sysuser
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
package com.cowr.service.ssjygl.system.sysuser;
|
||||
|
||||
import com.cowr.common.utils.StrUtil;
|
||||
import com.cowr.common.validator.CrudParamValidator;
|
||||
import com.cowr.common.view.Result;
|
||||
import com.jfinal.core.Controller;
|
||||
import com.jfinal.kit.StrKit;
|
||||
|
||||
public class SysuserCustomerValidator extends CrudParamValidator {
|
||||
@Override
|
||||
protected void validate(Controller c) {
|
||||
validateRegex("phone", StrUtil.regphone, "phone", "phone 必须为手机号格式");
|
||||
validateString("name", 1, 8, "name", "name 长度1~8"); // 必填项,字段长度必须大于0,不能超过最大长度
|
||||
|
||||
validateString("texpayer_name", 1, 128, "texpayer_name", "texpayer_name 长度 0~128");
|
||||
validateString("receiver_name", 0, 128, "receiver_name", "receiver_name 长度 1~128");
|
||||
validateString("receiver_address", 0, 256, "receiver_address", "receiver_address 长度 0~256");
|
||||
|
||||
if (StrKit.notBlank(c.get("receiver_phone"))) {
|
||||
validateRegex("receiver_phone", StrUtil.regphone, "receiver_phone", "receiver_phone 必须为手机号格式");
|
||||
}
|
||||
}
|
||||
|
||||
protected void handleError(Controller c) {
|
||||
c.renderJson(Result.failed(getErrmsg()));
|
||||
}
|
||||
}
|
||||
|
|
@ -359,6 +359,214 @@ public class SysuserSyncService extends BaseSyncService {
|
|||
}
|
||||
|
||||
|
||||
public Result saveCustomer(
|
||||
Sysuser model,
|
||||
String texpayer_name,
|
||||
String receiver_name,
|
||||
String receiver_phone,
|
||||
String receiver_address,
|
||||
Sysuser tokenuser
|
||||
) {
|
||||
try {
|
||||
if (model.checkDuplicate("phone")) {
|
||||
return Result.failed(false, "手机号已存在");
|
||||
}
|
||||
|
||||
model.setType(UserTypeEnum.CUSTOMER.getTypeid());
|
||||
model.setRole(RoleEnum.CUSTOMER.getRoleid());
|
||||
model.setPassword(getPwdMD5(model.getPhone(), Const.DEFAULT_PASSWORD));
|
||||
model.remove("id"); // 避免前端传 id
|
||||
|
||||
Customer customer = new Customer();
|
||||
customer.setName(texpayer_name);
|
||||
customer.setTexpayerName(texpayer_name);
|
||||
|
||||
if (customer.checkDuplicate("name")) {
|
||||
return Result.failed(false, "名称已存在");
|
||||
}
|
||||
|
||||
if (customer.checkDuplicate("texpayer_name")) {
|
||||
return Result.failed(false, "名称已存在");
|
||||
}
|
||||
|
||||
boolean ret = Db.tx(new IAtom() {
|
||||
@Override
|
||||
public boolean run() throws SQLException {
|
||||
try {
|
||||
SyncTask synctask = new SyncTask();
|
||||
|
||||
boolean ret = customer.save();
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(StrKit.notBlank(receiver_name, receiver_phone, receiver_address)){
|
||||
CustomerReceiver receiver = new CustomerReceiver();
|
||||
receiver.setCustomerId(model.getId());
|
||||
receiver.setName(receiver_name);
|
||||
receiver.setPhone(receiver_phone);
|
||||
receiver.setAddress(receiver_address);
|
||||
|
||||
synctask.addSaveData(receiver);
|
||||
|
||||
ret = receiver.save() && ModifyLogService.me.save(receiver, null, Enums.DataOpType.SAVE.getId(), tokenuser);
|
||||
|
||||
if(!ret){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
model.setEntityId(customer.getId());
|
||||
|
||||
synctask.addSaveData(model);
|
||||
synctask.addSaveData(customer);
|
||||
|
||||
return model.save() && SyncTaskService.me.save(synctask)
|
||||
&& ModifyLogService.me.save(model, null, Enums.DataOpType.SAVE.getId(), tokenuser);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (ret) {
|
||||
model.setPassword(null);
|
||||
|
||||
return Result.object(model);
|
||||
}
|
||||
|
||||
return Result.failed(false, "新增失败");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
if (e.getMessage().contains("PRIMARY")) {
|
||||
return Result.failed(false, "主键冲突");
|
||||
}
|
||||
if (e.getMessage().contains("Duplicate entry")) {
|
||||
return Result.failed(false, "存在重复数据");
|
||||
} else {
|
||||
return Result.failed(false, e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Result updateCustomer(
|
||||
Sysuser model,
|
||||
String texpayer_name,
|
||||
String receiver_name,
|
||||
String receiver_phone,
|
||||
String receiver_address,
|
||||
Sysuser tokenuser
|
||||
) {
|
||||
try {
|
||||
Sysuser old = model.findByColumns("phone");
|
||||
Sysuser chkobj = model.findByPk(); // 按 id 找到旧的对象
|
||||
|
||||
// 注意这里有 !,找到后才做 update 操作
|
||||
if (chkobj == null) {
|
||||
return Result.failed(false, "按主键未找到对应记录");
|
||||
}
|
||||
|
||||
// 按手机号查出来的记录,不是当前更新的记录
|
||||
if (old != null && !old.getId().equals(model.getId())) {
|
||||
return Result.failed(false, "手机号已存在");
|
||||
}
|
||||
|
||||
Customer customer = Customer.dao.findById(chkobj.getEntityId());
|
||||
|
||||
if (customer == null) {
|
||||
return Result.failed(false, "entity_id 未找到对应值");
|
||||
}
|
||||
|
||||
if (StrKit.notBlank(texpayer_name)) {
|
||||
Customer chk = Customer.dao.findFirst("select * from customer where texpayer_name = ? limit 1 ", texpayer_name);
|
||||
|
||||
if (chk != null && !customer.getId().equals(chk.getId())) {
|
||||
return Result.failed("名称已存在");
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: 修改手机号码,必须重置密码
|
||||
if (model.getPhone() != null && !model.getPhone().equals(chkobj.getPhone())) {
|
||||
chkobj.setPassword(getPwdMD5(model.getPhone(), Const.DEFAULT_PASSWORD));
|
||||
}
|
||||
|
||||
customer.setName(texpayer_name);
|
||||
customer.setTexpayerName(texpayer_name);
|
||||
model.remove("password"); // 更新用户信息,不更新密码
|
||||
|
||||
for (String key : model._getAttrNames()) {
|
||||
if (model.get(key) != null) {
|
||||
chkobj.set(key, model.get(key));
|
||||
}
|
||||
}
|
||||
|
||||
boolean ret = Db.tx(new IAtom() {
|
||||
@Override
|
||||
public boolean run() {
|
||||
boolean ret = chkobj.update() && customer.update();
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
|
||||
SyncTask synctask = new SyncTask();
|
||||
synctask.addUpdateData(chkobj);
|
||||
synctask.addUpdateData(customer);
|
||||
|
||||
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());
|
||||
|
||||
if (receiver == null) {
|
||||
receiver = new CustomerReceiver();
|
||||
receiver.setCustomerId(model.getId());
|
||||
receiver.setName(receiver_name);
|
||||
receiver.setPhone(receiver_phone);
|
||||
receiver.setAddress(receiver_address);
|
||||
synctask.addSaveData(receiver);
|
||||
|
||||
ret = receiver.save()
|
||||
&& ModifyLogService.me.save(receiver, null, Enums.DataOpType.SAVE.getId(), tokenuser);
|
||||
} else {
|
||||
CustomerReceiver oldreceiver = receiver.clone();
|
||||
receiver.setName(receiver_name);
|
||||
receiver.setPhone(receiver_phone);
|
||||
receiver.setAddress(receiver_address);
|
||||
synctask.addUpdateData(receiver);
|
||||
|
||||
ret = receiver.update()
|
||||
&& ModifyLogService.me.save(receiver, oldreceiver, Enums.DataOpType.UPDATE.getId(), tokenuser);
|
||||
}
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return SyncTaskService.me.save(synctask)
|
||||
&& ModifyLogService.me.save(chkobj, old, Enums.DataOpType.UPDATE.getId(), tokenuser);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
chkobj.remove("password"); // 更新用户信息,不更新密码
|
||||
|
||||
return ret ? Result.object(chkobj) : Result.failed(false, "编辑失败");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
if (e.getMessage().contains("PRIMARY")) {
|
||||
return Result.failed(false, "主键冲突");
|
||||
}
|
||||
if (e.getMessage().contains("Duplicate entry")) {
|
||||
return Result.failed(false, "存在重复数据");
|
||||
} else {
|
||||
return Result.failed(false, e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 恢复被逻辑删除的数据
|
||||
*
|
||||
|
|
@ -565,7 +773,7 @@ public class SysuserSyncService extends BaseSyncService {
|
|||
|
||||
if (sysuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
|
||||
Redis.use().setex(tokenrediskey(token), customerExpireAt, sysuser);
|
||||
}else{
|
||||
} else {
|
||||
Redis.use().setex(tokenrediskey(token), expireAt, sysuser);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,5 @@ synctask.enable=true
|
|||
|
||||
# 在零点检查前一天未完成的集团订单,将开始执行的置为已完成,将未开始的置为取消
|
||||
checkundonordercluster.job=com.cowr.service.ssjygl.jobs.CheckUndonOrderclusterJob
|
||||
#checkundonordercluster.cron= 1 0 0 * * ?
|
||||
checkundonordercluster.cron= 1 0 * * * ?
|
||||
checkundonordercluster.cron= 1 0 0 * * ?
|
||||
checkundonordercluster.enable=true
|
||||
Loading…
Reference in New Issue