|
@@ -1,19 +1,18 @@
|
|
|
package com.iamberry.rst.controllers.dm;
|
|
|
|
|
|
import com.iamberry.rst.core.cm.StoreInfo;
|
|
|
-import com.iamberry.rst.core.dm.DealerChannel;
|
|
|
-import com.iamberry.rst.core.dm.DealerContact;
|
|
|
-import com.iamberry.rst.core.dm.DealerProduct;
|
|
|
-import com.iamberry.rst.core.dm.DmDealer;
|
|
|
+import com.iamberry.rst.core.dm.*;
|
|
|
import com.iamberry.rst.core.page.PageRequest;
|
|
|
import com.iamberry.rst.core.page.PagedResult;
|
|
|
-import com.iamberry.rst.core.sys.Admin;
|
|
|
import com.iamberry.rst.faces.cm.StoreInfoService;
|
|
|
-import com.iamberry.rst.faces.dm.DealerContactService;
|
|
|
-import com.iamberry.rst.faces.dm.DmDealerService;
|
|
|
+import com.iamberry.rst.faces.dm.*;
|
|
|
import com.iamberry.rst.faces.sys.SysService;
|
|
|
import com.iamberry.rst.utils.AdminUtils;
|
|
|
import com.iamberry.rst.utils.StitchAttrUtil;
|
|
|
+import com.iamberry.rst.utils.UploadFileUtils;
|
|
|
+import com.iamberry.wechat.tools.ResponseJson;
|
|
|
+import net.sf.json.JSONArray;
|
|
|
+import org.apache.shiro.authz.annotation.Logical;
|
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -21,9 +20,14 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
+import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.UnsupportedEncodingException;
|
|
|
+import java.net.URLDecoder;
|
|
|
import java.util.List;
|
|
|
|
|
|
@Controller
|
|
@@ -38,6 +42,14 @@ public class DmDealerController {
|
|
|
@Autowired
|
|
|
private DealerContactService dealerContactService;
|
|
|
@Autowired
|
|
|
+ private DealerChannelService dealerChannelService;
|
|
|
+ @Autowired
|
|
|
+ private DealerProductService dealerProductService;
|
|
|
+ @Autowired
|
|
|
+ private DealerProductStoreService dealerProductStoreService;
|
|
|
+ @Autowired
|
|
|
+ private CooperationAgreeService cooperationAgreeService;
|
|
|
+ @Autowired
|
|
|
private StoreInfoService storeInfoService;
|
|
|
|
|
|
/**
|
|
@@ -56,9 +68,6 @@ public class DmDealerController {
|
|
|
ModelAndView mv = new ModelAndView("dm/dealer/dealer_list");
|
|
|
//获取登录员工id
|
|
|
Integer adminId = AdminUtils.getLoginAdminId();
|
|
|
- Admin admin = new Admin();
|
|
|
- admin.setAdminId(adminId);
|
|
|
- admin = sysService.get(admin);
|
|
|
|
|
|
dmDealer.setCreateId(adminId);
|
|
|
|
|
@@ -92,7 +101,7 @@ public class DmDealerController {
|
|
|
* @author
|
|
|
* @date
|
|
|
*/
|
|
|
- @RequiresPermissions("dm:dealer:add")
|
|
|
+ @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR)
|
|
|
@RequestMapping("/to_add_dealer_contact")
|
|
|
public ModelAndView toAddDealerContact(HttpServletRequest request,DealerContact dc) {
|
|
|
ModelAndView mv = new ModelAndView("dm/dealer/add_dealer_contact");
|
|
@@ -106,7 +115,7 @@ public class DmDealerController {
|
|
|
* @author
|
|
|
* @date
|
|
|
*/
|
|
|
- @RequiresPermissions("dm:dealer:add")
|
|
|
+ @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR)
|
|
|
@RequestMapping("/to_add_dealer_channel")
|
|
|
public ModelAndView toAddDealerChannel(HttpServletRequest request,DealerChannel dealerChannel) {
|
|
|
ModelAndView mv = new ModelAndView("dm/dealer/add_dealer_channel");
|
|
@@ -119,19 +128,285 @@ public class DmDealerController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 添加客户页面- 添加渠道商
|
|
|
+ * 添加客户页面- 添加产品
|
|
|
* @return
|
|
|
* @author
|
|
|
* @date
|
|
|
*/
|
|
|
- @RequiresPermissions("dm:dealer:add")
|
|
|
+ @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR)
|
|
|
@RequestMapping("/to_add_dealer_product")
|
|
|
- public ModelAndView toAddDealerProduct(HttpServletRequest request,DealerProduct dealerProduct) {
|
|
|
- ModelAndView mv = new ModelAndView("dm/dealer/add_dealer_channel");
|
|
|
+ public ModelAndView toAddDealerProduct(HttpServletRequest request,DealerProduct dealerProduct,String storeJson) {
|
|
|
+ ModelAndView mv = new ModelAndView("dm/dealer/add_dealer_product");
|
|
|
mv.addObject("dealerProduct",dealerProduct);
|
|
|
|
|
|
+ JSONArray jsonArray = JSONArray.fromObject(storeJson);
|
|
|
+ List<DealerProductStore> dealerProductStoreList = (List) JSONArray.toCollection(jsonArray, DealerProductStore.class);
|
|
|
+ mv.addObject("dealerProductStoreList",dealerProductStoreList);
|
|
|
return mv;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 添加客户页面- 添加合作协议
|
|
|
+ * @return
|
|
|
+ * @author
|
|
|
+ * @date
|
|
|
+ */
|
|
|
+ @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR)
|
|
|
+ @RequestMapping("/to_add_coop_agree")
|
|
|
+ public ModelAndView toAddCoopAgree(HttpServletRequest request,CooperationAgree cooperationAgree) {
|
|
|
+ ModelAndView mv = new ModelAndView("dm/dealer/add_coop_agree");
|
|
|
+ try {
|
|
|
+ if(cooperationAgree.getCoopAgreeImg() != null && !"".equals(cooperationAgree.getCoopAgreeImg())){
|
|
|
+ cooperationAgree.setCoopAgreeImg(URLDecoder.decode(cooperationAgree.getCoopAgreeImg(),"UTF-8"));
|
|
|
+ }
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ mv.addObject("cooperationAgree",cooperationAgree);
|
|
|
+ return mv;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 图片
|
|
|
+ * @RequestParam("file") 将name=file控件得到的文件封装成CommonsMultipartFile 对象
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR)
|
|
|
+ @RequestMapping("/fileUpload")
|
|
|
+ public ResponseJson fileUpload(HttpServletRequest request, @RequestParam("file") CommonsMultipartFile file) throws IOException {
|
|
|
+ ResponseJson responseJson = new ResponseJson();
|
|
|
+ System.out.println("fileName:"+file.getOriginalFilename());
|
|
|
+
|
|
|
+ String realPath = request.getSession().getServletContext().getRealPath("/");
|
|
|
+
|
|
|
+ if(file.getOriginalFilename() == null || "".equals(file.getOriginalFilename())){
|
|
|
+ responseJson.setReturnCode(500);
|
|
|
+ return responseJson;
|
|
|
+ }
|
|
|
+
|
|
|
+ String oldName = file.getOriginalFilename();
|
|
|
+
|
|
|
+ //名称
|
|
|
+ String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().toString().lastIndexOf("."));
|
|
|
+ String name = System.currentTimeMillis()+suffix;
|
|
|
+
|
|
|
+ String path = UploadFileUtils.coopeAgreeImgUploadFile(realPath,name,file);
|
|
|
+
|
|
|
+ String url = request.getScheme()+"://"+ request.getServerName();
|
|
|
+
|
|
|
+ responseJson.setReturnCode(200);
|
|
|
+ responseJson.addResponseKeyValue("allImgUrl",url + "/" + path);
|
|
|
+ responseJson.addResponseKeyValue("imgUrl",path);
|
|
|
+ responseJson.addResponseKeyValue("oldName",oldName);
|
|
|
+ responseJson.addResponseKeyValue("name",name);
|
|
|
+ return responseJson;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加 客户信息
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("dm:dealer:add")
|
|
|
+ @RequestMapping("/dealere_save")
|
|
|
+ public ResponseJson dealereSave(HttpServletRequest request,DmDealer dmDealer,
|
|
|
+ String add_contact_json,String add_dealer_channel_json,String add_product_json,String add_coop_agree_json) {
|
|
|
+ ResponseJson rj = ResponseJson.getSUCCESS();
|
|
|
+
|
|
|
+ if(add_contact_json != null && !"".equals(add_contact_json)){
|
|
|
+ JSONArray jsonArray = JSONArray.fromObject(add_contact_json);
|
|
|
+ List<DealerContact> dealerContactList = (List) JSONArray.toCollection(jsonArray, DealerContact.class);
|
|
|
+ dmDealer.setDealerContactList(dealerContactList);
|
|
|
+ }
|
|
|
+ if(add_dealer_channel_json != null && !"".equals(add_dealer_channel_json)){
|
|
|
+ JSONArray jsonArray = JSONArray.fromObject(add_dealer_channel_json);
|
|
|
+ List<DealerChannel> dealerChannelList = (List) JSONArray.toCollection(jsonArray, DealerChannel.class);
|
|
|
+ dmDealer.setDealerChannelList(dealerChannelList);
|
|
|
+ }
|
|
|
+ if(add_product_json != null && !"".equals(add_product_json)){
|
|
|
+ JSONArray jsonArray = JSONArray.fromObject(add_product_json);
|
|
|
+ List<DealerProduct> dealerProductList = (List) JSONArray.toCollection(jsonArray, DealerProduct.class);
|
|
|
+ dmDealer.setDealerProductList(dealerProductList);
|
|
|
+ }
|
|
|
+ if(add_coop_agree_json != null && !"".equals(add_coop_agree_json)){
|
|
|
+ JSONArray jsonArray = JSONArray.fromObject(add_coop_agree_json);
|
|
|
+ List<CooperationAgree> cooperationAgreeList = (List) JSONArray.toCollection(jsonArray, CooperationAgree.class);
|
|
|
+ dmDealer.setCooperationAgreeList(cooperationAgreeList);
|
|
|
+ }
|
|
|
+
|
|
|
+ rj = this.dmDealerCheck(dmDealer);
|
|
|
+
|
|
|
+ //设置创建人id
|
|
|
+ Integer adminId = AdminUtils.getLoginAdminId();
|
|
|
+ dmDealer.setCreateId(adminId);
|
|
|
+ dmDealer.setDealerStatus(1);
|
|
|
+
|
|
|
+ Integer flag = 0;
|
|
|
+ try{
|
|
|
+ flag = dmDealerService.save(dmDealer);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ rj = ResponseJson.getFAILURE();
|
|
|
+ rj.setResultMsg("添加客户信息,失败原因:"+e.getMessage());
|
|
|
+ return rj;
|
|
|
+ }
|
|
|
+ if(flag > 0){
|
|
|
+ rj.setResultMsg("添加成功");
|
|
|
+ return rj;
|
|
|
+ }else{
|
|
|
+ rj = ResponseJson.getFAILURE();
|
|
|
+ return rj;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param dmDealer
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private ResponseJson dmDealerCheck(DmDealer dmDealer){
|
|
|
+ ResponseJson rj = ResponseJson.getFAILURE();
|
|
|
+ if(dmDealer.getDealerName() == null || "".equals(dmDealer.getDealerName())){
|
|
|
+ rj.setResultMsg("客户名称不能为空");
|
|
|
+ return rj;
|
|
|
+ }
|
|
|
+ if(dmDealer.getDealerIndustry() == null || "".equals(dmDealer.getDealerIndustry())){
|
|
|
+ rj.setResultMsg("客户行业不能为空");
|
|
|
+ return rj;
|
|
|
+ }
|
|
|
+ if(dmDealer.getDealerType() == null){
|
|
|
+ rj.setResultMsg("客户类型不能为空");
|
|
|
+ return rj;
|
|
|
+ }
|
|
|
+ if(dmDealer.getDealerState() == null){
|
|
|
+ rj.setResultMsg("合作进度不能为空");
|
|
|
+ return rj;
|
|
|
+ }
|
|
|
+ if(dmDealer.getDealerSelfOperated() == null){
|
|
|
+ rj.setResultMsg("请选择是否自营");
|
|
|
+ return rj;
|
|
|
+ }
|
|
|
+ if(dmDealer.getDealerRate() == null){
|
|
|
+ rj.setResultMsg("请选择是否自营");
|
|
|
+ return rj;
|
|
|
+ }
|
|
|
+ return ResponseJson.getSUCCESS();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * to修改客户页面
|
|
|
+ * @return
|
|
|
+ * @author
|
|
|
+ * @date
|
|
|
+ */
|
|
|
+ @RequiresPermissions("dm:dealer:update")
|
|
|
+ @RequestMapping("/to_update_dealer")
|
|
|
+ public ModelAndView toUpdateDealer(HttpServletRequest request,Integer dealerId) {
|
|
|
+ ModelAndView mv = new ModelAndView("dm/dealer/update_dealer");
|
|
|
+ DmDealer dmDealer = dmDealerService.getDmDealerById(dealerId);
|
|
|
+
|
|
|
+ DealerContact dealerContact = new DealerContact();
|
|
|
+ dealerContact.setDealerId(dealerId);
|
|
|
+ List<DealerContact> dealerContactList = dealerContactService.getDealerContactList(dealerContact);
|
|
|
+
|
|
|
+ DealerChannel dealerChannel = new DealerChannel();
|
|
|
+ dealerChannel.setDealerId(dealerId);
|
|
|
+ List<DealerChannel> dealerChannelList = dealerChannelService.getDealerChannelList(dealerChannel);
|
|
|
+
|
|
|
+ DealerProduct dealerProduct = new DealerProduct();
|
|
|
+ dealerProduct.setDealerId(dealerId);
|
|
|
+ List<DealerProduct> dealerProductList = dealerProductService.getDealerProductList(dealerProduct);
|
|
|
+ for (DealerProduct dp:dealerProductList) {
|
|
|
+ if(dp.getDealProdStoreArea() == 2 ){
|
|
|
+ DealerProductStore dealerProductStore = new DealerProductStore();
|
|
|
+ dealerProductStore.setDealProdId(dp.getDealProdId());
|
|
|
+ List<DealerProductStore> dealerProductStoreList = dealerProductStoreService.getDealerProductStoreList(dealerProductStore);
|
|
|
+ String dealerProductStoreIds="";
|
|
|
+ String dealerProductStoreName="";
|
|
|
+ for (DealerProductStore dps:dealerProductStoreList) {
|
|
|
+ if("".equals(dealerProductStoreIds)){
|
|
|
+ dealerProductStoreIds = String.valueOf(dps.getStoreId());
|
|
|
+ dealerProductStoreName = dps.getStoreName();
|
|
|
+ }else{
|
|
|
+ dealerProductStoreIds += "," + String.valueOf(dps.getStoreId());
|
|
|
+ dealerProductStoreName += "," + dps.getStoreName();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dp.setDealerProductStoreIds(dealerProductStoreIds);
|
|
|
+ dp.setDealerProductStoreName(dealerProductStoreName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ CooperationAgree cooperationAgree = new CooperationAgree();
|
|
|
+ cooperationAgree.setDealerId(dealerId);
|
|
|
+ List<CooperationAgree> cooperationAgreeList = cooperationAgreeService.getCooperationAgreeList(cooperationAgree);
|
|
|
+
|
|
|
+ mv.addObject("dmDealer",dmDealer);
|
|
|
+ mv.addObject("dealerContactList",dealerContactList);
|
|
|
+ mv.addObject("dealerChannelList",dealerChannelList);
|
|
|
+ mv.addObject("dealerProductList",dealerProductList);
|
|
|
+ mv.addObject("cooperationAgreeList",cooperationAgreeList);
|
|
|
+ return mv;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改客户信息
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("dm:supplier:update")
|
|
|
+ @RequestMapping("/dealere_update")
|
|
|
+ public ResponseJson dealereUpdate(HttpServletRequest request,DmDealer dmDealer,
|
|
|
+ String add_contact_json,String add_dealer_channel_json,String add_product_json,String add_coop_agree_json) {
|
|
|
+ ResponseJson rj = ResponseJson.getSUCCESS();
|
|
|
+
|
|
|
+ if(add_contact_json != null && !"".equals(add_contact_json)){
|
|
|
+ JSONArray jsonArray = JSONArray.fromObject(add_contact_json);
|
|
|
+ List<DealerContact> dealerContactList = (List) JSONArray.toCollection(jsonArray, DealerContact.class);
|
|
|
+ dmDealer.setDealerContactList(dealerContactList);
|
|
|
+ }
|
|
|
+ if(add_dealer_channel_json != null && !"".equals(add_dealer_channel_json)){
|
|
|
+ JSONArray jsonArray = JSONArray.fromObject(add_dealer_channel_json);
|
|
|
+ List<DealerChannel> dealerChannelList = (List) JSONArray.toCollection(jsonArray, DealerChannel.class);
|
|
|
+ dmDealer.setDealerChannelList(dealerChannelList);
|
|
|
+ }
|
|
|
+ if(add_product_json != null && !"".equals(add_product_json)){
|
|
|
+ JSONArray jsonArray = JSONArray.fromObject(add_product_json);
|
|
|
+ List<DealerProduct> dealerProductList = (List) JSONArray.toCollection(jsonArray, DealerProduct.class);
|
|
|
+ dmDealer.setDealerProductList(dealerProductList);
|
|
|
+ }
|
|
|
+ if(add_coop_agree_json != null && !"".equals(add_coop_agree_json)){
|
|
|
+ JSONArray jsonArray = JSONArray.fromObject(add_coop_agree_json);
|
|
|
+ List<CooperationAgree> cooperationAgreeList = (List) JSONArray.toCollection(jsonArray, CooperationAgree.class);
|
|
|
+ dmDealer.setCooperationAgreeList(cooperationAgreeList);
|
|
|
+ }
|
|
|
+
|
|
|
+ rj = this.dmDealerCheck(dmDealer);
|
|
|
+
|
|
|
+ //设置创建人id
|
|
|
+ Integer adminId = AdminUtils.getLoginAdminId();
|
|
|
+ dmDealer.setCreateId(adminId);
|
|
|
+ dmDealer.setDealerStatus(1);
|
|
|
+
|
|
|
+ Integer flag = 0;
|
|
|
+ try{
|
|
|
+ flag = dmDealerService.update(dmDealer);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ rj = ResponseJson.getFAILURE();
|
|
|
+ rj.setResultMsg("修改客户信息,失败原因:"+e.getMessage());
|
|
|
+ return rj;
|
|
|
+ }
|
|
|
+ if(flag > 0){
|
|
|
+ rj.setResultMsg("修改成功");
|
|
|
+ return rj;
|
|
|
+ }else{
|
|
|
+ rj = ResponseJson.getFAILURE();
|
|
|
+ return rj;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
}
|