回收订单数据隔离字段维护

door
LI-CCONG\李聪聪 7 months ago
parent 57a02880dd
commit e7b1de4f58

@ -26,10 +26,14 @@ import lombok.Setter;
@ApiModel(value = "Enterprise对象", description = "企业(商户)信息")
public class Enterprise {
@ApiModelProperty("自然主键")
@ApiModelProperty("商户id")
@TableId(value = "f_id", type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty("商户pid")
@TableId(value = "f_parent_id", type = IdType.ASSIGN_ID)
private String pid;
@ApiModelProperty("商户代码")
@TableField("f_en_code")
private String enterpriseCode;

@ -71,6 +71,10 @@ public class HousingEstate {
@TableField("station_id")
private String stationId;
@ApiModelProperty("所属商户id")
@TableField("enterprise_id")
private String enterpriseId;
// @ApiModelProperty("有效标志(0-禁用1-启用)")
// @TableField("enabled_mark")
// private Integer enabledMark;

@ -143,6 +143,14 @@ public class RecycleOrder {
@TableField("remark")
private String remark;
@ApiModelProperty("数据隔离1")
@TableField("company_id")
private String companyId;
@ApiModelProperty("数据隔离2")
@TableField("organize_json_id")
private String organizeJsonId;
// @ApiModelProperty("综合评分")
// @TableField("star_score")
// private Integer starScore;

@ -62,4 +62,8 @@ public class Recycler {
@ApiModelProperty("wxopenid")
private String openid;
@ApiModelProperty("商户id")
@TableField("company_id")
private String companyId;
}

@ -25,7 +25,7 @@ public interface IEnterpriseService extends IService<Enterprise> {
* @param enterpriseId
* @return Enterprise
*/
Enterprise getEnterpriseById(String enterpriseId);
Enterprise getEnterpriseById(String enterpriseId, Boolean isLock);
/**

@ -46,18 +46,20 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterpr
if (StrUtil.isEmpty(enterpriseId)) {
throw new BizIllegalException("回收站点未绑定商户");
}
return this.getEnterpriseById(enterpriseId);
return this.getEnterpriseById(enterpriseId, true);
}
@Override
public Enterprise getEnterpriseById(String enterpriseId) {
public Enterprise getEnterpriseById(String enterpriseId, Boolean isLock) {
if (StrUtil.isEmpty(enterpriseId)) {
throw new BizIllegalException("参数缺失");
}
LambdaQueryWrapper<Enterprise> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Enterprise::getId, enterpriseId);
wrapper.eq(Enterprise::getStatus, GlobalStatusEnum.VALID.getCode());
if (isLock) {
wrapper.last("for update");
}
Enterprise enterprise = getOne(wrapper);
if (ObjectUtil.isEmpty(enterprise)) {
throw new BizIllegalException("商户不存在或已被禁用");
@ -71,7 +73,7 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterpr
public void rechargeBalance(String merchantId, Integer amount) {
LocalDateTime now = LocalDateTime.now();
// 余额充值
Enterprise enterprise = this.getEnterpriseById(merchantId);
Enterprise enterprise = this.getEnterpriseById(merchantId, true);
BigDecimal fund = enterprise.getFund();
BigDecimal rechargeAmount = new BigDecimal(amount);
fund = fund.add(rechargeAmount);

@ -19,6 +19,9 @@ import cc.yunxi.mapper.RecycleOrderMapper;
import cc.yunxi.service.*;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -61,6 +64,9 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
@Resource
private IHousingEstateService housingEstateService;
@Resource
private IEnterpriseService enterpriseService;
/**
*
* UNPROCESSED | FINISHED | CANCELED
@ -185,7 +191,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
recycleOrder.setOrderStatus(OrderStatusEnum.PENDING);
recycleOrder.setCreatorTime(now);
log.info("create recycleOrder info : {}", recycleOrder);
this.save(recycleOrder);
this.saveRecycleOrder(recycleOrder, recycleStation.getEnterpriseId());
// 创建订单明细
String orderId = recycleOrder.getId();
@ -226,7 +232,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
recycleOrder.setOrderType(OrderTypeEnum.TM_RECOVERY);
recycleOrder.setOrderStatus(OrderStatusEnum.UNPROCESSED);
recycleOrder.setCreatorTime(LocalDateTime.now());
this.save(recycleOrder);
this.saveRecycleOrder(recycleOrder, housingInfo.getEnterpriseId());
return recycleOrder.getId();
}
@ -257,7 +263,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
recycleOrder.setOrderStatus(OrderStatusEnum.FINISHED); // 直接完成
recycleOrder.setCreatorTime(now);
recycleOrder.setCompleteTime(now); // 完成时间
this.save(recycleOrder);
this.saveRecycleOrder(recycleOrder, recycler.getCompanyId());
// 创建订单明细
String orderId = recycleOrder.getId();
@ -433,4 +439,19 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
}
}
// 保存订单
private void saveRecycleOrder(RecycleOrder recycleOrder, String enterpriseId) {
Enterprise enterprise = enterpriseService.getEnterpriseById(enterpriseId, false);
String companyId = enterprise.getId();
String companyPid = enterprise.getPid();
JSONArray jsonArray = JSONUtil.createArray();
jsonArray.add(companyPid);
jsonArray.add(companyId);
String organizeJsonId = jsonArray.toJSONString(0);
recycleOrder.setCompanyId(companyId);
recycleOrder.setOrganizeJsonId(organizeJsonId);
this.save(recycleOrder);
}
}

Loading…
Cancel
Save