Commit 91143804 by 墨竹

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

parents 66760382 97f2544f
...@@ -149,6 +149,9 @@ public class StaffClerkRelationDTO implements Serializable { ...@@ -149,6 +149,9 @@ public class StaffClerkRelationDTO implements Serializable {
} }
public Integer getOpenConcatFlag() { public Integer getOpenConcatFlag() {
if(null == openConcatFlag) {
return 0 ;
}
return openConcatFlag; return openConcatFlag;
} }
......
...@@ -26,6 +26,8 @@ public interface WxUserAddLogMapper { ...@@ -26,6 +26,8 @@ public interface WxUserAddLogMapper {
*/ */
public int insert(TabWxUserAddLog entity); public int insert(TabWxUserAddLog entity);
public int updateMemberInfo(TabWxUserAddLog entity);
/** /**
* *
* @Title: listAllForDel * @Title: listAllForDel
...@@ -47,9 +49,9 @@ public interface WxUserAddLogMapper { ...@@ -47,9 +49,9 @@ public interface WxUserAddLogMapper {
* @return * @return
* @throws * @throws
*/ */
public TabWxUserAddLog selectNewLog(@Param("externalUserid")String externalUserid, @Param("wxUserId")String wxUserId); public TabWxUserAddLog selectNewLog(@Param("externalUserid") String externalUserid,
@Param("wxUserId") String wxUserId);
/** /**
* *
* @Title: listAllForDel * @Title: listAllForDel
......
...@@ -27,7 +27,19 @@ public interface WxUserAddLogService { ...@@ -27,7 +27,19 @@ public interface WxUserAddLogService {
*/ */
public void save(WxUserAddLogQDTO qdto); public void save(WxUserAddLogQDTO qdto);
public void updateMemberInfo(String wxEnterpriseId , String wxUserId , String externalUserid , String memberId) ; /**
*
* @Title: updateMemberInfo
* @Description: 更新会员信息
* @author xugh
* @param wxEnterpriseId
* @param enterpriseId
* @param staffId
* @param externalUserid
* @param memberId
* @throws
*/
public void updateMemberInfo(String wxEnterpriseId , String enterpriseId , String staffId , String externalUserid , String memberId) ;
/** /**
* *
......
package com.gic.haoban.manage.service.service.hm.impl; package com.gic.haoban.manage.service.service.hm.impl;
import java.util.Date;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -109,18 +111,31 @@ public class WxUserAddLogServiceImpl implements WxUserAddLogService { ...@@ -109,18 +111,31 @@ public class WxUserAddLogServiceImpl implements WxUserAddLogService {
this.wxUserAddLogMapper.insert(entity); this.wxUserAddLogMapper.insert(entity);
} }
@Override @Override
public void updateMemberInfo(String wxEnterpriseId, String wxUserId , String externalUserid, String memberId) { public void updateMemberInfo(String wxEnterpriseId, String enterpriseId, String staffId, String externalUserid,
String memberId) {
if (StringUtils.isNotBlank(memberId)) {
TabWxUserAddLog entity = new TabWxUserAddLog();
entity = this.addMemberInfo(enterpriseId, memberId, entity);
entity.setEnterpriseId(enterpriseId);
entity.setWxEnterpriseId(wxEnterpriseId);
entity.setExternalUserid(externalUserid);
entity.setStaffId(staffId);
if (null != entity) {
entity.setCreateTime(new Date());
this.wxUserAddLogMapper.updateMemberInfo(entity);
}
}
} }
// 冗余会员信息 // 冗余会员信息
private TabWxUserAddLog addMemberInfo(String enterpriseId, String memberId, TabWxUserAddLog entity) { private TabWxUserAddLog addMemberInfo(String enterpriseId, String memberId, TabWxUserAddLog entity) {
String returnFields = "memberId,photoUrl,name,nickName,cardNo,gradeId,gradeName,phoneNumber"; String returnFields = "memberId,photoUrl,name,nickName,cardNo,gradeId,gradeName,phoneNumber";
JSONObject memberObj = this.memberQueryService.queryDataSingle(enterpriseId, memberId, returnFields); JSONObject memberObj = this.memberQueryService.queryDataSingle(enterpriseId, memberId, returnFields);
if (null == memberObj) { if (null == memberObj) {
return entity; log.info("会员不存在,memberId={}", memberId);
return null;
} }
MemberDataDTO memberDataDTO = memberObj.toJavaObject(MemberDataDTO.class); MemberDataDTO memberDataDTO = memberObj.toJavaObject(MemberDataDTO.class);
entity.setMemberId(memberId); entity.setMemberId(memberId);
......
...@@ -381,7 +381,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -381,7 +381,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
} }
log.info("插入加好友日志"); log.info("插入加好友日志");
wxUserAddLogService.updateMemberInfo(wxEnterpriseId,externalUserId,memberId, null); wxUserAddLogService.updateMemberInfo(wxEnterpriseId,enterpriseId,staffId,externalUserId,memberId);
} }
/** /**
......
...@@ -279,6 +279,7 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -279,6 +279,7 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
if (openFlag == 1) { if (openFlag == 1) {
// 门店规则1推荐门店 2附件门店 // 门店规则1推荐门店 2附件门店
int storeType = storeRuleObj.getIntValue("store_type"); int storeType = storeRuleObj.getIntValue("store_type");
// 过滤有活码的门店
List<HmLinkStoreDTO> storeList = this.hmLinkStoreService.listByLinkId(wxEnterpriseId, enterpriseId, List<HmLinkStoreDTO> storeList = this.hmLinkStoreService.listByLinkId(wxEnterpriseId, enterpriseId,
linkId); linkId);
log.info("门店规则={},推荐门店列表={}", storeType, JSON.toJSONString(storeList)); log.info("门店规则={},推荐门店列表={}", storeType, JSON.toJSONString(storeList));
......
...@@ -176,6 +176,7 @@ ...@@ -176,6 +176,7 @@
interface="com.gic.enterprise.api.service.StoreWidgetService" timeout="10000" interface="com.gic.enterprise.api.service.StoreWidgetService" timeout="10000"
retries="0" check="false"/> retries="0" check="false"/>
<dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseUseForbidService" id="enterpriseUseForbidService"/> <dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseUseForbidService" id="enterpriseUseForbidService"/>
<dubbo:reference id="memberTagOpenApiService" interface="com.gic.member.tag.api.service.MemberTagOpenApiService" timeout="10000" retries="0" check="false"/>
......
...@@ -106,7 +106,8 @@ ...@@ -106,7 +106,8 @@
member_label_name, member_label_name,
create_time, create_time,
update_time, update_time,
all_del_flag add_time ,
all_del_flag
)VALUES( )VALUES(
#{logId,jdbcType=BIGINT}, #{logId,jdbcType=BIGINT},
#{wxEnterpriseId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
...@@ -139,11 +140,31 @@ ...@@ -139,11 +140,31 @@
#{memberLabelName,jdbcType=VARCHAR}, #{memberLabelName,jdbcType=VARCHAR},
now(), now(),
now(), now(),
now(),
#{allDelFlag,jdbcType=INTEGER} #{allDelFlag,jdbcType=INTEGER}
) )
]]> ]]>
</insert> </insert>
<update id="updateMemberInfo" parameterType="com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog">
UPDATE tab_haoban_wx_user_add_log SET
member_id=#{memberId,jdbcType=VARCHAR},
member_name=#{memberName,jdbcType=VARCHAR},
member_nick=#{memberNick,jdbcType=VARCHAR},
member_image=#{memberImage,jdbcType=VARCHAR},
member_phone=#{memberPhone,jdbcType=VARCHAR},
member_grade_id=#{memberGradeId,jdbcType=VARCHAR},
member_grade_name=#{memberGradeName,jdbcType=VARCHAR},
member_card_no=#{memberCardNo,jdbcType=VARCHAR},
<if test="null != createTime">
create_time = #{createTime} ,
</if>
update_time=now() WHERE
external_userid=#{externalUserid} and staff_id=#{staffId} and membre_id is null
</update>
<select id="listAllForDel" <select id="listAllForDel"
parameterType="com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog" parameterType="com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog"
resultMap="result-map-tabHaobanWxUserAddLog"> resultMap="result-map-tabHaobanWxUserAddLog">
...@@ -162,10 +183,13 @@ ...@@ -162,10 +183,13 @@
status_flag != 0 order by create_time desc limit 1 status_flag != 0 order by create_time desc limit 1
</select> </select>
<select id="listForPage" parameterType="com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogSearchQDTO" resultMap="result-map-tabHaobanWxUserAddLog"> <select id="listForPage"
parameterType="com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogSearchQDTO"
resultMap="result-map-tabHaobanWxUserAddLog">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List" />
from tab_haoban_wx_user_add_log where 1 from tab_haoban_wx_user_add_log where 1
and status_flag != 0 order by create_time desc and status_flag != 0 order by
create_time desc
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -319,7 +319,7 @@ public class LoginController extends WebBaseController { ...@@ -319,7 +319,7 @@ public class LoginController extends WebBaseController {
private String doLogin(String wxEnterpriseId, String gicEnterpriseId, String loginPhoneNumber, String loginChannel, private String doLogin(String wxEnterpriseId, String gicEnterpriseId, String loginPhoneNumber, String loginChannel,
HttpServletResponse response, String operationUserId, String userName) { HttpServletResponse response, String operationUserId, String userName) {
//运维单点登录信息:operationUserId userName : 运维realName //运维单点登录信息:operationUserId userName : 运维realName
logger.info("doLogin={},{}",gicEnterpriseId,loginPhoneNumber); logger.info("doLogin={},{},{},{}",gicEnterpriseId,loginPhoneNumber, operationUserId, userName);
WxApplicationDTO application = wxApplicationApiService.selectByWxEnterpriseIdAndApplicationType(wxEnterpriseId,2); WxApplicationDTO application = wxApplicationApiService.selectByWxEnterpriseIdAndApplicationType(wxEnterpriseId,2);
if (null == application) { if (null == application) {
logger.info("登录企业应用 没授权!gicEnterpriseId:{}", gicEnterpriseId); logger.info("登录企业应用 没授权!gicEnterpriseId:{}", gicEnterpriseId);
...@@ -567,7 +567,7 @@ public class LoginController extends WebBaseController { ...@@ -567,7 +567,7 @@ public class LoginController extends WebBaseController {
@RequestMapping("/gic-login-check") @RequestMapping("/gic-login-check")
@IgnoreLogin @IgnoreLogin
public ModelAndView gicLogin(String code, String hbEnt,String hbPage, String operationUserId, String userName) { public ModelAndView gicLogin(String code, String hbEnt,String hbPage, String operationUserId, String userName) {
logger.info("gic登录clerkId={},hbEnt={}", code, hbEnt); logger.info("gic登录clerkId={},hbEnt={},operationUserId={},userName={}", code, hbEnt, operationUserId, userName);
PowerClerkDTO clerkDTO = this.userService.haobanLoginBack(code); PowerClerkDTO clerkDTO = this.userService.haobanLoginBack(code);
if (clerkDTO == null) { if (clerkDTO == null) {
logger.info("从gic后台登录,传入clerkId={}无效", code); logger.info("从gic后台登录,传入clerkId={}无效", code);
......
...@@ -23,6 +23,7 @@ import com.gic.haoban.manage.api.enums.hm.HmWelcomeType; ...@@ -23,6 +23,7 @@ import com.gic.haoban.manage.api.enums.hm.HmWelcomeType;
import com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService; import com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService;
import com.gic.haoban.manage.api.service.out.WelcomeApiService; import com.gic.haoban.manage.api.service.out.WelcomeApiService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.log.LogRecordAfterServiceImpl;
import com.gic.haoban.manage.web.log.LogRecordUserServiceImpl; import com.gic.haoban.manage.web.log.LogRecordUserServiceImpl;
import com.gic.haoban.manage.web.qo.welcome.ListWelcomeQO; import com.gic.haoban.manage.web.qo.welcome.ListWelcomeQO;
import com.gic.haoban.manage.web.qo.welcome.SaveFriendSettingQO; import com.gic.haoban.manage.web.qo.welcome.SaveFriendSettingQO;
...@@ -31,6 +32,7 @@ import com.gic.log.record.anno.GicLogRecord; ...@@ -31,6 +32,7 @@ import com.gic.log.record.anno.GicLogRecord;
import com.gic.log.record.util.GicLogRecordCategoryEnum; import com.gic.log.record.util.GicLogRecordCategoryEnum;
import com.gic.log.record.util.GicLogRecordEvaluationContext; import com.gic.log.record.util.GicLogRecordEvaluationContext;
import com.gic.log.record.util.GicLogRecordOptTypeEnum; import com.gic.log.record.util.GicLogRecordOptTypeEnum;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -83,7 +85,7 @@ public class WelcomeController extends WebBaseController { ...@@ -83,7 +85,7 @@ public class WelcomeController extends WebBaseController {
* @date : 2022/2/11 * @date : 2022/2/11
*/ */
@GicLogRecord(value = "${#logContent}", category = GicLogRecordCategoryEnum.HUOMA, optType = GicLogRecordOptTypeEnum.WELCOME_ADD @GicLogRecord(value = "${#logContent}", category = GicLogRecordCategoryEnum.HUOMA, optType = GicLogRecordOptTypeEnum.WELCOME_ADD
,optPage = "引流链接-落地页模板", userFunc = LogRecordUserServiceImpl.class ) ,optPage = "欢迎语设置-新建欢迎语", userFunc = LogRecordUserServiceImpl.class, afterFunc = LogRecordAfterServiceImpl.class)
@RequestMapping(value = "/save", method = RequestMethod.POST) @RequestMapping(value = "/save", method = RequestMethod.POST)
public RestResponse<Boolean> saveWelcome(@RequestBody @Valid SaveWelcomeQO qo) { public RestResponse<Boolean> saveWelcome(@RequestBody @Valid SaveWelcomeQO qo) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
...@@ -107,19 +109,27 @@ public class WelcomeController extends WebBaseController { ...@@ -107,19 +109,27 @@ public class WelcomeController extends WebBaseController {
qdto.setType(HmWelcomeType.NORMAL.getCode()); qdto.setType(HmWelcomeType.NORMAL.getCode());
} }
String logContent = ""; String logContent = "";
if (HmWelcomeType.NORMAL.getCode().equals(qdto.getType())){
GicLogRecordEvaluationContext.putAttribute(LogRecordAfterServiceImpl.WELCOME_TYPE, HmWelcomeType.NORMAL.getCode());
logContent = "新增普通欢迎语";
}else {
GicLogRecordEvaluationContext.putAttribute(LogRecordAfterServiceImpl.WELCOME_TYPE, HmWelcomeType.SPECIAL.getCode());
logContent = "新增特殊欢迎语";
}
if (qdto.getWelcomeId() == null) { if (qdto.getWelcomeId() == null) {
logContent = "新增特殊欢迎语【" + qdto.getTitle() + "】"; logContent = logContent + "【" + qdto.getTitle() + "】";
GicLogRecordEvaluationContext.putAttribute(LogRecordAfterServiceImpl.WELCOME_OPT, "add");
} else { } else {
GicLogRecordEvaluationContext.putAttribute(LogRecordAfterServiceImpl.WELCOME_OPT, "edit");
ServiceResponse<WelcomeDetailDTO> welcomeResult = welcomeApiService.getWelcome(qdto.getWelcomeId(), qdto.getWxEnterpriseId()); ServiceResponse<WelcomeDetailDTO> welcomeResult = welcomeApiService.getWelcome(qdto.getWelcomeId(), qdto.getWxEnterpriseId());
if (welcomeResult.getResult() != null) { if (welcomeResult.getResult() != null) {
//
WelcomeDetailDTO welcomeDetail = welcomeResult.getResult(); WelcomeDetailDTO welcomeDetail = welcomeResult.getResult();
logContent = this.buildEditWelcomeOpLog(welcomeDetail, qdto); logContent = this.buildEditWelcomeOpLog(welcomeDetail, qdto);
} }
} }
GicLogRecordEvaluationContext.putAttribute("logContent", logContent); GicLogRecordEvaluationContext.putAttribute("logContent", logContent);
ServiceResponse<Boolean> response = welcomeApiService.saveWelcome(qdto); ServiceResponse<Boolean> response = welcomeApiService.saveWelcome(qdto);
if (response.isSuccess()){ if (!response.isSuccess()){
GicLogRecordEvaluationContext.noWriteLog(); GicLogRecordEvaluationContext.noWriteLog();
} }
return RestResponse.successResult(response.getResult()); return RestResponse.successResult(response.getResult());
...@@ -141,8 +151,10 @@ public class WelcomeController extends WebBaseController { ...@@ -141,8 +151,10 @@ public class WelcomeController extends WebBaseController {
oldMedia.add(WelcomeMediaTypeEnum.getDescByCode(welcomeMediaDTO.getMediaType()) + "-" + welcomeMediaDTO.getMediaTitle()); oldMedia.add(WelcomeMediaTypeEnum.getDescByCode(welcomeMediaDTO.getMediaType()) + "-" + welcomeMediaDTO.getMediaTitle());
} }
List<String> newMedia = new ArrayList<>(); List<String> newMedia = new ArrayList<>();
for (SaveWelcomeMediaQDTO saveWelcomeMediaQDTO : qdto.getWelcomeMediaList()) { if (CollectionUtils.isNotEmpty(qdto.getWelcomeMediaList())) {
newMedia.add(WelcomeMediaTypeEnum.getDescByCode(saveWelcomeMediaQDTO.getMediaType()) + "-" + saveWelcomeMediaQDTO.getMediaTitle()); for (SaveWelcomeMediaQDTO saveWelcomeMediaQDTO : qdto.getWelcomeMediaList()) {
newMedia.add(WelcomeMediaTypeEnum.getDescByCode(saveWelcomeMediaQDTO.getMediaType()) + "-" + saveWelcomeMediaQDTO.getMediaTitle());
}
} }
stringBuilder.append(StringUtils.join(oldMedia, "、")) stringBuilder.append(StringUtils.join(oldMedia, "、"))
.append("」变更为「") .append("」变更为「")
...@@ -160,7 +172,7 @@ public class WelcomeController extends WebBaseController { ...@@ -160,7 +172,7 @@ public class WelcomeController extends WebBaseController {
* @date : 2022/2/11 * @date : 2022/2/11
*/ */
@GicLogRecord(value = "${#logContent}", category = GicLogRecordCategoryEnum.HUOMA, optType = GicLogRecordOptTypeEnum.WELCOM_DEL @GicLogRecord(value = "${#logContent}", category = GicLogRecordCategoryEnum.HUOMA, optType = GicLogRecordOptTypeEnum.WELCOM_DEL
,optPage = "引流链接-落地页模板", userFunc = LogRecordUserServiceImpl.class ) ,optPage = "欢迎语设置-特殊欢迎语", userFunc = LogRecordUserServiceImpl.class )
@RequestMapping(value = "/remove") @RequestMapping(value = "/remove")
public RestResponse<?> removeWelcome(@RequestParam("welcomeId") String welcomeId) { public RestResponse<?> removeWelcome(@RequestParam("welcomeId") String welcomeId) {
if (StringUtils.isEmpty(welcomeId)) { if (StringUtils.isEmpty(welcomeId)) {
......
package com.gic.haoban.manage.web.log;
import com.gic.log.record.bean.GicLogRecordBean;
import com.gic.log.record.service.LogRecordAfterService;
import com.gic.log.record.util.GicLogRecordEvaluationContext;
import com.gic.log.record.util.GicLogRecordOptTypeEnum;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
/**
* @Author MUSI
* @Date 2022/7/15 11:50 AM
* @Description
* @Version
**/
@Component
public class LogRecordAfterServiceImpl extends LogRecordAfterService {
public static final String WELCOME_TYPE = "welcome_type";
public static final String WELCOME_OPT = "welcome_opt";
@Override
public void deal(GicLogRecordBean gicLogRecordBean) {
String value = GicLogRecordEvaluationContext.getAttribute(WELCOME_OPT, String.class);
if ("add".equals(value)){
// 新建普通欢迎语
this.changeLogRecordOptType(gicLogRecordBean, GicLogRecordOptTypeEnum.WELCOME_ADD);
}
if (StringUtils.equals("edit", value)){
// 编辑普通欢迎语
this.changeLogRecordOptType(gicLogRecordBean, GicLogRecordOptTypeEnum.WELCOM_UPDATE);
}
}
private void changeLogRecordOptType(GicLogRecordBean gicLogRecordBean, GicLogRecordOptTypeEnum optTypeEnum){
if (gicLogRecordBean == null || optTypeEnum == null){
return;
}
gicLogRecordBean.setOptType(optTypeEnum.getType());
gicLogRecordBean.setOptTypeName(optTypeEnum.getName());
gicLogRecordBean.setSystemType(optTypeEnum.getSystemType());
}
}
...@@ -22,6 +22,12 @@ public class WebLoginVO implements Serializable { ...@@ -22,6 +22,12 @@ public class WebLoginVO implements Serializable {
private String gicHost ; private String gicHost ;
private String staffId ; private String staffId ;
/**
* 运维登录相关信息。新版运维登录、运维登录GIC再登录好办
*/
private String operationUserId;
private String operationUserName;
public String getStaffId() { public String getStaffId() {
return staffId; return staffId;
} }
...@@ -125,4 +131,22 @@ public class WebLoginVO implements Serializable { ...@@ -125,4 +131,22 @@ public class WebLoginVO implements Serializable {
public void setEnterpriseId(String enterpriseId) { public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId; this.enterpriseId = enterpriseId;
} }
public String getOperationUserId() {
return operationUserId;
}
public WebLoginVO setOperationUserId(String operationUserId) {
this.operationUserId = operationUserId;
return this;
}
public String getOperationUserName() {
return operationUserName;
}
public WebLoginVO setOperationUserName(String operationUserName) {
this.operationUserName = operationUserName;
return this;
}
} }
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