Selaa lähdekoodia

规格管理代码提交

cxd 7 kuukautta sitten
vanhempi
sitoutus
5181238dac

+ 1 - 5
gqy-admin/src/main/java/com/gqy/web/controller/document/DcSpecController.java

@@ -55,11 +55,7 @@ public class DcSpecController  extends BaseController {
      */
     @PostMapping("/update")
     public AjaxResult update(@RequestBody Map maps) {
-        logger.info("============DcSpecController=========maps========");
-        logger.info("============DcSpecController=========maps========");
-        logger.info("============DcSpecController=========maps========");
-
-        return toAjax(1);
+        return toAjax(iDcSpecService.updateDcSpecMaps(maps));
     }
 
 

+ 30 - 1
gqy-common/src/main/java/com/gqy/common/utils/bean/BeanUtils.java

@@ -42,7 +42,36 @@ public class BeanUtils extends org.springframework.beans.BeanUtils
     {
         try
         {
-            copyProperties(src, dest);
+            // 如果源对象是Map
+            if (src instanceof Map) {
+                Map<String, Object> map = (Map<String, Object>) src;
+                // 获取目标对象的所有属性描述符
+                PropertyDescriptor[] descriptors = Introspector.getBeanInfo(dest.getClass()).getPropertyDescriptors();
+
+                for (PropertyDescriptor descriptor : descriptors) {
+                    String propertyName = descriptor.getName();
+                    if (propertyName.equals("class")) {
+                        continue;
+                    }
+
+                    // 获取setter方法
+                    Method setter = descriptor.getWriteMethod();
+                    if (setter != null && map.containsKey(propertyName)) {
+                        Object value = map.get(propertyName);
+                        if (value != null) {
+                            // 获取setter方法的参数类型
+                            Class<?> paramType = setter.getParameterTypes()[0];
+                            // 转换值类型
+                            Object convertedValue = convertValue(value, paramType);
+                            // 设置属性值
+                            setter.invoke(dest, convertedValue);
+                        }
+                    }
+                }
+            } else {
+                // 原有的Bean到Bean复制逻辑
+                copyProperties(src, dest);
+            }
         }
         catch (Exception e)
         {

+ 26 - 2
gqy-system/src/main/java/com/gqy/document/service/impl/DcSpecServiceImpl.java

@@ -3,6 +3,7 @@ package com.gqy.document.service.impl;
 import com.gqy.common.annotation.Log;
 import com.gqy.common.enums.UserStatus;
 
+import com.gqy.common.utils.bean.BeanUtils;
 import com.gqy.document.domain.DcPsParam;
 import com.gqy.document.domain.DcSpec;
 import com.gqy.document.mapper.DcSpecMapper;
@@ -98,9 +99,32 @@ public class DcSpecServiceImpl implements IDcSpecService {
     }
 
 
+    /**
+     * 更新规格信息
+     * @param maps
+     * @return
+     */
     public int updateDcSpecMaps(Map maps){
-        String ps_id = maps.get("ps_id").toString();
-        DcSpec dcSpecQuery = dcSpecMapper.selectDcSpecById(Integer.valueOf(ps_id));
+        try{
+            String ps_id = maps.get("ps_id").toString();
+            DcSpec dcSpecQuery = dcSpecMapper.selectDcSpecById(Integer.valueOf(ps_id));
+            //Object dest, Object src
+            BeanUtils.copyBeanProp(dcSpecQuery,maps);
+            dcSpecMapper.updateDcSpec(dcSpecQuery);
+
+            String ps_no = maps.get("ps_no").toString();
+            DcPsParam dcPsParamQuery = new DcPsParam();
+            dcPsParamQuery.setPsp_mode(ps_no);
+            List<DcPsParam> listDcPsParam =  dcPsParamMapper.selectDcPsParamList(dcPsParamQuery);
+            DcPsParam dcPsParam = listDcPsParam.get(0);
+            BeanUtils.copyBeanProp(dcPsParam, maps);
+
+
+            dcPsParamMapper.updateDcPsParam(dcPsParam);
+            return 1;
+        }catch (Exception e){
+            e.printStackTrace();
+        }
         return 0;
     }
 

+ 1 - 0
gqy-system/src/main/resources/mapper/document/DcSpecMapper.xml

@@ -55,6 +55,7 @@
             <if test="ps_no != null">ps_no = #{ps_no},</if>
             <if test="ps_name != null">ps_name = #{ps_name},</if>
             <if test="ps_dck_id != null">ps_dck_id = #{ps_dck_id},</if>
+            <if test="ps_category != null">ps_category = #{ps_category},</if>
         </trim>
         where ps_id = #{ps_id}
     </update>