修改客户到超市距离
parent
27123ba0b6
commit
d8d13563b8
|
|
@ -0,0 +1,14 @@
|
|||
package com.cowr.model;
|
||||
|
||||
import com.cowr.model.base.BaseSupermarketCustomerDistance;
|
||||
|
||||
/**
|
||||
* Generated by COWR Tue Aug 25 17:27:08 CST 2020
|
||||
* TableName: supermarket_customer_distance
|
||||
* Remarks: 基础配置 - 超市到客户的距离
|
||||
* PrimaryKey: supermarket_id,customer_id
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public class SupermarketCustomerDistance extends BaseSupermarketCustomerDistance<SupermarketCustomerDistance> {
|
||||
public static final SupermarketCustomerDistance dao = new SupermarketCustomerDistance().dao();
|
||||
}
|
||||
|
|
@ -25,6 +25,8 @@ public class _MappingKit {
|
|||
arp.addMapping("product", "id", Product.class);
|
||||
// Composite Primary Key order: supermarket_id,customer_receiver_id
|
||||
arp.addMapping("supermarket_receiver_distance", "supermarket_id,customer_receiver_id", SupermarketReceiverDistance.class);
|
||||
// Composite Primary Key order: supermarket_id,customer_id
|
||||
arp.addMapping("supermarket_customer_distance", "supermarket_id,customer_id", SupermarketCustomerDistance.class);
|
||||
arp.addMapping("transport_company", "id", TransportCompany.class);
|
||||
// Composite Primary Key order: supermarket_id,sandfarm_id
|
||||
arp.addMapping("supermarket_sandfarm_distance", "supermarket_id,sandfarm_id", SupermarketSandfarmDistance.class);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,90 @@
|
|||
package com.cowr.model.base;
|
||||
|
||||
import com.cowr.common.base.BaseModel;
|
||||
import com.jfinal.plugin.activerecord.IBean;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
* Generated by COWR Tue Aug 25 17:27:08 CST 2020
|
||||
* TableName: supermarket_customer_distance
|
||||
* Remarks: 基础配置 - 超市到客户的距离
|
||||
* PrimaryKey: supermarket_id,customer_id
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public abstract class BaseSupermarketCustomerDistance<M extends BaseSupermarketCustomerDistance<M>> extends BaseModel<M> implements IBean {
|
||||
|
||||
public static final String tablename = "supermarket_customer_distance";
|
||||
|
||||
@JSONField(serialize=false)
|
||||
public String getTablename(){
|
||||
return tablename;
|
||||
}
|
||||
|
||||
/**
|
||||
* name: supermarket_id
|
||||
* type: INT(10)
|
||||
* isNullable: NO
|
||||
* isPrimaryKey: YES
|
||||
* defaultValue:
|
||||
* @param supermarketId 超市id
|
||||
*/
|
||||
@JSONField(name="supermarket_id")
|
||||
public void setSupermarketId(Integer supermarketId) {
|
||||
set("supermarket_id", supermarketId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return supermarket_id 超市id
|
||||
*/
|
||||
@JSONField(name="supermarket_id")
|
||||
public Integer getSupermarketId() {
|
||||
return getInt("supermarket_id");
|
||||
}
|
||||
|
||||
/**
|
||||
* name: customer_id
|
||||
* type: INT(10)
|
||||
* isNullable: NO
|
||||
* isPrimaryKey: YES
|
||||
* defaultValue:
|
||||
* @param customerId 客户收获地址id
|
||||
*/
|
||||
@JSONField(name="customer_id")
|
||||
public void setCustomerId(Integer customerId) {
|
||||
set("customer_id", customerId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return customer_id 客户收获地址id
|
||||
*/
|
||||
@JSONField(name="customer_id")
|
||||
public Integer getCustomerId() {
|
||||
return getInt("customer_id");
|
||||
}
|
||||
|
||||
/**
|
||||
* name: distance
|
||||
* type: DECIMAL(12,2)
|
||||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
* @param distance 运距
|
||||
*/
|
||||
@JSONField(name="distance")
|
||||
public void setDistance(java.math.BigDecimal distance) {
|
||||
set("distance", distance);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return distance 运距
|
||||
*/
|
||||
@JSONField(name="distance")
|
||||
public java.math.BigDecimal getDistance() {
|
||||
return get("distance");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -42,9 +42,12 @@ public class CustomerValidator extends CrudParamValidator {
|
|||
}
|
||||
validateString("memo", 0, 256, "memo", "memo 长度 0~256");
|
||||
|
||||
validateString("receiver_name", 1, 128, "receiver_name", "receiver_name 长度 1~128");
|
||||
validateString("receiver_address", 1, 256, "receiver_address", "receiver_address 长度 0~256");
|
||||
validateRegex("receiver_phone", StrUtil.regphone, "receiver_phone", "receiver_phone 必须为手机号格式");
|
||||
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 必须为手机号格式");
|
||||
}
|
||||
|
||||
// 使用 model 更新时,model 不能只有主键有值
|
||||
// 这里用 getActionMethodName 写死,判断是 update 时,才做验证
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
package com.cowr.ssjygl.supermarket.customerdistance;
|
||||
|
||||
|
||||
import com.cowr.common.validator.CrudParamValidator;
|
||||
import com.cowr.common.view.Result;
|
||||
import com.jfinal.core.Controller;
|
||||
|
||||
/**
|
||||
* Generated by COWR Tue Aug 25 17:27:14 CST 2020
|
||||
* TableName: supermarket_customer_distance
|
||||
* Remarks: 基础配置 - 超市到客户的距离
|
||||
* PrimaryKey: supermarket_id,customer_id
|
||||
*/
|
||||
public class SupermarketCustomerDistancePKValidator extends CrudParamValidator {
|
||||
@Override
|
||||
protected void validate(Controller c) {
|
||||
validateRequired("supermarket_id", "supermarket_id", "supermarket_id 必填");
|
||||
validateInteger("supermarket_id", 1, 2147483647, "supermarket_id", "supermarket_id 范围 1~2147483647");
|
||||
validateRequired("customer_id", "customer_id", "customer_id 必填");
|
||||
validateInteger("customer_id", 1, 2147483647, "customer_id", "customer_id 范围 1~2147483647");
|
||||
}
|
||||
|
||||
protected void handleError(Controller c) {
|
||||
c.renderJson(Result.failed(getErrmsg()));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
package com.cowr.ssjygl.supermarket.customerdistance;
|
||||
|
||||
import com.cowr.common.base.BaseService;
|
||||
import com.cowr.common.view.PageParam;
|
||||
import com.cowr.model.Supermarket;
|
||||
import com.jfinal.kit.StrKit;
|
||||
import com.jfinal.log.Log;
|
||||
import com.jfinal.plugin.activerecord.Db;
|
||||
import com.jfinal.plugin.activerecord.Page;
|
||||
import com.jfinal.plugin.activerecord.Record;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Generated by COWR Tue Aug 25 17:27:14 CST 2020
|
||||
* TableName: supermarket_customer_distance
|
||||
* Remarks: 基础配置 - 超市到客户的距离
|
||||
* PrimaryKey: supermarket_id,customer_id
|
||||
*/
|
||||
public class SupermarketCustomerDistanceService extends BaseService {
|
||||
public static final SupermarketCustomerDistanceService me = new SupermarketCustomerDistanceService();
|
||||
private static Log log = Log.getLog(SupermarketCustomerDistanceService.class);
|
||||
|
||||
public BigDecimal getDistance(Integer supermarket_id, Integer customer_id) {
|
||||
try {
|
||||
BigDecimal dis = Db.queryBigDecimal("select distance from supermarket_customer_distance " +
|
||||
" where supermarket_id = ? and customer_id = ?", supermarket_id, customer_id);
|
||||
|
||||
if (dis == null) {
|
||||
return new BigDecimal(0);
|
||||
}
|
||||
|
||||
return dis;
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
|
||||
return new BigDecimal(0);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 列出所砂站的
|
||||
*
|
||||
* @param pp
|
||||
* @param customer_id
|
||||
* @return
|
||||
*/
|
||||
public Record findAllSupermarket(PageParam pp, Integer customer_id, String customer_name) {
|
||||
List<Supermarket> cols = Supermarket.dao.find("select id, name, name2 from supermarket where del = 0");
|
||||
String selectsql = "select t.*, sr.supermarket_id, sr.distance ";
|
||||
String fromsql = " from customer t\n" +
|
||||
" left join (\n" +
|
||||
" select a.customer_id, group_concat(a.supermarket_id) supermarket_id, group_concat(a.distance) distance " +
|
||||
" from supermarket_customer_distance a\n" +
|
||||
" group by a.customer_id\n" +
|
||||
" ) sr on sr.customer_id = t.id \n" +
|
||||
" where 1=1 ";
|
||||
List<Object> paraList = new ArrayList<>();
|
||||
|
||||
if (customer_id != null) {
|
||||
fromsql += " and t.id = ? \n";
|
||||
paraList.add(customer_id);
|
||||
}
|
||||
|
||||
if (StrKit.notBlank(customer_name)) {
|
||||
fromsql += " and t.name like ? \n";
|
||||
paraList.add("%" + customer_name + "%");
|
||||
}
|
||||
|
||||
String totalRowSql = "select count(*) " + fromsql;
|
||||
String findSql = selectsql + fromsql;
|
||||
|
||||
Page<Record> page = Db.paginateByFullSql(pp.getPage(), pp.getSize(), totalRowSql, findSql, paraList.toArray());
|
||||
List<Record> list = page.getList();
|
||||
|
||||
for (Record record : list) {
|
||||
if (record.get("supermarket_id") != null) {
|
||||
String supermarket_arr = record.getStr("supermarket_id");
|
||||
String distance_arr = record.getStr("distance");
|
||||
|
||||
String[] sups = supermarket_arr.split(",");
|
||||
String[] diss = distance_arr.split(",");
|
||||
|
||||
if (sups.length != diss.length) {
|
||||
log.error("findAllSupermarket 数据错误");
|
||||
continue;
|
||||
}
|
||||
|
||||
for (int i = 0; i < sups.length; i++) {
|
||||
String id = sups[i];
|
||||
record.set("supermarket_id_" + id, diss[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Record out = new Record();
|
||||
out.set("cols", cols);
|
||||
out.set("page", page);
|
||||
|
||||
return out;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.cowr.ssjygl.supermarket.customerdistance;
|
||||
|
||||
import com.jfinal.core.Controller;
|
||||
import com.cowr.common.validator.CrudParamValidator;
|
||||
import com.cowr.common.view.Result;
|
||||
import com.cowr.model.SupermarketCustomerDistance;
|
||||
|
||||
/**
|
||||
* Generated by COWR Tue Aug 25 17:27:14 CST 2020
|
||||
* TableName: supermarket_customer_distance
|
||||
* Remarks: 基础配置 - 超市到客户的距离
|
||||
* PrimaryKey: supermarket_id,customer_id
|
||||
*/
|
||||
public class SupermarketCustomerDistanceValidator extends CrudParamValidator {
|
||||
@Override
|
||||
protected void validate(Controller c) {
|
||||
validateRequired("supermarket_id", "supermarket_id", "supermarket_id 必填");
|
||||
validateInteger("supermarket_id", 1, 2147483647, "supermarket_id", "supermarket_id 范围 1~2147483647");
|
||||
validateRequired("customer_id", "customer_id", "customer_id 必填");
|
||||
validateInteger("customer_id", 1, 2147483647, "customer_id", "customer_id 范围 1~2147483647");
|
||||
validateBigDecimal("distance", new java.math.BigDecimal(0), new java.math.BigDecimal(9.9999999999E10), "distance", "distance 范围 0~9.9999999999E10");
|
||||
|
||||
// 使用 model 更新时,model 不能只有主键有值
|
||||
// 这里用 getActionMethodName 写死,判断是 update 时,才做验证
|
||||
// 如果确实是需要将主键外的字段置为 null,可以在代码生成后删掉这段
|
||||
if ("edit".equals(getActionMethodName())) {
|
||||
validateUpdateModel(SupermarketCustomerDistance.class, "", true); // 忽略不在model中的字段
|
||||
}
|
||||
}
|
||||
|
||||
protected void handleError(Controller c) {
|
||||
c.renderJson(Result.failed(getErrmsg()));
|
||||
}
|
||||
}
|
||||
|
|
@ -30,6 +30,7 @@ public class Main {
|
|||
"customer",
|
||||
"customer_receiver",
|
||||
"supermarket_receiver_distance",
|
||||
"supermarket_customer_distance",
|
||||
"customer_contact",
|
||||
"prepay_customer",
|
||||
"prepay_detail",
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ import com.cowr.local.ssjygl.product.ProductController;
|
|||
import com.cowr.local.ssjygl.purchase.PurchaseController;
|
||||
import com.cowr.local.ssjygl.sandfarm.SandfarmController;
|
||||
import com.cowr.local.ssjygl.supermarket.SupermarketController;
|
||||
import com.cowr.local.ssjygl.supermarket.customerdistance.SupermarketCustomerDistanceController;
|
||||
import com.cowr.local.ssjygl.supermarket.receiverdistance.SupermarketReceiverDistanceController;
|
||||
import com.cowr.local.ssjygl.supermarket.sandfarmdistance.SupermarketSandfarmDistanceController;
|
||||
import com.cowr.local.ssjygl.supermarket.stock.StockController;
|
||||
|
|
@ -169,6 +170,7 @@ public class Config extends JFinalConfig {
|
|||
me.add("/supermarket", SupermarketController.class);
|
||||
me.add("/supermarket/ssd", SupermarketSandfarmDistanceController.class);
|
||||
me.add("/supermarket/srd", SupermarketReceiverDistanceController.class);
|
||||
me.add("/supermarket/scd", SupermarketCustomerDistanceController.class);
|
||||
me.add("/purchase", PurchaseController.class);
|
||||
me.add("/product", ProductController.class);
|
||||
me.add("/stock", StockController.class);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
package com.cowr.local.ssjygl.supermarket.customerdistance;
|
||||
|
||||
import com.cowr.common.view.PageParam;
|
||||
import com.cowr.common.view.Result;
|
||||
import com.cowr.ssjygl.supermarket.customerdistance.SupermarketCustomerDistanceService;
|
||||
import com.jfinal.core.Controller;
|
||||
|
||||
public class SupermarketCustomerDistanceController extends Controller {
|
||||
public void get(){
|
||||
Integer customer_id = getInt("customer_id");
|
||||
Integer supermarket_id = getInt("supermarket_id");
|
||||
renderJson(Result.success(SupermarketCustomerDistanceService.me.getDistance(supermarket_id, customer_id)));
|
||||
}
|
||||
|
||||
public void findAllSupermarket() {
|
||||
PageParam pp = getBean(PageParam.class, "", true);
|
||||
Integer customer_id = getInt("customer_id");
|
||||
String customer_name = get("customer_name");
|
||||
renderJson(Result.object(SupermarketCustomerDistanceService.me.findAllSupermarket(pp, customer_id, customer_name)));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
package com.cowr.service.ssjygl.customer;
|
||||
|
||||
import com.cowr.common.base.BaseModel;
|
||||
import com.cowr.common.enums.Enums;
|
||||
import com.cowr.common.view.Result;
|
||||
import com.cowr.model.Customer;
|
||||
|
|
@ -10,6 +9,7 @@ import com.cowr.model.Sysuser;
|
|||
import com.cowr.service.ssjygl.base.BaseSyncService;
|
||||
import com.cowr.service.ssjygl.synctask.SyncTaskService;
|
||||
import com.cowr.ssjygl.modifylog.ModifyLogService;
|
||||
import com.jfinal.kit.StrKit;
|
||||
import com.jfinal.log.Log;
|
||||
import com.jfinal.plugin.activerecord.Db;
|
||||
import com.jfinal.plugin.activerecord.IAtom;
|
||||
|
|
@ -43,21 +43,29 @@ public class CustomerSyncService extends BaseSyncService {
|
|||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
|
||||
CustomerReceiver receiver = new CustomerReceiver();
|
||||
receiver.setCustomerId(model.getId());
|
||||
receiver.setName(receiver_name);
|
||||
receiver.setPhone(receiver_phone);
|
||||
receiver.setAddress(receiver_address);
|
||||
|
||||
SyncTask synctask = new SyncTask();
|
||||
synctask.addSaveData(model);
|
||||
synctask.addSaveData(receiver);
|
||||
|
||||
return receiver.save()
|
||||
&& SyncTaskService.me.save(synctask)
|
||||
&& ModifyLogService.me.save(model, null, Enums.DataOpType.SAVE.getId(), sysuser)
|
||||
&& ModifyLogService.me.save(receiver, null, Enums.DataOpType.SAVE.getId(), sysuser);
|
||||
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(), sysuser);
|
||||
|
||||
if(!ret){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
synctask.addSaveData(model);
|
||||
|
||||
return SyncTaskService.me.save(synctask)
|
||||
&& ModifyLogService.me.save(model, null, Enums.DataOpType.SAVE.getId(), sysuser);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return false;
|
||||
|
|
@ -133,32 +141,37 @@ public class CustomerSyncService extends BaseSyncService {
|
|||
return false;
|
||||
}
|
||||
|
||||
CustomerReceiver receiver = CustomerReceiver.dao.findFirst(
|
||||
"select * from customer_receiver t where t.customer_id = ? limit 1", model.getId());
|
||||
|
||||
SyncTask synctask = new SyncTask();
|
||||
synctask.addUpdateData(model);
|
||||
|
||||
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);
|
||||
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());
|
||||
|
||||
ret = receiver.save();
|
||||
} else {
|
||||
receiver.setName(receiver_name);
|
||||
receiver.setPhone(receiver_phone);
|
||||
receiver.setAddress(receiver_address);
|
||||
synctask.addUpdateData(receiver);
|
||||
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.update();
|
||||
}
|
||||
ret = receiver.save()
|
||||
&& ModifyLogService.me.save(receiver, null, Enums.DataOpType.SAVE.getId(), sysuser);
|
||||
} else {
|
||||
CustomerReceiver oldreceiver = receiver.clone();
|
||||
receiver.setName(receiver_name);
|
||||
receiver.setPhone(receiver_phone);
|
||||
receiver.setAddress(receiver_address);
|
||||
synctask.addUpdateData(receiver);
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
ret = receiver.update()
|
||||
&& ModifyLogService.me.save(receiver, oldreceiver, Enums.DataOpType.UPDATE.getId(), sysuser);
|
||||
}
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return SyncTaskService.me.save(new SyncTask().addUpdateData(oldobj))
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import com.cowr.service.ssjygl.purchase.PurchaseController;
|
|||
import com.cowr.service.ssjygl.sandfarm.SandfarmController;
|
||||
import com.cowr.service.ssjygl.supermarket.SupermarketController;
|
||||
import com.cowr.service.ssjygl.supermarket.SupermarketSyncService;
|
||||
import com.cowr.service.ssjygl.supermarket.customerdistance.SupermarketCustomerDistanceController;
|
||||
import com.cowr.service.ssjygl.supermarket.receiverdistance.SupermarketReceiverDistanceController;
|
||||
import com.cowr.service.ssjygl.supermarket.sandfarmdistance.SupermarketSandfarmDistanceController;
|
||||
import com.cowr.service.ssjygl.supermarket.stock.StockController;
|
||||
|
|
@ -139,6 +140,7 @@ public class Config extends JFinalConfig {
|
|||
me.add("/supermarket", SupermarketController.class);
|
||||
me.add("/supermarket/ssd", SupermarketSandfarmDistanceController.class);
|
||||
me.add("/supermarket/srd", SupermarketReceiverDistanceController.class);
|
||||
me.add("/supermarket/scd", SupermarketCustomerDistanceController.class);
|
||||
me.add("/purchase", PurchaseController.class);
|
||||
me.add("/product", ProductController.class);
|
||||
me.add("/stock", StockController.class);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,66 @@
|
|||
package com.cowr.service.ssjygl.supermarket.customerdistance;
|
||||
|
||||
import com.cowr.common.base.BaseController;
|
||||
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.supermarket.customerdistance.SupermarketCustomerDistanceService;
|
||||
import com.cowr.ssjygl.supermarket.customerdistance.SupermarketCustomerDistanceValidator;
|
||||
import com.jfinal.aop.Before;
|
||||
|
||||
public class SupermarketCustomerDistanceController extends BaseController {
|
||||
public void get(){
|
||||
Integer customer_id = getInt("customer_id");
|
||||
Integer supermarket_id = getInt("supermarket_id");
|
||||
renderJson(Result.success(SupermarketCustomerDistanceService.me.getDistance(supermarket_id, customer_id)));
|
||||
}
|
||||
|
||||
public void findAllSupermarket() {
|
||||
PageParam pp = getBean(PageParam.class, "", true);
|
||||
Integer customer_id = getInt("customer_id");
|
||||
String customer_name = get("customer_name");
|
||||
renderJson(Result.object(SupermarketCustomerDistanceService.me.findAllSupermarket(pp, customer_id, customer_name)));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增 supermarket_receiver_distance 客户收获地址到每个砂站的距离
|
||||
*/
|
||||
@Before(SupermarketCustomerDistanceValidator.class)
|
||||
public void save(){
|
||||
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
|
||||
|
||||
if (tokenuser == null) {
|
||||
renderJson(Result.noauth());
|
||||
return;
|
||||
}
|
||||
|
||||
int customer_id = getInt("customer_id");
|
||||
int supermarket_id = getInt("supermarket_id");
|
||||
double distance = getParaToDouble("distance");
|
||||
|
||||
renderJson(SupermarketCustomerDistanceSyncService.me.save(customer_id, supermarket_id, distance, tokenuser));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 修改 supermarket_receiver_distance 客户收获地址到每个砂站的距离
|
||||
*/
|
||||
@Before(SupermarketCustomerDistanceValidator.class)
|
||||
public void edit(){
|
||||
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
|
||||
|
||||
if (tokenuser == null) {
|
||||
renderJson(Result.noauth());
|
||||
return;
|
||||
}
|
||||
|
||||
int customer_id = getInt("customer_id");
|
||||
int supermarket_id = getInt("supermarket_id");
|
||||
double distance = getParaToDouble("distance");
|
||||
|
||||
renderJson(SupermarketCustomerDistanceSyncService.me.update(customer_id, supermarket_id, distance, tokenuser));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
package com.cowr.service.ssjygl.supermarket.customerdistance;
|
||||
|
||||
import com.cowr.common.view.Result;
|
||||
import com.cowr.model.*;
|
||||
import com.cowr.service.ssjygl.base.BaseSyncService;
|
||||
import com.cowr.service.ssjygl.main.SvrCacheData;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class SupermarketCustomerDistanceSyncService extends BaseSyncService {
|
||||
public static SupermarketCustomerDistanceSyncService me = new SupermarketCustomerDistanceSyncService();
|
||||
|
||||
public Result save(int customer_id, int supermarket_id, double distance, Sysuser sysuser){
|
||||
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(supermarket_id);
|
||||
|
||||
if(supermarket == null){
|
||||
return Result.failed("未找到对应砂站信息");
|
||||
}
|
||||
|
||||
Customer customer = Customer.dao.findById(customer_id);
|
||||
|
||||
if(customer == null){
|
||||
return Result.failed("未找到对应的客户信息");
|
||||
}
|
||||
|
||||
SupermarketCustomerDistance model = new SupermarketCustomerDistance();
|
||||
model.setCustomerId(customer_id);
|
||||
model.setSupermarketId(supermarket_id);
|
||||
model.setDistance(new BigDecimal(distance));
|
||||
|
||||
return super.save(model, sysuser);
|
||||
}
|
||||
|
||||
public Result update(int customer_id, int supermarket_id, double distance, Sysuser sysuser){
|
||||
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(supermarket_id);
|
||||
|
||||
if(supermarket == null){
|
||||
return Result.failed("未找到对应砂站信息");
|
||||
}
|
||||
|
||||
Customer customer = Customer.dao.findById(customer_id);
|
||||
|
||||
if(customer == null){
|
||||
return Result.failed("未找到对应的客户信息");
|
||||
}
|
||||
|
||||
SupermarketCustomerDistance model = SupermarketCustomerDistance.dao.findFirst(
|
||||
"select * from supermarket_customer_distance t \n" +
|
||||
" where t.customer_id = ? and t.supermarket_id = ? limit 1", customer_id, supermarket_id);
|
||||
|
||||
if(model == null){
|
||||
model = new SupermarketCustomerDistance();
|
||||
model.setCustomerId(customer_id);
|
||||
model.setSupermarketId(supermarket_id);
|
||||
model.setDistance(new BigDecimal(distance));
|
||||
|
||||
return super.save(model, sysuser);
|
||||
}else{
|
||||
if(model.getDistance().compareTo(new BigDecimal(distance)) == 0){
|
||||
return Result.success("距离没有变化,不更新");
|
||||
}
|
||||
|
||||
model.setDistance(new BigDecimal(distance));
|
||||
return super.update(model, sysuser);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue