Commit 5e7c4019 by fudahua

Merge remote-tracking branch 'origin/developer' into developer

parents 2f484556 185c9fcf
......@@ -28,9 +28,18 @@ public class AuditStaffDTO implements Serializable{
private String headPic;
private String enterpriseId;
private static final long serialVersionUID = 1L;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getPhoneNumber() {
return phoneNumber;
}
......
......@@ -8,6 +8,8 @@ import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO;
public interface StaffDepartmentRelatedApiService {
List<StaffDepartmentRelatedDTO> listByDepartmentId(String departmentId);
List<StaffDepartmentRelatedDTO> listByDepartmentIds(List<String> departmentIds);
List<StaffDepartmentRelatedDTO> listByStaffId(String staffId);
......@@ -43,6 +45,6 @@ public interface StaffDepartmentRelatedApiService {
public void sendClerkAdd (String clerkId,String clerkCode,int auditStatus,String auditReason);
public void sendClerkDel (String clerkId,String clerkCode,int auditStatus,String auditReason);
public void sendClerkDel (String clerkName,String clerkCode,String storeId,int auditStatus,String auditReason);
}
......@@ -25,7 +25,7 @@ public interface DepartmentMapper {
List<TabHaobanDepartment> listByParentId(@Param("parentId")String parentId);
List<TabHaobanDepartment> listStoreLikeName(@Param("departmentName")String departmentName);
List<TabHaobanDepartment> listDepartmentLikeName(@Param("departmentName")String departmentName);
long selectMaxSort(@Param("parentDepartmentId")String parentDepartmentId);
......
......@@ -51,6 +51,8 @@ public interface StaffDepartmentRelatedMapper {
List<TabHaobanStaffDepartmentRelated> listByWxEnterpriseIdAndClerkCode(@Param("wxEnterpriseId")String wxEnterpriseId, @Param("clerkCode")String clerkCode);
List<TabHaobanStaffDepartmentRelated> listStaffDepartmentByStaffIds(@Param("staffIds")List<String> staffIds);
List<TabHaobanStaffDepartmentRelated> listByDepartmentIds(@Param("departmentIds")List<String> departmentIds);
int cleanStaffDepartment(@Param("wxEnterpriseId")String wxEnterpriseId,@Param("staffIds")List<String> staffIds);
}
\ No newline at end of file
......@@ -35,6 +35,7 @@ import com.gic.haoban.manage.api.dto.AuditDTO;
import com.gic.haoban.manage.api.dto.AuditStaffDTO;
import com.gic.haoban.manage.api.dto.BatchAuditLogDTO;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO;
import com.gic.haoban.manage.api.dto.StoreAddressDTO;
import com.gic.haoban.manage.api.enums.AppPageType;
import com.gic.haoban.manage.api.enums.AuditRsultType;
......@@ -96,21 +97,33 @@ public class AuditApiServiceImpl implements AuditApiService{
@Override
public Page<AuditDTO> page(Integer auditType, String search,String wxEnterpriseId,
String enterpriseId,Integer auditStatus,Integer auditFlag, BasePageInfo pageInfo) {
List<String> storeIds = new ArrayList<>();
//部门关联表修改,服务层调整
List<String> departmentIds = new ArrayList<>();
List<String> staffIds = new ArrayList<>();
List<String> storeIds = new ArrayList<>();
if(StringUtils.isNotEmpty(search)){
List<TabHaobanDepartment> storeList = departmentMapper.listStoreLikeName(search);
if(CollectionUtil.isNotEmpty(storeList)){
storeIds = storeList.stream().map(s->s.getRelatedId()).collect(Collectors.toList());
List<TabHaobanDepartment> departmentList = departmentMapper.listDepartmentLikeName(search);
if(CollectionUtil.isNotEmpty(departmentList)){
departmentIds = departmentList.stream().map(s->s.getDepartmentId()).collect(Collectors.toList());
}else{
storeIds = Arrays.asList("-999");
departmentIds = Arrays.asList("-999");
}
if(CollectionUtil.isNotEmpty(departmentList)){
List<StaffDepartmentRelatedDTO> staffDepartments = staffDepartmentRelatedApiService.listByDepartmentIds(departmentIds);
if(CollectionUtil.isNotEmpty(staffDepartments)){
List<String> staffIds1 = staffDepartments.stream().map(s->s.getStaffId()).collect(Collectors.toList());
staffIds.addAll(staffIds1);
}
}
List<TabHaobanStaff> staffList = staffMapper.listLikeName(search);
if(CollectionUtil.isNotEmpty(staffList)){
staffIds = staffList.stream().map(s->s.getStaffId()).collect(Collectors.toList());
}else{
staffIds = Arrays.asList("-999");
List<String> staffIds2 = staffList.stream().map(s->s.getStaffId()).collect(Collectors.toList());
staffIds.addAll(staffIds2);
}
if(CollectionUtil.isEmpty(staffIds)){
staffIds.add("-999");
}
storeIds.add("-999");
}
PageHelper.startPage(pageInfo.getPageNum(), pageInfo.getPageSize());
com.github.pagehelper.Page<TabHaobanAudit> page = new com.github.pagehelper.Page<TabHaobanAudit>();
......@@ -119,7 +132,6 @@ public class AuditApiServiceImpl implements AuditApiService{
}else{
page = auditMapper.page(auditType, storeIds, staffIds, wxEnterpriseId,enterpriseId,auditStatus,auditFlag);
}
// List<TabHaobanAudit> list = page.getResult();
if(CollectionUtil.isNotEmpty( page.getResult())){
List<String> commitStaffIds = page.getResult().stream().map(s->s.getCommitStaffId()).collect(Collectors.toList());
List<TabHaobanStaff> staffList = staffMapper.listByIds(commitStaffIds);
......@@ -204,32 +216,21 @@ public class AuditApiServiceImpl implements AuditApiService{
//门店导购新增
String oldValue = tab.getOldValue();
AuditStaffDTO obj = JSONObject.parseObject(oldValue,AuditStaffDTO.class);
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(obj.getClerkId());
if(clerkDTO == null){
boolean flag = syncHaobanToGicServiceApi.syncClerkToGicClerkAdd(tab.getCommitStoreId(), obj.getClerkCode(), obj.getSex(), obj.getClerkName(), obj.getPhoneNumber(), obj.getNationCode(), null);
if(!flag){
//失败
tab.setAuditStatus(5);
tab.setAuditReason("gic已删除该导购");
auditMapper.updateByPrimaryKeySelective(tab);
if(org.apache.commons.lang.StringUtils.isNotBlank(batchId)){
insertBatchLog( batchId,AuditRsultType.fail.getCode(),tab);
}
return "0";
insertBatchLog( batchId,AuditRsultType.fail.getCode(), tab);
return "0";
}
}else{
boolean flag = syncHaobanToGicServiceApi.syncClerkToGicClerkAdd(tab.getCommitStoreId(), obj.getClerkCode(), obj.getSex(), obj.getStaffName(), obj.getPhoneNumber(), obj.getNationCode(), null);
if(!flag){
//失败
tab.setAuditStatus(5);
auditMapper.updateByPrimaryKeySelective(tab);
if(org.apache.commons.lang.StringUtils.isNotBlank(batchId)){
insertBatchLog( batchId,AuditRsultType.fail.getCode(), tab);
return "0";
}
}else{
//成功
if(org.apache.commons.lang.StringUtils.isNotBlank(batchId)){
insertBatchLog( batchId,1, tab);
}
staffDepartmentRelatedApiService.sendClerkAdd(obj.getClerkId(), obj.getClerkCode(), 1, "");
//成功
if(org.apache.commons.lang.StringUtils.isNotBlank(batchId)){
insertBatchLog( batchId,1, tab);
}
staffDepartmentRelatedApiService.sendClerkAdd(tab.getEnterpriseId(), obj.getClerkCode(), 1, "");
}
}else if(auditType == AuditType.CLERK_DEL.getCode()){
......@@ -240,7 +241,7 @@ public class AuditApiServiceImpl implements AuditApiService{
if(org.apache.commons.lang.StringUtils.isNotBlank(batchId)){
insertBatchLog( batchId,AuditRsultType.success.getCode(),tab);
}
staffDepartmentRelatedApiService.sendClerkDel(obj.getClerkId(), obj.getClerkCode(), 1, "");
staffDepartmentRelatedApiService.sendClerkDel(obj.getClerkName(), obj.getClerkCode(),tab.getCommitStoreId(), 1, "");
}else if(auditType == AuditType.CLERK_UNBIND.getCode()){
//解绑申请,无需审核,直接通过
}
......@@ -260,6 +261,7 @@ public class AuditApiServiceImpl implements AuditApiService{
TabHaobanAudit tab2 = auditMapper.selectByPrimaryKey(auditId);
int auditType = tab2.getAuditType();
String oldValue = tab2.getOldValue();
String enterpriseId = tab2.getEnterpriseId();
AuditStaffDTO obj = JSONObject.parseObject(oldValue,AuditStaffDTO.class);
//发送消息
if(auditType == AuditType.STORE_CHANGE.getCode()){
......@@ -273,9 +275,9 @@ public class AuditApiServiceImpl implements AuditApiService{
}else if(auditType == AuditType.CLERK_BIND.getCode()){
staffDepartmentRelatedApiService.sendClerkBind(obj.getClerkId(), obj.getClerkCode(), 2, auditReason);
}else if(auditType == AuditType.CLERK_ADD.getCode()) {
staffDepartmentRelatedApiService.sendClerkAdd(obj.getClerkId(), obj.getClerkCode(), 2, auditReason);
staffDepartmentRelatedApiService.sendClerkAdd(enterpriseId, obj.getClerkCode(), 2, auditReason);
}else if(auditType == AuditType.CLERK_DEL.getCode()) {
staffDepartmentRelatedApiService.sendClerkDel(obj.getClerkId(), obj.getClerkCode(), 2, auditReason);
staffDepartmentRelatedApiService.sendClerkDel(obj.getClerkName(), obj.getClerkCode(),tab.getCommitStoreId(), 2, auditReason);
}
}
@Override
......
......@@ -75,7 +75,14 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
List<StaffDepartmentRelatedDTO> resultList = EntityUtil.changeEntityListByJSON(StaffDepartmentRelatedDTO.class, list);
return resultList;
}
@Override
public List<StaffDepartmentRelatedDTO> listByDepartmentIds(
List<String> departmentIds) {
List<TabHaobanStaffDepartmentRelated> list = staffDepartmentRelatedMapper.listByDepartmentIds(departmentIds);
List<StaffDepartmentRelatedDTO> resultList = EntityUtil.changeEntityListByJSON(StaffDepartmentRelatedDTO.class, list);
return resultList;
}
@Override
public void updateById(StaffDepartmentRelatedDTO dto) {
TabHaobanStaffDepartmentRelated tab = EntityUtil.changeEntityByJSON(TabHaobanStaffDepartmentRelated.class, dto);
......@@ -161,6 +168,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
ClerkDTO clerk = clerkService.getclerkById(clerkId);
if(clerk == null){
logger.info("导购不存在,发送消息失败{}",clerkId);
return ;
}
String messageTitle = "门店账号申请";
String messageContent = clerk.getClerkName()+"申请关联导购code("+clerkCode+")";
......@@ -173,11 +181,12 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
//导购新增,,审核记录,,消息发送
public void sendClerkAdd (String clerkId,String clerkCode,int auditStatus,String auditReason){
public void sendClerkAdd (String enterpriseId,String clerkCode,int auditStatus,String auditReason){
//TODO huang 发送店长,门店关联记录列表
ClerkDTO clerk = clerkService.getclerkById(clerkId);
ClerkDTO clerk = clerkService.getClerkByClerkCode(enterpriseId, clerkCode);
if(clerk == null){
logger.info("导购不存在,发送消息失败{}",clerkId);
logger.info("导购不存在,发送消息失败{}",clerkCode);
return ;
}
String messageTitle = "门店导购变更";
String messageContent ="新增导购:"+ clerk.getClerkName()+"("+clerkCode+")";
......@@ -187,26 +196,23 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
ClerkDTO gicClerk = clerkService.getClerkLeaderByStoreId(clerk.getStoreId());
if(gicClerk == null){
logger.info("店长不存在,发送消息失败{}",clerk.getStoreId());
return ;
}
String pageUrl = this.getPageUrl(AppPageType.STORE_RELATED_RECORD.getCode(), data);
this.sendAuditMessage(gicClerk.getClerkId(), messageTitle, messageContent, pageUrl,auditStatus,"");
}
//导购删除,,审核记录,,消息发送
public void sendClerkDel (String clerkId,String clerkCode,int auditStatus,String auditReason){
public void sendClerkDel (String clerkName,String clerkCode,String storeId,int auditStatus,String auditReason){
//TODO huang 发送店长,门店关联记录列表
ClerkDTO clerk = clerkService.getclerkById(clerkId);
if(clerk == null){
logger.info("导购不存在,发送消息失败{}",clerkId);
}
String messageTitle = "门店导购变更";
String messageContent ="删除导购:"+ clerk.getClerkName()+"("+clerkCode+")";
String messageContent ="删除导购:"+ clerkName+"("+clerkCode+")";
JSONObject jsonObject = new JSONObject();
jsonObject.put("storeId", clerk.getStoreId());
jsonObject.put("storeId", storeId);
String data = jsonObject.toJSONString();
ClerkDTO gicClerk = clerkService.getClerkLeaderByStoreId(clerk.getStoreId());
ClerkDTO gicClerk = clerkService.getClerkLeaderByStoreId(storeId);
if(gicClerk == null){
logger.info("店长不存在,发送消息失败{}",clerk.getStoreId());
logger.info("店长不存在,发送消息失败{}",storeId);
}
String pageUrl = this.getPageUrl(AppPageType.STORE_RELATED_RECORD.getCode(), data);
this.sendAuditMessage(gicClerk.getClerkId(), messageTitle, messageContent, pageUrl,auditStatus,"");
......
......@@ -246,13 +246,12 @@
order by sort desc
</select>
<select id="listStoreLikeName" resultMap="BaseResultMap" parameterType="java.lang.String" >
<select id="listDepartmentLikeName" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_department
where department_name like CONCAT('%',#{departmentName,jdbcType=VARCHAR},'%')
and status_flag = 1
and is_store =1
</select>
<select id="selectMaxSort" resultType="java.lang.Long" parameterType="java.lang.String" >
......
......@@ -308,6 +308,17 @@
</foreach>
and status_flag = 1
</select>
<select id="listByDepartmentIds" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from tab_haoban_staff_department_related
where department_id in
<foreach collection="departmentIds" item="id" index="index" open="(" close=")" separator=",">
#{id,jdbcType=VARCHAR}
</foreach>
and status_flag = 1
</select>
<update id="cleanStaffDepartment" >
update tab_haoban_staff_department_related
......
......@@ -195,8 +195,9 @@ public class AuditController extends WebBaseController{
String oldValue = audit.getOldValue();
JSONObject json = JSON.parseObject(oldValue);
String clerkCode = json.get("clerkCode")==null?"":json.get("clerkCode").toString();
String enterpriseId = json.getString("enterpriseId")==null?"":json.get("enterpriseId").toString();
String enterpriseId = audit.getEnterpriseId();
String clerkId = json.getString("clerkId")==null?"":json.get("clerkId").toString();
String clerkName = json.get("clerkName")==null?"":json.get("clerkName").toString();
String wxUserId = json.getString("wxUserId")==null?"":json.get("wxUserId").toString();
Integer sex = json.getInteger("sex")==null?0:json.getInteger("sex");
String phoneNumber = json.getString("phoneNumber")==null?"":json.get("phoneNumber").toString();
......@@ -231,24 +232,20 @@ public class AuditController extends WebBaseController{
}
if(audit.getAuditType() == AuditType.CLERK_ADD.getCode()){
//导购新增
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
if(clerkDTO == null){
audit.setAuditStatus(5);
audit.setAuditReason("gic已删除该导购");
}else{
boolean flag = syncHaobanToGicServiceApi.syncClerkToGicClerkAdd(storeId, clerkCode, sex, staff.getStaffName(), phoneNumber, nationCode, null);
if(!flag){
return resultResponse(HaoBanErrCode.ERR_10010);
}
audit.setAuditStatus(1);
staffDepartmentRelatedApiService.sendClerkAdd(clerkId, clerkCode, auditStatus, auditReason);
boolean flag = syncHaobanToGicServiceApi.syncClerkToGicClerkAdd(storeId, clerkCode, sex, clerkName, phoneNumber, nationCode, null);
if(!flag){
return resultResponse(HaoBanErrCode.ERR_10010);
}
audit.setAuditStatus(1);
// ClerkDTO clerkDTO = clerkService.getClerkByClerkCode(enterpriseId, clerkCode);
staffDepartmentRelatedApiService.sendClerkAdd(enterpriseId, clerkCode, auditStatus, auditReason);
}
if(audit.getAuditType() == AuditType.CLERK_DEL.getCode()){
//导购删除
syncHaobanToGicServiceApi.delGicClerk(clerkId);
audit.setAuditStatus(1);
staffDepartmentRelatedApiService.sendClerkDel(clerkId, clerkCode, auditStatus, auditReason);
staffDepartmentRelatedApiService.sendClerkDel(clerkName, clerkCode,storeId, auditStatus, auditReason);
}
}else if(auditStatus == 2){
//审核拒绝
......@@ -258,9 +255,9 @@ public class AuditController extends WebBaseController{
if(audit.getAuditType() == AuditType.CLERK_BIND.getCode()){
staffDepartmentRelatedApiService.sendClerkBind(clerkId, clerkCode, auditStatus, auditReason);
}else if (audit.getAuditType() == AuditType.CLERK_ADD.getCode()){
staffDepartmentRelatedApiService.sendClerkAdd(clerkId, clerkCode, auditStatus, auditReason);
staffDepartmentRelatedApiService.sendClerkAdd(enterpriseId, clerkCode, auditStatus, auditReason);
}else if (audit.getAuditType() == AuditType.CLERK_DEL.getCode()){
staffDepartmentRelatedApiService.sendClerkDel(clerkId, clerkCode, auditStatus, auditReason);
staffDepartmentRelatedApiService.sendClerkDel(clerkName, clerkCode,storeId, auditStatus, auditReason);
}
}else if(auditStatus == 3){
......
......@@ -272,7 +272,11 @@ public class ClerkController extends WebBaseController{
logger.info("已经存在了审核记录,待审核{}",clerkId);
continue;
}
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
if(clerkDTO ==null){
logger.info("导购不存在",clerkId);
continue;
}
AuditDTO audit = new AuditDTO();
audit.setCommitStaffName(staff.getStaffName());
audit.setCommitStaffId(staffId);
......@@ -287,13 +291,15 @@ public class ClerkController extends WebBaseController{
JSONObject json = new JSONObject();
json.put("clerkId", clerkId);
json.put("clerkCode", clerkDTO.getClerkCode());
json.put("clerkName", clerkDTO.getClerkName());
audit.setOldValue(json.toJSONString());
audit.setCommitTime(new Date());
audit.setAuditType(4);
auditApiService.insert(audit);
}
}else{
//只删除gic那边的
//无需审核
String[] clerkIdArr = clerkIds.split(",");
for (String clerkId : clerkIdArr) {
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
......@@ -498,7 +504,7 @@ public class ClerkController extends WebBaseController{
//TODO huang 发送店长,门店关联记录列表
String messageTitle = "门店账号申请";
String messageContent = clerk.getClerkName()+"申请关联导购code("+clerkCode+")";
String messageContent = staff.getStaffName()+"申请关联导购code("+clerkCode+")";
JSONObject jsonObject = new JSONObject();
jsonObject.put("storeId", clerk.getStoreId());
String data = jsonObject.toJSONString();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment