Ver código fonte

修改了代理商配置优惠价的校验

liuzhiwei 7 anos atrás
pai
commit
91ae0e078e

+ 9 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/agentInfoMapper.xml

@@ -60,6 +60,12 @@
             <if test="colorName != null and colorName != ''">
                 and c.color_name like CONCAT('%',#{colorName},'%')
             </if>
+            <if test="agentId != null and agentId != ''">
+                and a.agent_id = #{agentId}
+            </if>
+            <if test="configStatus != null">
+                AND config_status = #{configStatus}
+            </if>
         </where>
         ORDER BY a.config_create_time DESC
         <if test="page!=null and page.pageSize>0 ">
@@ -155,6 +161,9 @@
             <if test="configStatus != null">
                 AND config_status = #{configStatus}
             </if>
+            <if test="configId !=null and configId !=''">
+                AND config_id = #{configId}
+            </if>
         </where>
     </select>
 

+ 55 - 0
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminAgentToothHandler.java

@@ -183,8 +183,35 @@ public class AdminAgentToothHandler {
             msg.setStatus(false);
             msg.setMessage("您没有选择代理商,请选择!");
         }
+
         //拆分产品id和金额
         String[] productPrice = productColor.split(",");
+
+        //根据代理商id查询所有优惠价配置信息
+        AgentConfig agentConfig = new AgentConfig();
+        agentConfig.setAgentId(Integer.parseInt(agentId));
+        agentConfig.setConfigStatus(1);
+        List<AgentConfig> configList = agentInfoService.listAgentConfig(agentConfig);
+
+        //校验是否已经存在该代理商的优惠价
+        for (int i = 0;i < productPrice.length;i++) {
+            String[] color = productPrice[i].split(":");
+            int color1 = Integer.parseInt(color[0]);
+            for(AgentConfig agentConfig2 : configList) {
+                if (color1 == agentConfig2.getColorId()) {
+                    StringBuilder message = new StringBuilder("产品为");
+                    message.append(agentConfig2.getProductName());
+                    message.append("颜色为");
+                    message.append(agentConfig2.getColorName());
+                    message.append("的产品已经配置了优惠价,无法重复配置!");
+                    msg.setResultCode(ResultInfo.ERRORCODE);
+                    msg.setStatus(false);
+                    msg.setMessage(message.toString());
+                    return msg;
+                }
+            }
+        }
+
         List<AgentConfig> list = new ArrayList<AgentConfig>();
         for (int i = 0;i < productPrice.length;i++) {
             String[] color = productPrice[i].split(":");
@@ -278,6 +305,18 @@ public class AdminAgentToothHandler {
             msg.setStatus(false);
             msg.setMessage("修改代理商优惠价配置失败!");
         }
+        AgentConfig config2 = new AgentConfig();
+        config2.setConfigStatus(1);
+        config2.setAgentId(config.getAgentId());
+        config2.setColorId(config.getColorId());
+        //根据代理商id和产品颜色id查询配置信息
+        config2 = agentInfoService.getAgentConfig(config);
+        if (config2 != null && config2.getConfigId().intValue() != config.getConfigId()) {
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("该代理商已配置过该产品的优惠价,不能重复配置!");
+            return msg;
+        }
         //修改代理商优惠价配置信息
         int num = agentInfoService.updateAgentConfig(config);
         if (num > 0) {
@@ -313,7 +352,23 @@ public class AdminAgentToothHandler {
             msg.setStatus(false);
             return msg;
         }
+
         config.setConfigId(Integer.parseInt(configId));
+        //根据id查询配置信息
+        AgentConfig agentConfig = agentInfoService.getAgentConfig(config);
+
+        AgentConfig config2 = new AgentConfig();
+        config2.setConfigStatus(1);
+        config2.setAgentId(agentConfig.getAgentId());
+        config2.setColorId(agentConfig.getColorId());
+        //根据代理商id和产品颜色id查询配置信息
+        config2 = agentInfoService.getAgentConfig(config);
+        if (config2 != null) {
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("该代理商已配置过该产品的优惠价,不能重复配置!");
+            return msg;
+        }
         config.setConfigStatus(Integer.parseInt(configStatus));
         //修改代理商优惠价配置信息
         int num = agentInfoService.updateAgentConfig(config);

+ 2 - 0
tooth-wechat-web/src/main/webapp/WEB-INF/views/admin/agentInfo/addAgentConfig.jsp

@@ -174,6 +174,8 @@
             success:  function(dt){
                 if (dt.status) {
                     window.location.href = '${pageContext.request.contextPath }/admin/agentTooth/select_agent_config_list'
+                } else {
+                    layer.alert(dt.message, {icon: 5});
                 }
             }
         });

+ 1 - 1
tooth-wechat-web/src/main/webapp/WEB-INF/views/admin/agentInfo/agentConfigList.jsp

@@ -138,7 +138,7 @@
                             }
                             $('#config_status').html(message);
                         } else {
-                            layer.msg("修改失败</br>",{icon: 5,time:2000});
+                            layer.alert(data.message, {icon: 5});
                         }
                     }
                 });

+ 2 - 0
tooth-wechat-web/src/main/webapp/WEB-INF/views/admin/agentInfo/updateAgentConfig.jsp

@@ -199,6 +199,8 @@
             success:  function(dt){
                 if (dt.status) {
                     window.location.href = '${pageContext.request.contextPath }/admin/agentTooth/select_agent_config_list'
+                } else {
+                    layer.alert(dt.message, {icon: 5});
                 }
             }
         });