Commit 3959e4e0 by qwmqiuwenmin

Merge branch 'developer' of http://115.159.76.241/haoban3.0/haoban-manage3.0.git into developer

parents fe8eb636 cf838a35
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class AuditStaffDTO implements Serializable{
private String staffId;
private String wxEnterpriseId;
private String wxUserId;
private String clerkId;
private String clerkName;
private String clerkCode;
private String staffName;
private String headPic;
private Integer bindType;
private Integer addOrDel;
private static final long serialVersionUID = 1L;
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxUserId() {
return wxUserId;
}
public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getHeadPic() {
return headPic;
}
public void setHeadPic(String headPic) {
this.headPic = headPic;
}
public Integer getBindType() {
return bindType;
}
public void setBindType(Integer bindType) {
this.bindType = bindType;
}
public Integer getAddOrDel() {
return addOrDel;
}
public void setAddOrDel(Integer addOrDel) {
this.addOrDel = addOrDel;
}
}
...@@ -14,7 +14,7 @@ public interface AuditApiService { ...@@ -14,7 +14,7 @@ public interface AuditApiService {
Page<AuditDTO> page(Integer auditType, String search,String wxEnterpriseId,String enterpriseId,Integer auditStatus,Integer auditFlag,BasePageInfo pageInfo); Page<AuditDTO> page(Integer auditType, String search,String wxEnterpriseId,String enterpriseId,Integer auditStatus,Integer auditFlag,BasePageInfo pageInfo);
void audit(String auditId,String aduitName); String audit(String auditId,String aduitName);
void refuse(String auditId,String auditReason,String aduitName); void refuse(String auditId,String auditReason,String aduitName);
......
package com.gic.haoban.manage.service.pojo;
import com.gic.binlog.base.entity.enums.GicRecordType;
import java.io.Serializable;
/**
* Created 2020/5/27.
*
* @author hua
*/
public class BinlogBasePojo implements Serializable {
protected int recordType;
protected String prefix;
public void setRecordType(int recordType) {
this.recordType = recordType;
}
public int getRecordType() {
return recordType;
}
public String getPrefix() {
return prefix;
}
}
package com.gic.haoban.manage.service.pojo;
import com.alibaba.fastjson.annotation.JSONField;
import java.io.Serializable;
/**
* Created 2020/5/27.
*
* @author hua
*/
public class ClerkSyncPojo extends BinlogBasePojo {
@JSONField(name = "clerk_id")
private String clerkId;
@JSONField(name = "storeId")
private String storeId;
@JSONField(name = "clerk_code")
private String clerkCode;
@JSONField(name = "enterprise_id")
private String enterpriseId;
private Integer status;
public ClerkSyncPojo() {
prefix="clerk";
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
}
...@@ -116,10 +116,10 @@ public class AuditApiServiceImpl implements AuditApiService{ ...@@ -116,10 +116,10 @@ public class AuditApiServiceImpl implements AuditApiService{
} }
@Transactional @Transactional
@Override @Override
public void audit(String auditId,String auditName) { public String audit(String auditId,String auditName) {
TabHaobanAudit tab = auditMapper.selectByPrimaryKey(auditId); TabHaobanAudit tab = auditMapper.selectByPrimaryKey(auditId);
if(tab==null){ if(tab==null){
return; return "1";
} }
tab.setAuditId(auditId); tab.setAuditId(auditId);
tab.setAuditStatus(1); tab.setAuditStatus(1);
...@@ -140,6 +140,7 @@ public class AuditApiServiceImpl implements AuditApiService{ ...@@ -140,6 +140,7 @@ public class AuditApiServiceImpl implements AuditApiService{
TabHaobanAudit tab2 = auditMapper.selectByPrimaryKey(auditId); TabHaobanAudit tab2 = auditMapper.selectByPrimaryKey(auditId);
String staffId = tab2.getCommitStaffId(); String staffId = tab2.getCommitStaffId();
this.sendMessageByStaffId(staffId, storeId, title, content); this.sendMessageByStaffId(staffId, storeId, title, content);
return "";
} }
@Override @Override
public void refuse(String auditId, String auditReason,String auditName) { public void refuse(String auditId, String auditReason,String auditName) {
......
package com.gic.haoban.manage.service.task; package com.gic.haoban.manage.service.task;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.binlog.base.entity.GicField;
import com.gic.binlog.base.entity.GicRecord; import com.gic.binlog.base.entity.GicRecord;
import com.gic.binlog.base.entity.enums.GicRecordType;
import com.gic.commons.util.BeanUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.service.pojo.BinlogBasePojo;
import com.gic.haoban.manage.service.pojo.ClerkSyncPojo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.kafka.listener.MessageListener; import org.springframework.kafka.listener.MessageListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* Created 2019/4/10. * Created 2019/4/10.
* *
...@@ -22,6 +33,7 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -22,6 +33,7 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
private final String CLERK = "tab_gic_clerk"; private final String CLERK = "tab_gic_clerk";
@Override @Override
public void onMessage(ConsumerRecord<String, GicRecord> record) { public void onMessage(ConsumerRecord<String, GicRecord> record) {
logger.info("message:{}", JSONObject.toJSONString(record.value())); logger.info("message:{}", JSONObject.toJSONString(record.value()));
...@@ -29,6 +41,33 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -29,6 +41,33 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
if(StringUtils.isBlank(message)){ if(StringUtils.isBlank(message)){
return; return;
} }
BinlogBasePojo pojo = binlogChange(record.value());
logger.info("pojo:{}", JSONObject.toJSONString(pojo));
}
private BinlogBasePojo binlogChange(GicRecord record) {
ClerkSyncPojo pojo=new ClerkSyncPojo();
pojo.setRecordType(record.getRecordType().value());
if(record.getTableName().equals(CLERK)) {
return binlogMap(record.getFieldList(),record.getRecordType(),ClerkSyncPojo.class);
}else if (record.getTableName().equals(STORE)) {
return binlogMap(record.getFieldList(),record.getRecordType(),ClerkSyncPojo.class);
}else{
return null;
}
}
private BinlogBasePojo binlogMap(List<GicField> list,GicRecordType recordType,Class<? extends BinlogBasePojo> aclass) {
Map<String,String> mid=new HashMap<>();
for (GicField gicField : list) {
mid.put(gicField.getName(),gicField.getValue());
}
BinlogBasePojo pojo = EntityUtil.changeEntityByJSON(aclass, mid);
pojo.setRecordType(recordType.value());
return pojo;
} }
......
...@@ -14,6 +14,7 @@ import com.gic.enterprise.api.dto.StoreDTO; ...@@ -14,6 +14,7 @@ import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService; import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.GlobalVar; import com.gic.haoban.common.utils.GlobalVar;
import com.gic.haoban.common.utils.UuidUtil;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.StoreFieldEnum; import com.gic.haoban.manage.api.enums.StoreFieldEnum;
import com.gic.haoban.manage.api.service.ApplicationSettingApiService; import com.gic.haoban.manage.api.service.ApplicationSettingApiService;
...@@ -100,29 +101,66 @@ public class AuditController extends WebBaseController{ ...@@ -100,29 +101,66 @@ public class AuditController extends WebBaseController{
List<StoreDTO> stores = storeService.getStores(array); List<StoreDTO> stores = storeService.getStores(array);
Map<String,StoreDTO> map = com.gic.commons.util.CollectionUtil.toMap(stores, "storeId"); Map<String,StoreDTO> map = com.gic.commons.util.CollectionUtil.toMap(stores, "storeId");
for(AuditDTO dto:list){ for(AuditDTO dto:list){
String t = dto.getChangeField(); if(dto.getAuditType() !=null && dto.getAuditType()== 1){
String detail = ""; String t = dto.getChangeField();
if(StoreFieldEnum.STORE_NAME.getValue().equals(t)){ String detail = "";
detail = "将"+"门店名称"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\""; if(StoreFieldEnum.STORE_NAME.getValue().equals(t)){
}else if(StoreFieldEnum.STORE_AREA.getValue().equals(t)){ detail = "将"+"门店名称"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\"";
detail = "将"+"门店面积"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\""; }else if(StoreFieldEnum.STORE_AREA.getValue().equals(t)){
}else if(StoreFieldEnum.CONACTS_PHONE.getValue().equals(t)){ detail = "将"+"门店面积"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\"";
detail = "将"+"联系电话"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\""; }else if(StoreFieldEnum.CONACTS_PHONE.getValue().equals(t)){
}else if(StoreFieldEnum.BUSINESS_TIME_STRING.getValue().equals(t)){ detail = "将"+"联系电话"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\"";
detail = "将"+"营业时间"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\""; }else if(StoreFieldEnum.BUSINESS_TIME_STRING.getValue().equals(t)){
}else if(StoreFieldEnum.STORE_ADDRESS.getValue().equals(t)){ detail = "将"+"营业时间"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\"";
}else if(StoreFieldEnum.STORE_ADDRESS.getValue().equals(t)){
String oldValue = dto.getOldValue();
String newValue = dto.getNewValue();
JSONObject oldJSONObject = JSONObject.parseObject(oldValue);
String oldAddress = oldJSONObject.get("storeAddress").toString();
JSONObject newJSONObject = JSONObject.parseObject(newValue);
String newAddress = newJSONObject.get("storeAddress").toString();
detail = "将"+"门店地址"+"\""+oldAddress+"\""+"修改为"+"\""+newAddress+"\"";
}else if(StoreFieldEnum.STORE_IMAG.getValue().equals(t)){
detail = "门店图片变更";
}
dto.setDetail(detail);
}else if(dto.getAuditType() !=null && dto.getAuditType()== 2){
//门店账户申请
String oldValue = dto.getOldValue(); String oldValue = dto.getOldValue();
String newValue = dto.getNewValue(); String newValue = dto.getNewValue();
JSONObject oldJSONObject = JSONObject.parseObject(oldValue); AuditStaffDTO auditStaffDTO = JSONObject.parseObject(oldValue, AuditStaffDTO.class);
String oldAddress = oldJSONObject.get("storeAddress").toString(); Integer t = auditStaffDTO.getAddOrDel();
if(t == 0){
//新增导购
String detail = "新增导购:"+auditStaffDTO.getClerkName()+"("+auditStaffDTO.getClerkCode()+")";
dto.setDetail(detail);
}else{
//删除导购
String detail = "删除导购:"+auditStaffDTO.getClerkName()+"("+auditStaffDTO.getClerkCode()+")";
dto.setDetail(detail);
}
}else if(dto.getAuditType() !=null && dto.getAuditType()== 3){
//门店导购变更
//门店账户申请
String oldValue = dto.getOldValue();
AuditStaffDTO oldAuditStaffDTO = JSONObject.parseObject(oldValue, AuditStaffDTO.class);
Integer t = oldAuditStaffDTO.getBindType();
if(t == 0){
//绑定
String staffName = oldAuditStaffDTO.getStaffName();
String clerkCode = oldAuditStaffDTO.getClerkCode();
String detail = staffName+"申请关联导购code:"+clerkCode;
dto.setDetail(detail);
}else{
//解绑
String staffName = oldAuditStaffDTO.getStaffName();
String clerkCode = oldAuditStaffDTO.getClerkCode();
String detail = staffName+"申请解绑导购code:"+clerkCode;
dto.setDetail(detail);
}
JSONObject newJSONObject = JSONObject.parseObject(newValue);
String newAddress = newJSONObject.get("storeAddress").toString();
detail = "将"+"门店地址"+"\""+oldAddress+"\""+"修改为"+"\""+newAddress+"\"";
}else if(StoreFieldEnum.STORE_IMAG.getValue().equals(t)){
detail = "门店图片变更";
} }
dto.setDetail(detail);
String storeName = map.get(dto.getCommitStoreId())==null?"":map.get(dto.getCommitStoreId()).getStoreName(); String storeName = map.get(dto.getCommitStoreId())==null?"":map.get(dto.getCommitStoreId()).getStoreName();
dto.setCommitStoreName(storeName); dto.setCommitStoreName(storeName);
} }
...@@ -137,14 +175,32 @@ public class AuditController extends WebBaseController{ ...@@ -137,14 +175,32 @@ public class AuditController extends WebBaseController{
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
StaffDTO staffDTO = staffApiService.selectById(staffId); StaffDTO staffDTO = staffApiService.selectById(staffId);
// StaffVO staffVO = new StaffVO();
// staffVO.setPhoneNumber(phoneNumber);
// staffVO.setNationCode(nationCode);
// staffVO.setPostion(postion);
return resultResponse(HaoBanErrCode.ERR_1,staffDTO); return resultResponse(HaoBanErrCode.ERR_1,staffDTO);
} }
//批量同意
@HttpLimit
@RequestMapping("batch-approve")
public HaobanResponse batchApprove(String auditIds,String auditName ) {
if(StringUtils.isAnyBlank(auditIds)){
return resultResponse(HaoBanErrCode.ERR_2);
}
String[] s = auditIds.split(",");
int successCount = 0;
int failCount = 0;
String batchId = UuidUtil.randomUUID();
for(String auditId : s){
String result = auditApiService.audit(auditId,auditName);
if(StringUtils.isEmpty(result)){
successCount = successCount+1;
//TODO 插入批量日志
}else{
failCount = failCount+1;
//TODO 插入批量日志
}
}
return resultResponse(HaoBanErrCode.ERR_1);
}
//审核拒绝 //审核拒绝
@HttpLimit @HttpLimit
......
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