package com.java110.api.bmo.complaint.impl; import com.alibaba.fastjson.JSONObject; import com.java110.api.bmo.ApiBaseBMO; import com.java110.api.bmo.IApiBaseBMO; import com.java110.api.bmo.complaint.IComplaintBMO; import com.java110.core.context.DataFlowContext; import com.java110.core.factory.GenerateCodeFactory; import com.java110.core.smo.complaint.IComplaintInnerServiceSMO; import com.java110.core.smo.complaintUser.IComplaintUserInnerServiceSMO; import com.java110.dto.complaint.ComplaintDto; import com.java110.po.complaint.ComplaintPo; import com.java110.utils.constant.BusinessTypeConstant; import com.java110.utils.constant.CommonConstant; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @ClassName ComplaintBMOImpl * @Description TODO * @Author wuxw * @Date 2020/3/9 22:13 * @Version 1.0 * add by wuxw 2020/3/9 **/ @Service("complaintBMOImpl") public class ComplaintBMOImpl extends ApiBaseBMO implements IComplaintBMO { @Autowired private IComplaintInnerServiceSMO complaintInnerServiceSMOImpl; /** * 添加投诉建议信息 * * @param paramInJson 接口调用放传入入参 * @param dataFlowContext 数据上下文 * @return 订单服务能够接受的报文 */ public void updateComplaint(JSONObject paramInJson, DataFlowContext dataFlowContext) { ComplaintDto complaintDto = new ComplaintDto(); complaintDto.setStoreId(paramInJson.getString("storeId")); complaintDto.setCommunityId(paramInJson.getString("communityId")); complaintDto.setComplaintId(paramInJson.getString("complaintId")); List complaintDtos = complaintInnerServiceSMOImpl.queryComplaints(complaintDto); Assert.listOnlyOne(complaintDtos, "存在多条记录,或不存在数据" + complaintDto.getComplaintId()); JSONObject businessComplaint = new JSONObject(); businessComplaint.putAll(BeanConvertUtil.beanCovertMap(complaintDtos.get(0))); businessComplaint.put("state", "10002"); ComplaintPo complaintPo = BeanConvertUtil.covertBean(businessComplaint, ComplaintPo.class); super.update(dataFlowContext, complaintPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_COMPLAINT); } /** * 添加小区信息 * * @param paramInJson 接口调用放传入入参 * @param dataFlowContext 数据上下文 * @return 订单服务能够接受的报文 */ public void deleteComplaint(JSONObject paramInJson, DataFlowContext dataFlowContext) { ComplaintPo complaintPo = BeanConvertUtil.covertBean(paramInJson, ComplaintPo.class); super.delete(dataFlowContext, complaintPo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_COMPLAINT); } /** * 添加小区信息 * * @param paramInJson 接口调用放传入入参 * @param dataFlowContext 数据上下文 * @return 订单服务能够接受的报文 */ public void addComplaint(JSONObject paramInJson, DataFlowContext dataFlowContext) { paramInJson.put("complaintId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_complaintId)); paramInJson.put("state", "10001"); ComplaintPo complaintPo = BeanConvertUtil.covertBean(paramInJson, ComplaintPo.class); super.insert(dataFlowContext, complaintPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_COMPLAINT); } /** * 添加投诉建议信息 * * @param paramInJson 接口调用放传入入参 * @param dataFlowContext 数据上下文 * @return 订单服务能够接受的报文 */ public void upComplaint(JSONObject paramInJson, DataFlowContext dataFlowContext) { ComplaintDto complaintDto = new ComplaintDto(); complaintDto.setStoreId(paramInJson.getString("storeId")); complaintDto.setComplaintId(paramInJson.getString("complaintId")); List complaintDtos = complaintInnerServiceSMOImpl.queryComplaints(complaintDto); Assert.listOnlyOne(complaintDtos, "存在多条记录,或不存在数据" + complaintDto.getComplaintId()); JSONObject businessComplaint = new JSONObject(); businessComplaint.putAll(paramInJson); businessComplaint.put("state", complaintDtos.get(0).getState()); businessComplaint.put("roomId", complaintDtos.get(0).getRoomId()); ComplaintPo complaintPo = BeanConvertUtil.covertBean(paramInJson, ComplaintPo.class); super.update(dataFlowContext, complaintPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_COMPLAINT); } }