| 
					
				 | 
			
			
				@@ -0,0 +1,213 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.yijia.label.controller; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.common.core.domain.model.LoginUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.common.utils.SecurityUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.label.domain.RequstCustomerLabel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.label.domain.ResponeCustomerLabel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.system.service.ISysDeptService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.bind.annotation.GetMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.bind.annotation.PostMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.bind.annotation.PutMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.bind.annotation.DeleteMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.bind.annotation.PathVariable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.bind.annotation.RequestBody; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.bind.annotation.RequestMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.bind.annotation.RestController; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.common.annotation.Log; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.common.core.controller.BaseController; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.common.core.domain.AjaxResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.common.enums.BusinessType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.label.domain.CustomerLabel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.label.service.ICustomerLabelService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.common.utils.poi.ExcelUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yijia.common.core.page.TableDataInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 用户标签Controller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @author yijia 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @date 2021-06-15 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@RestController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@RequestMapping("/label/label") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class CustomerLabelController extends BaseController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private ICustomerLabelService customerLabelService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private ISysDeptService deptService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 查询用户标签列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @GetMapping("/list") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TableDataInfo list(CustomerLabel customerLabel) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        startPage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CustomerLabel> list = customerLabelService.selectCustomerLabelList(customerLabel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return getDataTable(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 导出用户标签列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "用户标签", businessType = BusinessType.EXPORT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @GetMapping("/export") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult export(CustomerLabel customerLabel) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CustomerLabel> list = customerLabelService.selectCustomerLabelList(customerLabel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ExcelUtil<CustomerLabel> util = new ExcelUtil<CustomerLabel>(CustomerLabel.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return util.exportExcel(list, "label"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 获取用户标签详细信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @GetMapping(value = "/{id}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult getInfo(@PathVariable("id") Integer id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return AjaxResult.success(customerLabelService.selectCustomerLabelById(id)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 获取用户标签详细信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @GetMapping(value = "/selectCustomerLabelInfo") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult selectCustomerLabelInfo(CustomerLabel customerLabel) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LoginUser currentUser = SecurityUtils.getLoginUser(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        customerLabel.setStationId(currentUser.getUser().getDeptId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        customerLabel.setDelFlag("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ResponeCustomerLabel responeCustomerLabel =new ResponeCustomerLabel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CustomerLabel> notlist = customerLabelService.selectNotCustomerLabelInfo(customerLabel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> list = customerLabelService.selectPhoneList(customerLabel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        responeCustomerLabel.setNotCustomerLabelList(notlist); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        responeCustomerLabel.setPhoneList(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return AjaxResult.success(responeCustomerLabel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 查询没有绑定标签的客户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param customerLabel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @GetMapping(value = "/selectNotCustomerLabelInfo") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TableDataInfo selectNotCustomerLabelInfo(CustomerLabel customerLabel) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LoginUser currentUser = SecurityUtils.getLoginUser(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        customerLabel.setStationId(currentUser.getUser().getDeptId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        customerLabel.setDelFlag("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CustomerLabel> notlist = customerLabelService.selectNotCustomerLabelInfo(customerLabel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return getDataTable(notlist); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 查询以绑定标签的客户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param customerLabel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @GetMapping(value = "/selectPhoneList") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TableDataInfo selectPhoneList(CustomerLabel customerLabel) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LoginUser currentUser = SecurityUtils.getLoginUser(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        customerLabel.setDelFlag("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        customerLabel.setStationId(currentUser.getUser().getDeptId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> list = customerLabelService.selectPhoneList(customerLabel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return getDataTable(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 查询标签是否绑定了人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param customerLabel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @GetMapping(value = "/selectLabel") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult selectLabel(CustomerLabel customerLabel) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LoginUser currentUser = SecurityUtils.getLoginUser(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        customerLabel.setStationId(currentUser.getUser().getDeptId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> list = customerLabelService.selectPhoneList(customerLabel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        boolean flag =true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(list!=null && list.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag=false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return AjaxResult.success(flag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 新增用户标签 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "用户标签", businessType = BusinessType.INSERT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @PostMapping 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult add(@RequestBody CustomerLabel customerLabel) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LoginUser currentUser = SecurityUtils.getLoginUser(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        customerLabel.setCreateBy(currentUser.getUser().getUserId()+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        customerLabel.setDelFlag("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return toAjax(customerLabelService.insertCustomerLabel(customerLabel)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 修改用户标签 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "用户标签", businessType = BusinessType.UPDATE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @PutMapping 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult edit(@RequestBody CustomerLabel customerLabel) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LoginUser currentUser = SecurityUtils.getLoginUser(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        customerLabel.setUpdateBy(currentUser.getUser().getUserId()+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return toAjax(customerLabelService.updateCustomerLabel(customerLabel)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 修改用户标签 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "用户标签", businessType = BusinessType.UPDATE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @PostMapping("/addAndDelCustomerLabel") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult addCustomerLabel(@RequestBody RequstCustomerLabel requstCustomerLabel) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int i =0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LoginUser currentUser = SecurityUtils.getLoginUser(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(requstCustomerLabel!=null && requstCustomerLabel.getFlag()!=null && requstCustomerLabel.getFlag().equals("0")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(requstCustomerLabel.getPhoneList()!=null && requstCustomerLabel.getPhoneList().size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(String phone:requstCustomerLabel.getPhoneList()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    CustomerLabel customerLabel =new CustomerLabel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerLabel.setStationId(currentUser.getUser().getDeptId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerLabel.setDelFlag("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerLabel.setPhone(phone); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerLabel.setLabelId(requstCustomerLabel.getLabelId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerLabel.setCreateBy(currentUser.getUser().getUserId()+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  i=  customerLabelService.insertCustomerLabel(customerLabel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if(requstCustomerLabel!=null && requstCustomerLabel.getFlag()!=null && requstCustomerLabel.getFlag().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(requstCustomerLabel.getPhoneList()!=null && requstCustomerLabel.getPhoneList().size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(String phone:requstCustomerLabel.getPhoneList()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    CustomerLabel customerLabel =new CustomerLabel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerLabel.setStationId(currentUser.getUser().getDeptId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerLabel.setDelFlag("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerLabel.setPhone(phone); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerLabel.setLabelId(requstCustomerLabel.getLabelId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerLabel.setUpdateBy(currentUser.getUser().getUserId()+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    i=  customerLabelService.editCustomerLabel(customerLabel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return toAjax(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 删除用户标签 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "用户标签", businessType = BusinessType.DELETE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DeleteMapping("/{ids}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult remove(@PathVariable Integer[] ids) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return toAjax(customerLabelService.deleteCustomerLabelByIds(ids)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |