back_recharge
lvxinran 2020-04-21 17:37:48 +08:00
commit 5b18de9941
4 changed files with 88 additions and 5 deletions

View File

@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Ldb > <Ldb >
<Jbean name="ItemEntity">
<Variable name="id" type="int"/>
<Variable name="uniqueid" type="long"/>
<Variable name="count" type="int"/>
<Variable name="position" type="int"/>包裹属性位置。从0开始编号
<Variable name="createTime" type="int"/>
</Jbean>
<Jbean name="BagEntity">
<Variable name="bagid" type="long"/>
<Variable name="nextId" type="int"/>
<Variable name="capacity" type="int"/>
<Variable name="itemMap" type="map" key="int" value="ItemEntity" /> 道具map
</Jbean>
<Jbean name="BagManager">背包管理器
<Variable name="bagMap" type="map" key="int" value="BagEntity" />背包map
</Jbean>
<Jbean name="PropertyItem"> <Jbean name="PropertyItem">
<Variable name="id" type="string"/> <Variable name="id" type="string"/>
<Variable name="equipId" type="int"/> <Variable name="equipId" type="int"/>

View File

@ -40,6 +40,20 @@ class JbeanFormatter {
ps.println(" public " + cls + "() {"); ps.println(" public " + cls + "() {");
ps.println(" }"); ps.println(" }");
ps.println(); ps.println();
ps.println();
ps.println(" public " + cls + "(" + cls + " _o_ ) {");
variables.forEach(var -> VarDeepCopy.make(var, ps, " "));
ps.println(" }");
ps.println();
//
// ps.println(" public void copyFrom(" + cls + " _o_) {");
// variables.forEach(var -> VarCopyFrom.make(var, ps, " "));
// ps.println(" }");
// ps.println();
//MethodSetMongoKey.make(variables, ps, " "); //MethodSetMongoKey.make(variables, ps, " ");
// getter setter // getter setter
variables.forEach(var -> MethodVarGetter.make(var, ps, " ")); variables.forEach(var -> MethodVarGetter.make(var, ps, " "));

View File

@ -35,17 +35,21 @@ import util.StringUtil;
import util.TimeUtils; import util.TimeUtils;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.util.HashMap; import java.util.*;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
/** /**
* *
* - * -
* 11.22 sessionmanager * 11.22 sessionmanager
* *
* 4.21
*
*
* handler +Handler e.g: ModItemNumIndication -> ModItemNumIndicationHandler
* 使
*
*/ */
@Component @Component
public class ProtocolsManager implements ProtocolsAbstract { public class ProtocolsManager implements ProtocolsAbstract {
@ -81,11 +85,29 @@ public class ProtocolsManager implements ProtocolsAbstract {
private void addHandler(BaseHandler handler) { private void addHandler(BaseHandler handler) {
if(null==handler.getMessageCode()){ if(null==handler.getMessageCode()){
String simpleName = handler.getClass().getSimpleName();
int index = simpleName.indexOf("Handler");
if(index != -1)
{
simpleName = simpleName.substring(0, index);
int number = getProtoIdBySimpleName(simpleName);
handlers.put(number, handler);
}
return; return;
} }
handlers.put(handler.getMessageCode().getNumber(), handler); handlers.put(handler.getMessageCode().getNumber(), handler);
} }
public static int getProtoIdBySimpleName(String name){
try {
MessageTypeProto.MessageType messageType = MessageTypeProto.MessageType.valueOf(name);
return messageType.getNumber();
}catch (IllegalArgumentException e){
return 0;
}
}
public void processMessage(PacketNetData packetNetData) { public void processMessage(PacketNetData packetNetData) {

View File

@ -18,6 +18,7 @@ import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.netty.PackageConstant; import com.ljsd.jieling.netty.PackageConstant;
import com.ljsd.jieling.netty.cocdex.Tea; import com.ljsd.jieling.netty.cocdex.Tea;
import com.ljsd.jieling.network.server.ProtocolsManager;
import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.*; import com.ljsd.jieling.protocols.*;
import config.SErrorCodeEerverConfig; import config.SErrorCodeEerverConfig;
@ -60,7 +61,9 @@ public class MessageUtil {
System.arraycopy(backMessage, 0, bytes, pos, backMessage.length); System.arraycopy(backMessage, 0, bytes, pos, backMessage.length);
} }
int[] secretKey = Tea.KEY; int[] secretKey = Tea.KEY;
return Tea.encrypt2(bytes, secretKey); byte[] bytes1 = Tea.encrypt2(bytes, secretKey);
LOGGER.info("sendbyte"+bytes1.length);
return bytes1;
} }
public static void sendMessage(int[] uids, int result, int msgId, GeneratedMessage generatedMessage, boolean flush) { public static void sendMessage(int[] uids, int result, int msgId, GeneratedMessage generatedMessage, boolean flush) {
@ -140,6 +143,28 @@ public class MessageUtil {
session.putBackIndicationToMap(indicationIndex,byteBuf); session.putBackIndicationToMap(indicationIndex,byteBuf);
} }
/**
* 30000
* @param generatedMessage
*/
public static void sendIndicationMessage(int uid, GeneratedMessage generatedMessage) {
ISession session = OnlineUserManager.getSessionByUid(uid);
if(null == session){
return;
}
if(session.getFiveReady() == 0){
return;
}
int indicationIndex = session.getIndicationIndex();
int msgId = ProtocolsManager.getProtoIdBySimpleName(generatedMessage.getClass().getSimpleName());
if(msgId==0){
return;
}
byte[] byteBuf = wrappedBuffer(session.getUid(), session.getToken(), indicationIndex,1, msgId, generatedMessage);
session.write(byteBuf,true);
session.putBackIndicationToMap(indicationIndex,byteBuf);
}
public static void retrySendIndication( ISession session, byte[] byteBuf){ public static void retrySendIndication( ISession session, byte[] byteBuf){
session.writeAndFlush(byteBuf); session.writeAndFlush(byteBuf);
} }