package com.malk.huagao.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.malk.huagao.entity.*;
import com.malk.huagao.mapper.KdYdOrderDetailMapper;
import com.malk.huagao.mapper.KdYdOrderMapper;
import com.malk.huagao.mapper.KdYdOrderPaymentMapper;
import com.malk.huagao.service.IKdYdOrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.malk.server.aliwork.YDConf;
import com.malk.server.aliwork.YDParam;
import com.malk.server.dingtalk.DDR_New;
import com.malk.service.aliwork.YDClient;
import com.malk.utils.UtilMap;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
*
* 服务实现类
*
*
* @author LQY
* @since 2025-10-15
*/
@Service
public class KdYdOrderServiceImpl extends ServiceImpl implements IKdYdOrderService {
@Autowired
private YDClient ydClient;
@Autowired
private KdYdOrderMapper kdYdOrderMapper;
@Autowired
private KdYdOrderDetailMapper kdYdOrderDetailMapper;
@Autowired
private KdYdOrderPaymentMapper kdYdOrderPaymentMapper;
@Override
public void insertkdYdOrder(Map map) {
MDC.put("MDC_KEY_PID", "1003");
String formInstId = UtilMap.getString(map, "formInstId");
String type = UtilMap.getString(map, "type");
if ("3".equals(type)) {
String bm = UtilMap.getString(map, "bm");
KdYdOrder kdYdOrder = new KdYdOrder();
kdYdOrder.setOperationType("3");
kdYdOrder.setSyncStatus("0");
kdYdOrderMapper.update(kdYdOrder, new LambdaQueryWrapper().eq(KdYdOrder::getDjbh, bm));
return; // 或者根据你的业务逻辑返回相应的结果
}
DDR_New ddrNew = ydClient.queryData(YDParam.builder()
.formInstId(formInstId)
.build(), YDConf.FORM_QUERY.retrieve_id);
Map formData = ddrNew.getFormData();
String djlx = UtilMap.getString(formData, "selectField_mejowmna");
String khmc = UtilMap.getString(formData, "textField_mejnamf2");
String djbh = UtilMap.getString(formData, "serialNumberField_mewfgzku");
if("2".equals(type)){
djbh = UtilMap.getString(formData, "textField_miwvnkep");
}
LocalDateTime rq = parseTimestamp(UtilMap.getString(formData, "dateField_mejowmnb"));
String khxypj = UtilMap.getString(formData, "selectField_mewirdx4");
String ywlx = UtilMap.getString(formData, "textField_mfxv2vfz");
String xsy = UtilMap.getString(formData, "employeeField_mejowmng").replace("[\"", "").replace("\"]", "").trim();
String xslx = UtilMap.getString(formData, "selectField_mejowmnc");
String bzq = UtilMap.getString(formData, "selectField_mf6gyfkq");
String xsbm = UtilMap.getString(formData, "departmentSelectField_mfxv2vfu").replace("[\"", "").replace("\"]", "").trim();
String bz = UtilMap.getString(formData, "textareaField_mejnamfb");
String jsbb = UtilMap.getString(formData, "selectField_mejowmnk");
String sktj = UtilMap.getString(formData, "selectField_mgisux07");
String zdzkestr = UtilMap.getString(formData, "numberField_mejowmni");
BigDecimal zdzke = toBigDecimal(zdzkestr);
// String fj = UtilMap.getString(formData, "attachmentField_mfoqcctz");
// JSONArray array = JSONObject.parseArray(fj);
// List resultList = new ArrayList<>();
// if(array != null){
// for (int i = 0; i < array.size(); i++) {
// JSONObject jsonObject = array.getJSONObject(i);
// String url = jsonObject.getString("url");
// String s = ydClient.convertTemporaryUrl(url, 3600000);
// resultList.add(s);
// }
// }
// if(StringUtils.isNotBlank(fj)){
// List