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

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

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

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

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

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

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

@ -19,6 +19,9 @@ import cc.yunxi.mapper.RecycleOrderMapper;
import cc.yunxi.service.*; import cc.yunxi.service.*;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; 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.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -61,6 +64,9 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
@Resource @Resource
private IHousingEstateService housingEstateService; private IHousingEstateService housingEstateService;
@Resource
private IEnterpriseService enterpriseService;
/** /**
* *
* UNPROCESSED | FINISHED | CANCELED * UNPROCESSED | FINISHED | CANCELED
@ -185,7 +191,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
recycleOrder.setOrderStatus(OrderStatusEnum.PENDING); recycleOrder.setOrderStatus(OrderStatusEnum.PENDING);
recycleOrder.setCreatorTime(now); recycleOrder.setCreatorTime(now);
log.info("create recycleOrder info : {}", recycleOrder); log.info("create recycleOrder info : {}", recycleOrder);
this.save(recycleOrder); this.saveRecycleOrder(recycleOrder, recycleStation.getEnterpriseId());
// 创建订单明细 // 创建订单明细
String orderId = recycleOrder.getId(); String orderId = recycleOrder.getId();
@ -226,7 +232,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
recycleOrder.setOrderType(OrderTypeEnum.TM_RECOVERY); recycleOrder.setOrderType(OrderTypeEnum.TM_RECOVERY);
recycleOrder.setOrderStatus(OrderStatusEnum.UNPROCESSED); recycleOrder.setOrderStatus(OrderStatusEnum.UNPROCESSED);
recycleOrder.setCreatorTime(LocalDateTime.now()); recycleOrder.setCreatorTime(LocalDateTime.now());
this.save(recycleOrder); this.saveRecycleOrder(recycleOrder, housingInfo.getEnterpriseId());
return recycleOrder.getId(); return recycleOrder.getId();
} }
@ -257,7 +263,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
recycleOrder.setOrderStatus(OrderStatusEnum.FINISHED); // 直接完成 recycleOrder.setOrderStatus(OrderStatusEnum.FINISHED); // 直接完成
recycleOrder.setCreatorTime(now); recycleOrder.setCreatorTime(now);
recycleOrder.setCompleteTime(now); // 完成时间 recycleOrder.setCompleteTime(now); // 完成时间
this.save(recycleOrder); this.saveRecycleOrder(recycleOrder, recycler.getCompanyId());
// 创建订单明细 // 创建订单明细
String orderId = recycleOrder.getId(); 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