wuxw
2022-11-26 26078e3149d568d8cebc4cbfda3d23921d3ec744
service-common/src/main/java/com/java110/common/cmd/machine/GetCarMachineQrCodeUrl.java
@@ -19,8 +19,11 @@
import com.java110.common.bmo.machine.IMachineOpenDoorBMO;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.CommunitySettingFactory;
import com.java110.core.log.LoggerFactory;
import com.java110.dto.communitySetting.CommunitySettingDto;
import com.java110.dto.parkingBoxArea.ParkingBoxAreaDto;
import com.java110.dto.smallWeChat.SmallWeChatDto;
import com.java110.intf.community.IParkingBoxAreaV1InnerServiceSMO;
@@ -31,11 +34,8 @@
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.slf4j.Logger;
import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import java.util.ArrayList;
import java.util.List;
/**
@@ -49,7 +49,7 @@
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "machine.getCarMachineQrCodeUrl")
public class GetCarMachineQrCodeUrl extends AbstractServiceCmdListener {
public class GetCarMachineQrCodeUrl extends Cmd {
    private static Logger logger = LoggerFactory.getLogger(GetCarMachineQrCodeUrl.class);
@@ -62,6 +62,7 @@
    private ISmallWeChatInnerServiceSMO smallWeChatInnerServiceSMOImpl;
    @Autowired
    private IParkingBoxAreaV1InnerServiceSMO parkingBoxAreaV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
@@ -77,11 +78,20 @@
        smallWeChatDto.setWeChatType(SmallWeChatDto.WECHAT_TYPE_PUBLIC);
        List<SmallWeChatDto> smallWeChatDtos = smallWeChatInnerServiceSMOImpl.querySmallWeChats(smallWeChatDto);
        String ownerUrl = MappingCache.getValue("OWNER_WECHAT_URL");
        ownerUrl += ("/#/pages/tempParkingFee/tempParkingFee?paId="+ getPaIds(reqJson));
        if(smallWeChatDtos != null && smallWeChatDtos.size()> 0){
            ownerUrl += ("&appId="+smallWeChatDtos.get(0).getAppId());
        ownerUrl += ("/#/pages/fee/tempParkingFee?paId=" + getPaIds(reqJson)+"&communityId="+reqJson.getString("communityId"));
        if (smallWeChatDtos != null && smallWeChatDtos.size() > 0) {
            ownerUrl += ("&appId=" + smallWeChatDtos.get(0).getAppId());
        }
        reqJson.put("url",ownerUrl);
        if (reqJson.containsKey("machineId") && !"-1".equals(reqJson.getString("machineId"))) {
            ownerUrl += ("&machineId=" + reqJson.getString("machineId"));
        }
        String aliAppId = CommunitySettingFactory.getValue(reqJson.getString("communityId"),"APP_ID");
       if( !StringUtil.isEmpty(aliAppId)){
           ownerUrl += ("&aliAppId=" + aliAppId);
       }
        reqJson.put("url", ownerUrl);
        cmdDataFlowContext.setResponseEntity(ResultVo.createResponseEntity(reqJson));
    }